Re: Building a Z39.50 client and server

> Thanks Rob, but I have a web interface for my library application, the user
> submits the form, which goes to the CGI client, which accesses and returns
> the information from the database. So where is the difference?

The difference is that the cgi script works via Z39.50 to interact with
the database server.  And if one local cgi script can do it, then any
number of other Z clients can connect to it as well...

Assuming for arguments sake that your database is an SQL db, you could
write something that listens on port 210, takes in Z requests, queries the
db via SQL, maps the results into Z and returns them. This would make you
a Z39.50 target.

> I don't need to change my underlying database necessary, because that's not
> part of the whole Z39 thing, I need to change my CGI app. to be Z39.50
> compliant.

More accurately, you need to write something that will listen on a port
(typically 210 or 2100) accept Z39.50 requests and respond with
information from your database.

> Question: Z39.50 is meant to maintain a connection (if it's not please tell
> me). So is a web interface REALLY Z39.50 compliant? Please could you
> explain?

Z does maintain connection across multiple requests. This is a fundamental
part of the protocol - first the INIT request is sent, then typically a
search or scan.

A web interface can be Z 'compliant', but typically isn't.   (I use
'compliant' fairly loosely)

For example, you could have a constantly running proxy server which took
calls from CGI and queried Z targets.  It could maintain resultsets,
connections to targets and so forth. In this way you're simply putting an
interface onto a real Z session.

On the other hand, most CGI scripts simply start a session, do the query
and close it down again. This isn't especially true to the way that Z does
things.

Hope that makes things clearer.

Rob

-- 
      ,'/:.          Rob Sanderson (azaroth@liverpool.ac.uk)
    ,'-/::::.        http://www.o-r-g.org/~azaroth/
  ,'--/::(@)::.      Room 218, French Dept, Liverpool University, ext 2752
,'---/::::::::::.    Syrinnia:  telnet:  syrinnia.o-r-g.org 7777
____/:::::::::::::.                WWW:  http://syrinnia.o-r-g.org:8000/
I L L U M I N A T I

Received on Thursday, 7 June 2001 08:18:42 UTC