22

Z39.50 URLs

  • Upload
    warner

  • View
    51

  • Download
    2

Embed Size (px)

DESCRIPTION

Z39.50 URLs. December 2000 ZIG. Chair : Kevin Gamiel. - PowerPoint PPT Presentation

Citation preview

Page 1: Z39.50 URLs
Page 2: Z39.50 URLs

Chair: Kevin Gamiel

Abstract: How are Z39.50 URLs (Z39.50s and Z39.50r) being used? What purposes should a Z39.50 url serve? Are these existing definitions serving these purposes? Should they be revised? Should a new Z39.50 url be defined? And if so, should it replace or compliment the existing definitions?

Page 3: Z39.50 URLs

Plan

Introductory overview, background, etc. "Current Z39.50 URL". Describe the current

Z39.50 URL, it's structure, what can be done with it.

"Current uses". The ways that ZURLs are currently used in applications.

"Future". Desired use of a Z39.50 URL. Generalizing the URL structure beyond a Z39.50 scope.

Page 4: Z39.50 URLs

Expectations

Explore how z-urls are currently used. Explore the potential utility of a newly-

defined Z39.50 url -- what would people like to use a Z39.50 url for, if they could?

Based on above, determine if a new definition is needed.

Page 5: Z39.50 URLs

Expectations (continued)

If so, set in motion a process to determine the requirements, develop a definition, and to reach agreement. Stress "set in motion the process"; we're not planning to determine requirement, develop a definition and reach agreement in this session, just to set the process in motion.

Page 6: Z39.50 URLs
Page 7: Z39.50 URLs

September 1994 ZIG Meeting at CNIDRMinutes from Denise Troll

session and fetch URL Z39.50://host[:port][/database][/docID][/...]

– When users click on this URL, it will open a Z39.50 client ("helperapplication"), point to the existing service, construct a RPN query, and return a result set with one or more items. The Z39.50 client will theneither convert the items to HTML for display in Mosaic or open the Z39.50 client to the user. The Z39.50 client is responsible for determining whether or not to open to the user. [Brad McLean]

Page 8: Z39.50 URLs

Potential problems cited for this proposal were:– DocIDs change over time. The ID should be a logical ID.

[Ryan Troll]– What about the result set name? – Is this a transient or persistent result set [Ray Denenberg]?

Three unresolved issues remain [Brad McLean]:– Element set names – Should we restrict this to retrieving a single document or enable

retrieving multiple documents (with the client deciding what to do if there are multiple items)?

– Access control (user ID and password).

Page 9: Z39.50 URLs

Do we want 2 URLS, one to fetch and close, the other to be interactive, or 1 URL (that launches a helper to determine whether to fetch and close or run interactive)?

Mark Hinnebusch framed the question, but many ZIG members participated in the lengthy debate, in the midst of which Ray Denenberg pointed out that the URL must include the record syntax. The debate was tedious, but well done, with ZIG members switching camps throughout.

Page 10: Z39.50 URLs

Leaders (rhetors) eventually arose for the two camps and final arguments were given. Ralph LeVan argued for 2 URLs. Denis Lynch argued for 1 URL. Mark Hinnebusch somehow divined concensus and the shot was called: there will be 2 URLs:

Search URL:– Z39.50s://host[:port][/database[+database...]

[/term[&ESN=elementset][&RS=recordsyntax[+recordsyntax]]]]

Retrieve URL:– Z39.50r://host[:port][/database[+database...]

[/term[&ESN=elementset][&RS=recordsyntax[+recordsyntax]]]]

Page 11: Z39.50 URLs

Database name is required. Any missing components default to the client's choice. If more than one record syntax is provided, the first one in the sequence is preferred. If the client cannot handle the preferred syntax, it my choose among the others.

John Kunze was commissioned to take our URL proposal to the IETF URL group.

Page 12: Z39.50 URLs

1996 -- RFC 2056:

Uniform Resource Locators for Z39.50

The Z39.50 Session URL The Z39.50 Retrieval URL

Page 13: Z39.50 URLs

z39.50url = zscheme "://" host [":" port] ["/" [database *["+" database] ["?" docid]] [";esn=" elementset] [";rs=" recordsyntax *[ "+” recordsyntax]]]

zscheme = "z39.50r" | "z39.50s”

“Future extensions to these URLs will be of the form [;keyword=value].”

Page 14: Z39.50 URLs

Z39.50 Session URL

informally described as providing the mechanism to switch the user to a z39.50 client application.– Host is required.– Port is optional, and defaults to 210.– All other parameters are optional.

Z39.50 client starts a session to the specified host/port (need not explicitly start a session, may instead utilize an already open session to the same host/port).

Page 15: Z39.50 URLs

A database must be included if docid is included.

If docid is included, the client will perform the specified search

If docid is not included, and other parameters (besides host/port) are specified, the client may use those parameters as "hints".

Various clients may choose to treat them as requirements, or as preferences, or ignore them.

Page 16: Z39.50 URLs

In any case (whether a search is Performed or not), the client leaves the Z39.50 session open for the user, to do retrievals, new searches, etc. (This is the main distinction from the Retrieval URL which leaves it up to the client whether or not to keep the Z39.50 session open.)

Page 17: Z39.50 URLs

The Z39.50 Retrieval URL

Intended to allow a Z39.50 session to be used as a transparent transfer mechanism to retrieve a specific information object.

A Z39.50 client uses information in the URL to formulate a Search Request. The server's Search Response indicates how many records match the Request.

Page 18: Z39.50 URLs

If number of matching records not equal one:– the retrieval is considered unsuccessful, and the client application's

behavior is not defined.

If number of matching records equals one– the server may have included the desired record in the Search

Response. If not, the client requests transmission of the record with a Present Request.

After the client has received the specified record it may close the Z39.50 session immediately, or keep it open for subsequent retrievals.

Page 19: Z39.50 URLs

Host required. Port optional, default 210. Database required. The meaning of a retrieval URL with no docid is

undefined. docid placed into a type-1 query, as the single

term, in the general format (tag 45)– Bib-1 attribute set– Use attribute docid– structure attribute of URx

The docid string is server-defined and completely opaque to the client.

Page 20: Z39.50 URLs

Questions

Are there other current uses we didn't list? Is current usage so minimal that we can simply "start

over"? Is anyone actually using ZURLs, or is this all an academic exercise?

If we generalize it, is this a job for the ZIG? Or IETF, W3C, etc?

How transient is a URL? Should we have result set offsets in a URL? How do we address a specific result record for a

system without the docID concept?

Page 21: Z39.50 URLs

Questions Can we stringify the Z39.50 query structure in a

manner suitable for including in a URL, making it simpler for the lay-person to construct one?

What about the content of the response to a Z39.50 URL? Although it may not be entirely in the context of a Z39.50 URL definition (implementation rather than definition) Some discussion about this may be appro-priate. For example consider an implementation that transforms everything to XML for transmission to the client process, convenient for post-processing of results, but the structure of the XML document pro-duced may not be appropriate for all user classes.

Page 22: Z39.50 URLs

Questions

Is it possible to provide a stateful implementation of Z39.50 URLs without the need for alternative Z39.50 protocol identifiers?