DAP4, SOAP and THREDDS

8
DAP4, SOAP and THREDDS James Gallagher OPeNDAP Presented by Steve Hankin

description

DAP4, SOAP and THREDDS. James Gallagher OPeNDAP Presented by Steve Hankin. Overview. DAP2 and DAP4: Caveat, DAP4 is still in development. DAP4 SOAP interfaces SOAP and binary data SOAP and REST. Metadata in two responses: DAS & DDS Encoded using ‘unique’ notation - PowerPoint PPT Presentation

Transcript of DAP4, SOAP and THREDDS

Page 1: DAP4, SOAP and THREDDS

DAP4, SOAP and THREDDS

James Gallagher

OPeNDAP

Presented by Steve Hankin

Page 2: DAP4, SOAP and THREDDS

Overview

• DAP2 and DAP4: Caveat, DAP4 is still in development.

• DAP4 SOAP interfaces

• SOAP and binary data

• SOAP and REST

Page 3: DAP4, SOAP and THREDDS

DAP 2 versus DAP 4

• Metadata in two responses: DAS & DDS

• Encoded using ‘unique’ notation

• Data returned in non-standard document mixing text and binary

• REST interface only

• Metadata in one response: DDX

• Encoded using XML• Data returned in a

Multipart-MIME document; text/xml and binary

• Both SOAP and REST interfaces

Page 4: DAP4, SOAP and THREDDS

Other Responses

• Most DAP servers support additional responses such as: ASCII, HTML interface for data requests, version information, directory browsing

• These ‘other responses’ will be documented more formally.

• The ad hoc directory response will be replaced by THREDDS in OPeNDAP’s servers.

Page 5: DAP4, SOAP and THREDDS

THREDDS

• The DAP2 servers from OPeNDAP (and most other sources) supported a very limited ‘directory browsing feature:’– Tied to the file system which held data files– Unable to support data in databases– Dependent on a web daemon to provide the HTML

directory listing; varied from server to server

• THREDDS improves this by:– Supports provider-defined organizations for data– No longer dependent on files and file systems– Uniform across different servers

Page 6: DAP4, SOAP and THREDDS

About the SOAP Interface• Requests:

– GetVersion: DAP protocol version– GetDDX: Metadata– GetData: Data– GetTHREDDSCatalog: Machine readable catalog

• Responses:– Version, DDX, DataDDX, ErrorX, THREDDS– Each response contains the matching request

• Pooling: Each request includes a Request ID and several requests can be sent to the server in one SOAP envelope.

• DAP4 uses ‘SOAP with Attachments’ (SWA)

Page 7: DAP4, SOAP and THREDDS

SOAP and Binary Data• There are two general ways to send binary data and

XML:– “Out-of-band transmissions” (embed a URL)– SWA

• Out-of-band is simple, but not standard• SWA: briefly, this uses a multipart MIME document

where the XML is in the ‘main’ part and zero or more binary parts are in attachments.

• SWA is as efficient as Out-of-band because:– once the SOAP envelope is closed, the response can be

sent, which provides a way to stream the binary data.– Non-xml information is never seen by the XML parser.

Page 8: DAP4, SOAP and THREDDS

SOAP versus REST

• SOAP:– Standard– Integrated discovery mechanism– Good for machine-to-machine interactions

• REST/GET:– Entire request encoded in URL - Simple– Integrates well with web browsers– Works well with hypertext/human interfaces

• Strategy: Support both– design systems so that’s easy