Z39.50 and the ZING Initiatives: MAVIS Users Conference, 2003 November 6, 2003 Larry E. Dixson Library of Congress
Presentation Overview l Z39.50 Description and History l Z39.50 Maintenance l Z39.50 Interoperability l Z39.50 Profiles l ZING Initiatives
Z39.50 Description l National and international standard l Client / server environment l Client developer controls display l Examples: »Language preference »System display preference »Retrieve records into an application
Z39.50 Historical Development 1982: LSP/ Information Retrieval 1983: LSP/IR submitted as ANSI standard 1984: ISO SR introduced 1988: NISO Z : LC Maintenance Agency 1990: Z39.50 Implementors’ Group 1991: ISO SR approved ( ) 1992: NISO Z : NISO Z : ISO IR : ZING (Z39.50 International: Next Generation)
Z39.50 Maintenance l Z39.50 Maintenance Agency at LC » »Editor: Ray Denenberg »Z Document l Z39.50 Implementors’ Group » meetings.html »
Z39.50 Interoperability Why aren’t all Z39.50 implementations the same? l Z39.50 implemented by existing, mature search systems with different search behavior l Indexing not standardized across systems l Bibliographic community did not profile prior to implementing protocol in 1992 – search functionality was decided by each system vendor l Implementors sometimes differed on interpretation of the standard
Z39.50 Profiles l Profiles developed by committee »Customer base »Vendors »Protocol experts l Reasons for profiles »Specification for vendors (interoperability) »Specification for customers (procurement)
Z39.50 Profile Examples l Bath Profile (International) » l US National Profile (Z39.89) » ns.htmhttp:// ns.htm l Other Profiles » les.htmlhttp://lcweb.loc.gov/z3950/agency/profiles/profi les.html
Z39.50 Characteristics l Large, complex standard, rich in functionality l Implementations are subsets of the standard l Pre-dates the Web – connection oriented and transfer syntax not human readable l Z39.50 session data units: –TCP/IP (request and response) –Initialization (request and response) –Search (request and response) –Present (request and response) –Close (request and response)
Z39.50 Search Request attributeType1 numeric1003 attributeType2 numeric3 attributeType3 numeric1 attributeType4 numeric1 attributeType5 numeric1 attributeType6 numeric1 Term D 2C E
ZING Initiatives ZING (Z39.50 International: Next Generation) – »SRW (Search / Retrieval Web Service) »SRU (Search / Retrieval URL) »CQL (Common Query Language) »ZOOM (Z39.50 Object-Orientation Model) »ez3950 » ZeeRex (Z39.50 Explain, Explained and ReEngineered in XML)
SRW Search/Retrieve POST / srw.loc.gov/LCDB HTTP/1.1 [... ] bath.author=“^avram,henriette”
SRU Search/Retrieve bath.author=^avram,henriette”&maximumRec ords=10&recordSchema=http%3a// ov/mods/&startRecord=1
CQL Examples l Author Search – First words in field bath.author=“^avram, henriette” l Title Search – Exact match bath.title exact “xml & sgml cookbook” l Other examples cat and fish (((cat or dog) or horse) and frog) cat prox/word/=/3/ordered hat
ez3950 Uses XER (XML encoding rules) over SOAP to encode Z39.50 ASN.1 data units
ZOOM ZOOM (Z39.50 Object-Orientation Model) Specifications for API bindings exist in: C, C++, Perl, Java, Visual Basic, etc.
ZeeRex ZeeRex (Z39.50 Explain, Explained and ReEngineered in XML) XML schema used to describe the configuration and capabilities of Z39.50 and SRW/SRU servers:
Summary l Z39.50 widely deployed in library community l Z39.50 still an essential tool to provide access to library catalogs l ZOOM API and toolkits hide complexity of Z39.50 implementation l SRW, SRU, ZeeRex, and ez3950 growth is not easy to predict at this time
Questions