Examples for REST/SRW SRU Presentation

Examples & Glossary for REST SRW/U CALI Presentation 6/11/05

Kevin Reiss

Last Updated 12/07/05

Update: Many of the examples listed on this page are currently inoperable, as we are working to complete a public version of the search engine which will be released at the end of December. Please contact Kevin Reiss at kreiss@kinoy.rutgers.edu with any questions. Thanks for your interest.

UPDATE: Browse presentations from the June 22-23rd ZING Forum on SRW/U

REST-Ful Web Services

SOAP-ful Web Services

SRU Examples

Common Query Language Examples

CQL Homepage. Compliant SRW/U servers are not required to support the entire CQL specification, however they must report errors and fail gracefully for those services that they don't provide. [http://www.loc.gov/standards/sru/cql/index.html ]

Beta SRU Application Example (Server and Client)

SRU via Z39.50 Example

SRU Index (field) Searches Examples

SRU and XSL

Stylesheet Examples for SRU Operations:

OAI Examples

The comprehensive list of OAI Data Providers can be found at the OAI Registry [http://gita.grainger.uiuc.edu/registry/Info.asp]. Other OAI examples and services:

Software used in the Beta SRU Server

Research on REST, SRU, SRW, OAI

Glossary

Atom
XML application for syndicating content on the web. Has grown out of the blogging world and is becoming increasingly popular. [http://www.atomenabled.org/]
API - Application Programming Interface
A group of routines, objects, or protocols a software application provides for building applications with that piece of software. A web service typically defines an API for programmers. [http://www.webopedia.com/TERM/A/API.html]
CQL - Commom Query Language
Language used to express queries submitted to SRW/U servers. Designed to support both simple keyword queries and advanced boolean, proximity, and field-based queries. [http://www.loc.gov/z3950/agency/zing/cql/]
Dublin Core
Simple metadata set of 15 elements for describing any type of resource. Typically used for to facilitate the discovery of resources. The default metadata standard for the open archives initiative. [http://dublincore.org/]
METS Metadata Encoding and Transmission Standard
Metadata schema designed to encode any type of digital object. Provides means for encoding description, structural, and technical metadata about an object. Ideal for describing resources that have multiple versions and multiple formats.[http://www.loc.gov/standards/mets/]
OAI - Open Archives Initiative
Protocol designed for the federation and harvesting of metadata over the web. An excellent example of a REST-ful web service. Popular among current digital library projects.[http://www.openarchives.org/]
OPAC - Online Public Access Catalog
A library's electronic database that contains the catalouging and location information for all resources held by the library. Typically OPAC records are stored in the MARC (Marchine Readable Cataloging Record) format.
REST - REpresentational State Transfer
First defined by Roy Fielding, REST can be described as a design philosophy for web services that are meant to be delivered over only HTTP. REST-ful applications deliver responses that are made up of XML unique to the application. Messages amd requests are sent to a REST-ful applications via that parameters passed as the query string on a URL.
RSS - Really Simple Syndication or Rich Site Summary
XML format that contains summaries of content published in blogs, magazines, news services, forums, or any type of online service. A single RSS summary is generally referred to as a feed. Interested users can subscribe to any given feed using an RSS reader. The reader, a program enabled to consume XML encoded in RSS then can alert the user when new content has been added to a given feed. [http://www.rss-specifications.com/]
SOAP - Simple Object Access Protocol
SOAP is a protocol defined by the W3C for encoding web services in XML. Unlike REST-ful web services, which must travel over HTTP, SOAP web services can be moved any type of network transport protocol including email and SSH. SOAP defines a wrapper or envelope the goes around the actual message content. Both the SOAP envelope and message content are always expressed in XML. The envelope contains information about the message being sent that helps the recieving application process the message content. [http://www.w3.org/TR/2003/REC-soap12-part0-20030624/]
SRU - Search and Retrieve URL Service
Web services protocol for querying any type of internet information index or database. SRU is a REST-ful web served delivered as XML over HTTP. Queries sent to an SRU service are expressed using the Common Query Language (CQL). [http://www.loc.gov/z3950/agency/zing/srw/]
SRW - Search and Retreieve Web Service
Web services protocol for querying any type of internet information index or database. SRW is a SOAP-ful web served delivered as XML encoded within a SOAP envelope. Queries sent to an SRW service are expressed using the Common Query Language (CQL).[http://www.loc.gov/z3950/agency/zing/srw/]
URL - Universal Resource Locator
The address of a resource on the Internet. Consists of the protocol used to access the resource, the domain name or ip address of the resource, the name of the resource, and an optional query string containing a list of parameters [key => value] pairs being sent to that resource.
XML - Extensible Markup Language
XML is simple but powerful meta-language standardized by the W3C [http://w3.org] for defining application specific descriptive markup languages. XML is very popular today and is currently used in such applications as text encoding, web publishing, and database applications.[http://www.w3.org/XML/]
XSLT - Extensible Stylesheet Language Transformations
XSLT is a language developed by the W3C for transforming XML documents into other formats such as HTML or plain text. XSLT programs are known as stylesheets. An XSLT stylesheet is itself expressed as an XML document instance.[http://www.w3.org/TR/xslt]
W3C - World Wide Web Consortium
Consortium that develops standards for the World Wide Web. The W3C has defined numerous standards including XML, XSLT, Web Accessibility, HTML, and XHTML.
Web Services
Web Services is allow a programmer to express a structured request to an application on the web and recieve a structured response in return. In practice web services have used XML to encode these requests and responses. A web service typically defines a standard XML format for an application. A programmer can then take the specifications for that format and write a program that will automatically send a recieve messages with the web service. This content can then be used in some useful local application such as a single local interface that recieves content automatically from several distributed data sources.
Z39.50
Networked search and retrieval protocol designed during the 80s and 90s. Most common usage by libraries to search other library catalogs (OPACs) over the network.
zeerex Z39.50 Explain, Explained and Re-Engineered in XML
XML markup language used for defining the operations, indexes, and relations a given SRW, SRU, or Z39.50 server supports. The explain operation of an SRU server returns a zeerex record containing information about the server. This record describes what parts of the SRU and CQL standards the server supports. [http://explain.z3950.org/]
ZING - Z39.50 Internation: The Next Generation
Project to simplify and redefine Z39.50 for use on the world wide web. Queries and Results are to be encoded and transported using XML. CQL, SRU, SRW, and zeerex are all specifications that have come out of this project.