1 / 29

Rob Bull bull@crxnet.com

Crossnet Systems Limited ------ Z39.50 Toolkits. Rob Bull bull@crxnet.com. 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. ZedKit - UNIX.

jena
Download Presentation

Rob Bull bull@crxnet.com

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Crossnet Systems Limited ------ Z39.50 Toolkits Rob Bull bull@crxnet.com Zig Tutorial, Stockholm

  2. 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 Zig Tutorial, Stockholm

  3. ZedKit - UNIX • It’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 freeware • compile it with the GNU compiler or native compiler • for 32 or 64 bit platforms Zig Tutorial, Stockholm

  4. What’s in the Package ? • toolkit libraries : • static libraries, shared libraries • daemon listener for server applications • working client and server test programs • test tool for batch testing • documentation : postscript, html • conventional GNU-like installation scripts • ./configure ./make • all source code included. Zig Tutorial, Stockholm

  5. 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 function • Receiving a PDU: • call the receive function, and the received PDU elements are put onto a C structure Zig Tutorial, Stockholm

  6. 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 ); Zig Tutorial, Stockholm

  7. 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 value • State Machine verifies orderly operations • PDUs can be logged to files • any bad or unknown PDUs are reported • memory release functions supplied for freeing structure content Zig Tutorial, Stockholm

  8. 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 Zig Tutorial, Stockholm

  9. Test Facilities • These provide many examples of working sample code • Examples cover most of the API • Menu driven options • Test tool enables PDU parameters to be represented in files for batch testing Zig Tutorial, Stockholm

  10. What’s supported ? • All Z39.50-1995 services • Record formats including : • GRS.1, MARC, OPAC, Explain, ES Task-Package, SUTRS, Summary • Extended Services: • periodic query schedule; export specification; export invocation; item order • User-Info Format - search result 1 Zig Tutorial, Stockholm

  11. What’s supported ? • Character set and language negotiation • ISO-ILL (request and status) • some private externals registered by European Space Agency • some private externals registered for the CIP profile. Zig Tutorial, Stockholm

  12. 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 Zedkit - history Zig Tutorial, Stockholm

  13. Complementary 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) Zig Tutorial, Stockholm

  14. 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 Zig Tutorial, Stockholm

  15. Availability • www.crxnet.com • follow links from “Products” button • anon. Ftp : popeye.crxnet.com • /pub/dbvosi /pub/one Zig Tutorial, Stockholm

  16. ZedKit - Windows • same 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 Zig Tutorial, Stockholm

  17. What’s in the Package ? • pre-built API libraries • sample client and server projects • documentation, postscript, html • warranty, support and updates Zig Tutorial, Stockholm

  18. Features... • compliments UNIX application code • server is a multi-threaded application • same Z39.50 support as the UNIX version • services, record formats etc. Zig Tutorial, Stockholm

  19. 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 Zig Tutorial, Stockholm

  20. Demos • ZedKit - Windows server application linked to the US EPR database • ICONE Windows client • Web/Z39.50 client • (http://batman.crxnet.com/zedlib/index2.html) Zig Tutorial, Stockholm

  21. Availability • Enquiries to: • info@crxnet.com • can supply: • electronic transfer • ship CD-ROM Zig Tutorial, Stockholm

  22. ZedJAVA • joint product from DSTC/Crossnet • commercial - development license • no run-time licenses, no royalties • out-of-the-box: • Installshield kit for Windows platform • tar archive for UNIX platform • supplied for: JAVA 1.1 JAVA1.2 Zig Tutorial, Stockholm

  23. 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) • tutorial • example applications Zig Tutorial, Stockholm

  24. 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 PresentRequest pdu.ber_encode().output(dest); dest.flush(); Zig Tutorial, Stockholm

  25. Features : • Inherent object-oriented design • ZedJAVA class code is created from an ASN.1 to JAVA tool from DSTC • encoding methods • decoding methods • tostring methods • sample code • applications, MARC classes Zig Tutorial, Stockholm

  26. Future Releases... • support for Z+SQL testbed and the SQL-RS record syntax • support for ASN.1 real types • support for Z39.50-1995 amendments • possible version for XER Zig Tutorial, Stockholm

  27. Demos • ZedJAVA documentation • ZedJAVA with a test Applet Zig Tutorial, Stockholm

  28. Availability • Enquiries to: • info@crxnet.com • can supply: • electronic transfer • ship CD-ROM Zig Tutorial, Stockholm

  29. Thank you for your time !! Any questions ? Zig Tutorial, Stockholm

More Related