- From: LeVan,Ralph <levan@oclc.org>
- Date: Fri, 13 Jul 2001 11:40:56 -0400
- To: "'Joe Futrelle'" <futrelle@ncsa.uiuc.edu>, ZIG <www-zig@w3.org>
> -----Original Message----- > From: Joe Futrelle [mailto:futrelle@ncsa.uiuc.edu] > Sent: Friday, July 13, 2001 10:56 AM > To: ZIG > Subject: Re: ZNG: "Z39.50 Next Generation" > What is the feeling of ZNG proponents about XER? To me the advantage > it has over XML-Schema is its nice, simple system for encoding binary > data. > > A much more conservative approach to "modernizing" Z39.50 is to encode > protocol messages in XER and transport them over HTTP, say in SOAP. We weren't looking for conservative. We were looking to make it easy for non-Z39.50 implementors to use our databases. I have developers here at OCLC that are desperate for something much lighter than embedded Z39.50 clients to fetch records out of databases. If a developer needs the title of the record with ISBN of 12345, they can do it either of these two ways: Z39.50 Classic: Open a connection to a Z39.50 server. Create an InitRequest. Send the request. Try to read the response (not a trivial task, especially with indefinite length BER). Decode the response and verify that a session has been established. Create a SearchRequest for term "12345" with Use attribute=7, Relation attribute=3, Position attribute=3, Structure attribute=? (should that be a Word or a Phrase or a Key?), Truncation attribute=100 and God only knows what the Completeness attribute means anyway. Send the request and wait for the response. Verify that the search worked. Create a PresentRequest asking for the first (and hopefully only) document in USMARC format. Send the request and wait for the response. Get the record out of the response, give it to the USMARC record handling utility and get the title. Close the connection to the Z39.50 server. ZNG: Make the URL, send it and get the response (done with these six lines of Java code: URLConnection uc= new URLConnection(new URL( "http://www.firstsearch.oclc.org/WorldCat/recordSchema=DublinCore?isbn=12345 ")); int reclen=uc.getContentLength(); InputStream is=uc.getInputStream(); byte[] buf=new byte[reclen]; while((len=is.read(buf, offset, buf.length-offset))>0) offset+=len; is.close(); ) Give the response to the XML record handling utility and get the title. We've been developing Z39.50 utilities here at OCLC for more than ten years now and have considerable expertise in the area. But we constantly have problems trying to explain how to do this to our programmers. The new way to do it is trivial and uses standard tools that we expect all programmers to understand. Ralph Ralph
Received on Friday, 13 July 2001 11:41:07 UTC