200 likes | 306 Views
Z39.50 as a Web Service. Ralph LeVan Research Scientist. Roadmap. Why Z39.50 as a Web Service? The Weaknesses of Classic Z39.50 The Strengths of Classic Z39.50 SRW: Search and Retrieve on the Web SRU: Search and Retrieve with URL’s Outlook for SRW/SRU. The Weaknesses of Classic Z39.50.
E N D
Z39.50 as a Web Service Ralph LeVan Research Scientist
Roadmap • Why Z39.50 as a Web Service? • The Weaknesses of Classic Z39.50 • The Strengths of Classic Z39.50 • SRW: Search and Retrieve on the Web • SRU: Search and Retrieve with URL’s • Outlook for SRW/SRU
The Weaknesses of Classic Z39.50 • Not popular with the Web community • Connection-based Sessions • Binary Encoding • Transmitted directly over TCP/IP • Complicated
Z39.50 Complicated? • 11 Native Services • Init, Search, Present, DeleteResultSet, AccessControl, ResourceControl, TriggerResourceControl, ResourceReport, Scan, Sort, Segment. • 7 Extended Services • PersistentResultSet, PersistentQuery, PeriodicQuerySchedule, ItemOrder, DatabaseUpdate, ExportSpecification, ExportInvocation
Z39.50 Complicated? • 156 page standard • 147 in the 2002 draft • Vocabulary from the OSI community • Target, Origin, APDU, A-association, Z-association.. • Records described with ASN.1 • Attribute Sets
The Strengths of Classic Z39.50 • Result Sets (a.k.a. Statefulness) • Abstraction • Abstract Access Points (Attribute Sets) • Abstract Record Schemas • Explain
SRW: Search and Retrieve on the Web • SOAP (Simple Object Access Protocol) Based • HTTP • XML • Records Described in WSDL (Web Service Description Language) • 1 Service: SearchAndRetrieve • No Documentation :-)
Semantically equivalent to classic Z39.50 • Gateways Trivial • Preserves the experience of the ZIG without the baggage of the standard • Syntactic equivalence discounted
SRW: The Basics • Only one database per request • String (not structure) based queries • Index Sets, not Attribute Sets • One Record Syntax (XML)
The SRW Request • String Query • Integer StartRecord • Integer MaximumRecords • String RecordSchema
The SOAP Encoding of the SRW Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/ xmlns:xsi=http://www.w3.org/1999/XMLSchema-instance xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:searchRetrieve xmlns:ns1="urn:z3950:ZNG_Prototype1" SOAP-ENC:root="1"> <v1 xsi:type="xsd:str">nuclear</v1> <v2 xsi:type="xsd:int">4</v2> <v3 xsi:type="xsd:int">1</v3> <v4 xsi:type="xsd:str"></v4> <v5 xsi:type="xsd:str"></v5> </ns1:searchRetrieve> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The SRW Response • String ResultSetReference • ResultSetName • ResultSetTimeToLive • Integer TotalHits • Records • Status (Status Code & Diagnostic)
The SOAP Encoding of the SRW Response <SOAP-ENV:Envelope … ><SOAP-ENV:Body> <ns1:searchRetrieveResponse xmlns:ns1="urn:z3950:ZNG_Prototype1“ SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="xsd:string"><?xml version='1.0' encoding='UTF-8'?> <searchRetrieveResponse xmlns='urn:z3950:ZNG_Prototype1'> <totalHits>115</totalHits> <records><record><schema>http://purl.org/dc/elements/1.1/</schema> <recordData> … </recordData> </record></records> <status><statusCode>0</statusCode></status> </searchRetrieveResponse></return> </ns1:searchRetrieveResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>
The SOAP Encoding of the SRW Response <dc:dc xmlns:dc='http://purl.org/dc/elements/1.1/‘ xmlns:t='http://www.ndltd.org/standards/metadata/etdms/1.0/‘ xmlns='http://www.w3.org/TR/xhtml1/strict'> <language/><date>1971</date><type/><identifier/><coverage/> <subject>Pions--Scattering.</subject> <creator>Garland, Richard.</creator> <title>Measurement of the charged pion form factor slope at rest.</title> <publisher>Irvington-on-Hudson, N.Y.,Nevis Laboratories, Columbia University,</publisher> <format/><relation/></dc:dc>
CQL: Common Query Language • Loosely based on CCL Search • Boolean & Proximity Operators • Index Sets & Indexes • Truncation Characters ‘*’, ‘#’ & ‘?’ • Example: dc.title=“harry potter” or bib1.isbn=123-456-78x
Explain Now Possible • Not practical for classic Z39.50 • List of supported Schemas • List of supported Indexes
SRU: Search and Retrieve with URL’s • SRW Without the SOAP Wrapper • Intended for Thin Clients • Example http://alcme.oclc.org/axis/SOAR/services/SearchRetrieveService?query=education&maxRecords=10
Outlook for SRW/SRU • A solution looking for a problem? • Not likely to be quickly adopted by the library community • Could show up first in other communities: Geospatial, Biodiversity, OAI(?) • Will be seen as a competitor with XML Query
Links • http://www.loc.gov/z3950/agency/zing/zing.html • http://staff.oclc.org/~levan/docs/srw-niso20030430.ppt
& Questions nswers A