# Presentation: 520189

## Describing Services with Z39.92

**Describing Services with Z39.92**
**(aka ZeeRex 2.1)**

- Robert Sanderson
- Dept. of Computer Science
- University of Liverpool
- azaroth@liv.ac.uk
- http://explain.z3950.org/

## Overview

**Overview**

-  Z39.92 vs ZeeRex?
-  Conceptual Model
-  Collection/Service Descriptions
-  Describing Services
-  Z39.92 in Detail

## What's Z39.92? What's ZeeRex?

**What's Z39.92? What's ZeeRex?**

- Z39.92? NISO Draft Standard for Trial Use version of Zeerex
- ZeeRex?  The XML schema developed around the same time as SRU to describe Z39.50 services and the Explain response record schema for SRU.
- SRU 1.1 uses ZeeRex 2.0
- Z39.92 is the same as ZeeRex 2.1

## Purpose and Scope

- NISO MetaSearch Initiative, Task Group 2.
**Purpose:**
- To enable the discovery of appropriate, remotely maintained content and a means of retrieving that content.
- Discover collections of potential interest
- Identify a collection
- Select one or more collections from those discovered
- Identify services that provide access to the collection
- Select a service with with to interact
- Interact with service

## Purpose and Scope

**Scope:**
-  While the Initiative concerns meta_search_, the scope of interest for TG2 is actually enabling _retrieval_ of items.
-  Need descriptions of collections and of services that provide access to them
-  Electronic services only, not physical services
-  Content services only, not transactional services
-  Collections and services, not agents

## Conceptual Model

-  **Collections:**
-  contain one or more Items
-  contain zero or more Collections
-  are made available by zero or more Services
**Services:**
-  make available exactly one Collection

## Conceptual Model

- Example:

**Collection**

**Collection**

**Collection**

**Collection**

**Collection**

**Service**

**Service**

**Service**

**Service**

- is-available-at

- is-available-at

- is-available-at

- is-available-at

- has-part

- has-part

- has-part

- has-part

## Collection Descriptions

-  Description schema builds on Dublin Core Collection Description Application Profile
-  Provides a core set of collection description properties, not a completely comprehensive one
-  Suitable for collection discovery across a broad range, rather than item discovery
-  NISO MI primarily addressing 'library' style collections, with some additional requirements

## Service Descriptions

-  Description schema: ZeeRex
-  “Z39.50's Explain Explained, and Re-Engineered in XML”
-  [Search and] Retrieval Services, not any Service
-  Semantics of service, not syntax
-  Eg: record schemas, access points, server capabilities
-  Vs: WSDL, ASN.1/BER, XML Schema, SOAP
-  Need implementation of protocol before you can interact with a service via that protocol, but still need description of what to put into that protocol

## Service Descriptions

-  Purpose is to enable discovery and usage of appropriate services
-  Thus needs to include 'WSDL' like fields such as host, port, path/database name
-  Has general information to allow the record to be useful without the associated collection description (title, description etc)
-  Also has metadata fields for harvesting source, last update
- Z39.50 and SRW/U oriented, but capable of describing all the protocols and retrieval methods identified by TG2

## Schema Overview

-  **ServerInfo: ** Connection details (only mandatory block)
** ****DatabaseInfo: **Database description
** ****MetaInfo: **Metadata, including harvesting information
** ****IndexInfo: **Search interaction semantics
** ****SchemaInfo: **Retrieval interaction semantics
** ****ConfigInfo: **Basic configuration of the serverTop level tag is:  <explain identifer=”...”>
- (Only one namespace)

## ServerInfo

**Describes connection level details (server, protocol)**
- <serverInfo protocol=”SRU” version=”1.1” transport=”http”
- 				method=”GET”>
-   <host>srw.cheshire3.org</host>
-   <port>80</port>
-   <database>/services/spy</database>
- </serverInfo> Plus a section for authentication details after database

## DatabaseInfo

**Provides a description of the service (not the collection!)**
- <databaseInfo>
- 	<title lang=”en” primary=”true”>Spycraft Db</title>
- 	<description>This is a database of Spycraft cards</d..>
- 	<history lastUpdate=”2005-12-10”>Created in ...</h..>
- 	<extent numberOfRecords=”827”>All records exposed</e..>
- 	<restrictions>Contents Copyright AEG</r..>
- 	<langUsage codes=”en”>All records in English</l..>
- There ends the single fields.  There are three more elements which have structured content...

## DatabaseInfo 2

- <implementation identifier=”http://www.cheshire3.org”
- 					 version=”0.9b”>
- 	<agent type=”vendor”>University of Liverpool</a..>
- </implementation>
- <agents>
-   <agent type=”creator” identifier=”foaf:...”>Rob S</a..>
- </agents>
- <links>
-   <link type=”z39.50”>z39.50s:srw.cheshire3.org:210</l..>
-   <link type=”icon”>http://www.../.../foo.jpg</link>
- </links>
- </databaseInfo>

## MetaInfo

** ****Provides information about the record itself**
- <metaInfo>
- 	<dateModified>2006-02-03 12:00:00</dateModified>
- 	<dateAggregated>2006-03-01 14:15:00</dateAggregated>
- 	<aggregatedFrom>http://srw.somewhere.org:8080/db</a..>
- </metaInfo>

## IndexInfo

** ****Provides information about access points in the database**
- <indexInfo>
- 	<set name=”dc” identifer=”info:srw/context-...”/>
- 	<index search=”true” scan=”true” sort=”true”>
- 		<title>Author</title>
- 		<map><name set=”dc”>creator</name></map>
- 		<configInfo>
- 			...
- 		</configInfo>
- 	</index>
- </indexInfo>

## SchemaInfo

** ****Describes schemas in which records can be retrieved**
- <schemaInfo>
- 	<schema name=”dc” identifer=”info:srw/schemas/...”
- 			  location=”http://www.loc.gov/...”>
- 	  <title>Simple Dublin Core</title>
-    </schema>
- </schemaInfo>

## ConfigInfo

** ****Configuration information about the setup of the server**
- <configInfo>
- 	<default type=”numberOfRecords”>10</default>
- 	<setting type=”maximumRecords”>100</setting>
- 	<supports type=”profile”>info:srw/profile/...</s..>
- </configInfo>
- And that's it!  You've seen all of ZeeRex, most of which is optional.

## Thank You!

**	****	****	****Thank You!**
**	****	****	****Questions?**