80 likes | 270 Views
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
E N D
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 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 DAP 2 versus DAP 4
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.
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
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)
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.
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