Z39.50 and XML CNI Spring 2001

Download Report

Transcript Z39.50 and XML CNI Spring 2001

Z39.50 & XML
Poul Henrik Jørgensen,
[email protected]
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
Requirements for related services, e.g. Item
Order or Circulation
Time-consuming to implement Z39.50
Z39.50 & XML
Poul Henrik Jørgensen, DBC
2
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
3
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
4
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
5
XML structures in Z39.50

Holdings XML Schema


ExplainLite Server information



www.portia.dk/zholdings/Holdings6a/Holdin
gsSchema6a.xsd
www.one-2.org
Dublin Core/RDF
Extended Services Task Packages
Z39.50 & XML
Poul Henrik Jørgensen, DBC
6
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/
Z39.50 & XML
Poul Henrik Jørgensen, DBC
7
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
8
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>
Z39.50 & XML
Poul Henrik Jørgensen, DBC
9
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
10
NCIP WSDL Example
<!-- Authenticate User porttype -->
<message name="AuthenticateUserRequest">
<part name="body" element="xsd1:AuthenticateUser" />
</message>
<message name="AuthenticateUserResponse">
<part name="body" element="xsd1:AuthenticateUserResponse"/>
</message>
<portType name="AuthenticateUserPortType">
<operation name="AuthenticateUser">
<input message="tns:AuthenticateUserRequest" />
<output message="tns:AuthenticateUserResponse"/>
</operation>
</portType>
Z39.50 & XML
Poul Henrik Jørgensen, DBC
11
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
12
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
Z39.50 & XML
Poul Henrik Jørgensen, DBC
13