1 / 13

Z39.50 & XML

Z39.50 & XML. Poul Henrik Jørgensen, phj@dbc.dk Danish Bibliographic Centre www.dbc.dk. Background. Moderate number of Z39.50 Servers Little take-up outside major research libraries Many limited to basic search and retrieval Mostly used for Web-to-Z gateways

helen
Download Presentation

Z39.50 & XML

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. Z39.50 & XML Poul Henrik Jørgensen, phj@dbc.dk Danish Bibliographic Centre www.dbc.dk

  2. Background • Moderate number of Z39.50 Servers • Little take-up outside major research libraries • Many limited to basic search and retrieval • Mostly used for Web-to-Z gateways • Requirements for related services, e.g. Item Order or Circulation • Time-consuming to implementZ39.50 Poul Henrik Jørgensen, DBC

  3. Issues • Technology is alien to mainstream IT infrastructure • Limited development tools • Few developers • Proprietary C-libraries • Inaccessible specifications. • Plethora of esoteric features • No common (object-based) API • BER data format is not eye-readable Poul Henrik Jørgensen, DBC

  4. Objectives • Leverage investments in existing Z39.50 Services and specifications • Simplify Z39.50 implementation • Facilitate interoperability with other relevant standards • Foster migration of Z39.50 functionality to mainstream IT technologies Poul Henrik Jørgensen, DBC

  5. First Steps • Introduce XML as Z39.50 Transfer Syntax • Specify new Z39.50 data structures as XML Schemas • Encode complex hierarchical data within XML documents • Use XML as alternative to GRS-1 Poul Henrik Jørgensen, DBC

  6. XML structures in Z39.50 • Holdings XML Schema • www.portia.dk/zholdings/Holdings6a/HoldingsSchema6a.xsd • ExplainLite Server information • www.one-2.org • Dublin Core/RDF • Extended Services Task Packages Poul Henrik Jørgensen, DBC

  7. SOAP Overview • SOAP is a protocol to transport XML data • Initially designed for Remote Procedure Calls • Utilise normal HTTP POST to send a Request and receive Response from a Web (SOAP) Server • Parameters are carried as XML structures within normal HTTP body • Primary input to W3C XML Protocol work • http://www.w3.org/TR/SOAP/ Poul Henrik Jørgensen, DBC

  8. ZML: Z39.50 over SOAP • Existing ASN.a protocol elements encoded as XER Structures • Relevant Z39.50 Services mapped to SOAP Request/Response functions over HTTP • Protocol parameters encoded as XML SOAP parameters via XER • Existing Web-to-Z gateways may be enhanced with SOAP-to-Z gateways Poul Henrik Jørgensen, DBC

  9. Init Request Example <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:preferredMessageSize 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

  10. Interface Specs. in WSDL • WSDL is a formal top-down method to specify interfaces to Web (SOAP) Services • http://www.w3.org/Submission/2001/07/ • General interfaces to eZ3950, NCIP and related protocols can be specified with XML Schemas and WSDL • http://www.portia.dk/pubs/NCIP/NCIP_v0_1a.xsd • http://www.portia.dk/pubs/NCIP/PortTypes.wsdl Poul Henrik Jørgensen, DBC

  11. NCIP WSDL Example <!--Authenticate User porttype--> <message name="AuthenticateUserRequest"> <partname="body" element="xsd1:AuthenticateUser" /> </message> <message name="AuthenticateUserResponse"> <partname="body" element="xsd1:AuthenticateUserResponse"/> </message> <portType name="AuthenticateUserPortType"> <operation name="AuthenticateUser"> <inputmessage="tns:AuthenticateUserRequest" /> <outputmessage="tns:AuthenticateUserResponse"/> </operation> </portType> Poul Henrik Jørgensen, DBC

  12. ZML Development • ZML Profile of Z39.50 over SOAP • Optional Init & Close • Search & Scan based on Bath Profile • ISO2709/XML Present format • by Ray Denenberg & P.H. Jørgensen • ZML Server & Client prototypes • Common Z39.50 Testbed Poul Henrik Jørgensen, DBC

  13. Conclusions • XML is already implemented within several Z39.50 functions • XML is easier and more flexible than ASN.1/BER in practice • Most of Z39.50 can be migráted to XML/SOAP (eZ3950) • Interoperability with related SOAP based protocols can be facilitated via comon WSDL interface specifications Poul Henrik Jørgensen, DBC

More Related