1 / 14

ez3950 SOAP & Z39.50

ez3950 SOAP & Z39.50. ZIG December 2000 at LC Poul Henrik Jørgensen, DBC mailto:phj@dbc.dk. Background & Objectives. Z39.50 Difficult to understand and debug Use human-readable encoding Technology seems obscure to implementors Adopt emerging XML standards

Download Presentation

ez3950 SOAP & Z39.50

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ez3950SOAP & Z39.50 ZIG December 2000 at LC Poul Henrik Jørgensen, DBC mailto:phj@dbc.dk

  2. Background & Objectives • Z39.50 Difficult to understand and debug • Use human-readable encoding • Technology seems obscure to implementors • Adopt emerging XML standards • Ignored by mainstream development tools • Use widespread XML tools • Object Oriented development paradigma • Specify Object RPC API Poul Henrik Jørgensen, DBC

  3. Communication Models • Message-passing with optional queuing • E.g. ISO ILL (almost) • Applications must handle asynchronous messages from concurrent external processes • Request/Response • E.g. Z39.50 (almost) • Client initiates request and waits for matching response from remote process • Resembles Remote Procedure Calls (RPC) Poul Henrik Jørgensen, DBC

  4. RPC Standards • RPC Standards • SUN RPC, e.g. Network File System NFS • DCE RPC, e.g. Windows NT • HTTP • Object RPC Standards • CORBA Internet Inter-Orb Protocol, IIOP • MS Distributed COM, DCOM Poul Henrik Jørgensen, DBC

  5. Request Object Id Interface Id Method Id Extension Headers Parameter Data Response Status code Extension Headers Parameter Data Object RPC Elements Poul Henrik Jørgensen, DBC

  6. SOAP Overview • HTTP supports most of the same functions as IIOP and DCOM (framing, connection management, object references) • XLM is well suited to represent to represent parameter data (cf. NDR and • SOAP = HTTP (transport) + XML (parameter encoding) Poul Henrik Jørgensen, DBC

  7. SOAP Elements • HTTP Header • Request URI: SOAP ClassId and ObjectId • SOAPAction: InterfaceId and Method • SOAP Envelope (XML Structure) • Header (Optional protocol data) • Body • RPC Parameters • Error Reports Poul Henrik Jørgensen, DBC

  8. SOAP HTTP Request POST /ZServ/Danbib HTTP/1.1 Host: zoap.dbc.dk Content-Type: text/xml; charset="utf-8" Content-Length: 1234 SOAPAction: ="urn:ez3950:api" <soap:Envelope ...request parameters.. </soap:Envelope> Poul Henrik Jørgensen, DBC

  9. SOAP HTTP Response 200 OK Content-Type: text/xml Content-Length: 123 <Envelope ...response data & error reports... </Envelope> Poul Henrik Jørgensen, DBC

  10. eZ3950: Z39.50 over SOAP • Specification of e-Z39.50 API • Complete Z39.50 Protocol over SOAP • ASN.1 encoded by XER • General IR API (GIR:API) features • Asyncronous Services excluded • triggerResourceControlRequest • segmentRequest Poul Henrik Jørgensen, DBC

  11. Init search present deleteResultSet accessControl resourceControl resourceReport scan sort extendedServices close eZ3950 Methods Poul Henrik Jørgensen, DBC

  12. eZ3950 Init Request <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Body> <ez:init xmlns:ez="urn:ez3950:api" version="1.0"> <ez:protocolVersion xsi:type="xsd:string"> version-1 version-2</ez:protocolVersion> <ez:options xsi:type="xsd:string">search present scan</ez:options> <ez:preferredMessageSiz xsi:type="xsd:int">16384</ez:preferredMessageSize> <ez:exceptionalRecordSize xsi:type="xsd:int">500000</ez:exceptionalRecordSize> <ez:implementationId xsi:type="xsd:string">1995</ez:implementationId> <ez:implementationName xsi:type="xsd:string"> OCLC z39.50 API</ez:implementationName> <ez:implementationVersion xsi:type="xsd:string">3.0</ez:implementationVersion> </ez:init> </SOAP:Body> </SOAP:Envelope> Poul Henrik Jørgensen, DBC

  13. eZ3950 Init Response <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:initResponse xmlns:ns1="urn:ez3950:api" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="ns1:parm"> <implementationId xsi:type="xsd:string">"JAFER"</implementationId> <idAuthentication xsi:type="ns1:idAuthentication" xsi:null="true"/> <exceptionalRecordSize xsi:type="xsd:int">500000</exceptionalRecordSize> <preferredMessageSize xsi:type="xsd:int">16384</preferredMessageSize> <implementationVersion xsi:type="xsd:string">"JAFER"</implementationVersion> <result xsi:type="xsd:boolean">true</result> <options xsi:type="xsd:string">search present</options> </return> </ns1:initResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Poul Henrik Jørgensen, DBC

  14. Benefits of eZ3950 • Supports entire Z90.50 protocol • XER standard with tools to encode ASN.1 • Readable XML encoding of Z39.50 • Object RPC model of Z39.50 services • Platform independent API for e-Z39.50 • Tools from major vendors • Acceptance among developers and executives Poul Henrik Jørgensen, DBC

More Related