Download - Rob Bull [email protected]
August 1999 Zig Tutorial, Stockholm Page 1
Rob Bull [email protected] Bull [email protected]
Crossnet Systems Limited Crossnet Systems Limited ------------
Z39.50 ToolkitsZ39.50 Toolkits
August 1999 Zig Tutorial, Stockholm Page 2
What toolkits ?What toolkits ?
Z39.50 toolkits for applications in C, C++ : ZedKit - UNIX platforms ZedKit - “Win-tel” platforms
Z39.50 toolkit for applications in JAVA : ZedJAVA
August 1999 Zig Tutorial, Stockholm Page 3
ZedKit - UNIXZedKit - UNIXIt’s a Z39.50-1995 toolkit for C, C++
developers supporting TCP/IP and OSI supports client and server development
Originally developed for the German Library Project - DBV OSI II
Its freewarecompile it with the GNU compiler or
native compiler for 32 or 64 bit platforms
August 1999 Zig Tutorial, Stockholm Page 4
What’s in the Package What’s in the Package ??
toolkit libraries : static libraries, shared libraries
daemon listener for server applicationsworking client and server test programstest tool for batch testingdocumentation : postscript, htmlconventional GNU-like installation scripts
./configure ./makeall source code included.
August 1999 Zig Tutorial, Stockholm Page 5
Using the API...Using the API...Z39.50 PDUs are represented by C-
structures structure naming closely matches ASN.1 naming
in the Z39.50 standard annotated by the “Hungarian” notation
To send a PDU: fill in a structure, call the appropriate send
functionReceiving a PDU:
call the receive function, and the received PDU elements are put onto a C structure
August 1999 Zig Tutorial, Stockholm Page 6
For Example :For Example :typedef struct DbvInitializeReq {DbvOctetString *psReferenceId;DbvProtocolVersion pcProtocolVersion; DbvOptions pcOptions; Ulong ulPreferredMessageSize; Ulong ulMaximumMessageSize; DbvAuthentication *psAuthentication;DbvInternationalString *psImplementationId;DbvInternationalString *psImplementationName;DbvInternationalString *psImplementationVersion;DbvASN1External *psUserInformationField;DbvOtherInformation **ppsOtherInformation;} DbvInitializeReq;
int DbvInitializeRequest( DbvAssocId lAssocId, DbvInitializeReq *psInitializeReq, DbvError **ppsDbvError );
August 1999 Zig Tutorial, Stockholm Page 7
API Library Features...API Library Features...API checks your structures when you call a
function to send a PDU it reports an error if a structure is incomplete or
contains an illegal valueState Machine verifies orderly operationsPDUs can be logged to filesany bad or unknown PDUs are reportedmemory release functions supplied for
freeing structure content
August 1999 Zig Tutorial, Stockholm Page 8
Other Features...Other Features...
BER encoding/decoding code is derived from an ASN.1 compiler
Client-side supports multiple associations
Server side is multi-process 1 session per process
Supports concurrent operations
August 1999 Zig Tutorial, Stockholm Page 9
Test FacilitiesTest Facilities
These provide many examples of working sample code
Examples cover most of the APIMenu driven options
Test tool enables PDU parameters to be represented in files for batch testing
August 1999 Zig Tutorial, Stockholm Page 10
What’s supported ?What’s supported ?
All Z39.50-1995 servicesRecord formats including :
GRS.1, MARC, OPAC, Explain, ES Task-Package, SUTRS, Summary
Extended Services: periodic query schedule; export
specification; export invocation; item orderUser-Info Format - search result 1
August 1999 Zig Tutorial, Stockholm Page 11
What’s supported ?What’s supported ?
Character set and language negotiation
ISO-ILL (request and status)some private externals registered by
European Space Agencysome private externals registered for
the CIP profile.
August 1999 Zig Tutorial, Stockholm Page 12
Zedkit - historyZedkit - history Originally developed for German Library Project,
DBV OSI II in 1995 Subsequently extended for:
German Library project - phase 2 with document ordering - version 1.9 in 1997
Several services and externals added during the ONE project, producing version 2.1 in 1997
Add-on for UCP Update, new sort response field and Char. Set/Language Negotiation 2
All versions have been independently tested
August 1999 Zig Tutorial, Stockholm Page 13
Complementary UtilitiesComplementary Utilities
ONE project toolkit has some complimentary utilities: Explain database toolkit (Crossnet) CCL string to RPN conversion (Danish
Library Centre) RPN/SQL conversion (Joanneum
Research)
August 1999 Zig Tutorial, Stockholm Page 14
Future Releases...Future Releases...
ONE-2 Project will add more features: remaining extended services more ISO-ILL
Z+SQL support has been added for use in the Z+SQL DSTC test-bed toolkit code is currently being tested by
DSTC Pty Ltd. and built into applications
August 1999 Zig Tutorial, Stockholm Page 15
AvailabilityAvailability
www.crxnet.com follow links from “Products” button
anon. Ftp : popeye.crxnet.com /pub/dbvosi /pub/one
August 1999 Zig Tutorial, Stockholm Page 16
ZedKit - WindowsZedKit - Windowssame API specification as UNIX version
for Windows 95, 98, NT and seems to like beta of Windows 2000
commercial - development license no run-time licenses, no royalties
out-of-the-box package: Installshield installation suited for Microsoft Visual C++ versions 5, 6
can supply Win-32s version for client side
August 1999 Zig Tutorial, Stockholm Page 17
What’s in the What’s in the Package ?Package ?
pre-built API librariessample client and server projectsdocumentation, postscript, htmlwarranty, support and updates
August 1999 Zig Tutorial, Stockholm Page 18
Features...Features...
compliments UNIX application codeserver is a multi-threaded
applicationsame Z39.50 support as the UNIX
version services, record formats etc.
August 1999 Zig Tutorial, Stockholm Page 19
Future Releases... Future Releases...
Version 2.2 will compliment new features added to UNIX version later this year
version to support Z+SQL testbed
an OCX is in the labs
August 1999 Zig Tutorial, Stockholm Page 20
DemosDemosZedKit - Windows server application
linked to the US EPR databaseICONE Windows clientWeb/Z39.50 client
(http://batman.crxnet.com/zedlib/index2.html)
August 1999 Zig Tutorial, Stockholm Page 21
AvailabilityAvailabilityEnquiries to:
can supply: electronic transfer ship CD-ROM
August 1999 Zig Tutorial, Stockholm Page 22
ZedJAVAZedJAVAjoint product from DSTC/Crossnetcommercial - development license
no run-time licenses, no royaltiesout-of-the-box:
Installshield kit for Windows platform tar archive for UNIX platform
supplied for: JAVA 1.1 JAVA1.2
August 1999 Zig Tutorial, Stockholm Page 23
What’s in the Package What’s in the Package ??
set of JAVA packages and classes for all of Z39.50-1995 specification
application types: applet, servelet, application
on-line documentation (javadoc)tutorialexample applications
August 1999 Zig Tutorial, Stockholm Page 24
Example code:Example code:
PresentRequest pr = new PresentRequest();pr.s_resultSetId = new ResultSetId();pr.s_resultSetId.value = new InternationalString();pr.s_resultSetId.value.value = new ASN1GeneralString("Default");pr.s_resultSetStartPoint = new ASN1Integer(1);pr.s_numberOfRecordsRequested = new ASN1Integer(1);pr.s_recordComposition = new PresentRequest_recordComposition();pr.s_recordComposition.c_simple = new ElementSetNames();pr.s_recordComposition.c_simple.c_genericElementSetName = new InternationalString();pr.s_recordComposition.c_simple.c_genericElementSetName.value = new ASN1GeneralString(“B”);pr.s_preferredRecordSyntax = new ASN1ObjectIdentifier(recordSyntax_USmarc);
PDU pdu = new PDU();pdu.c_presentRequest = pr; // Send the PresentRequestpdu.ber_encode().output(dest);dest.flush();
August 1999 Zig Tutorial, Stockholm Page 25
Features :Features :Inherent object-oriented designZedJAVA class code is created from an
ASN.1 to JAVA tool from DSTC encoding methods decoding methods tostring methods
sample code applications, MARC classes
August 1999 Zig Tutorial, Stockholm Page 26
Future Releases...Future Releases...support for Z+SQL testbed and the
SQL-RS record syntaxsupport for ASN.1 real typessupport for Z39.50-1995
amendments
possible version for XER
August 1999 Zig Tutorial, Stockholm Page 27
DemosDemosZedJAVA documentationZedJAVA with a test Applet
August 1999 Zig Tutorial, Stockholm Page 28
AvailabilityAvailability
Enquiries to: [email protected]
can supply: electronic transfer ship CD-ROM
August 1999 Zig Tutorial, Stockholm Page 29
Thank you for your time !!
Any questions ?