29
August 1999 Zig Tutorial, Stockholm Page 1 Rob Bull Rob Bull [email protected] [email protected] Crossnet Systems Limited Crossnet Systems Limited ------ ------ Z39.50 Toolkits Z39.50 Toolkits

Rob Bull [email protected]

  • Upload
    jena

  • View
    67

  • Download
    2

Embed Size (px)

DESCRIPTION

Crossnet Systems Limited ------ Z39.50 Toolkits. Rob Bull [email protected]. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Rob Bull  bull@crxnet.com

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

Page 2: Rob Bull  bull@crxnet.com

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

Page 3: Rob Bull  bull@crxnet.com

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

Page 4: Rob Bull  bull@crxnet.com

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.

Page 5: Rob Bull  bull@crxnet.com

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

Page 6: Rob Bull  bull@crxnet.com

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 );

Page 7: Rob Bull  bull@crxnet.com

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

Page 8: Rob Bull  bull@crxnet.com

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

Page 9: Rob Bull  bull@crxnet.com

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

Page 10: Rob Bull  bull@crxnet.com

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

Page 11: Rob Bull  bull@crxnet.com

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.

Page 12: Rob Bull  bull@crxnet.com

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

Page 13: Rob Bull  bull@crxnet.com

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)

Page 14: Rob Bull  bull@crxnet.com

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

Page 15: Rob Bull  bull@crxnet.com

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

Page 16: Rob Bull  bull@crxnet.com

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

Page 17: Rob Bull  bull@crxnet.com

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

Page 18: Rob Bull  bull@crxnet.com

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.

Page 19: Rob Bull  bull@crxnet.com

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

Page 20: Rob Bull  bull@crxnet.com

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)

Page 21: Rob Bull  bull@crxnet.com

August 1999 Zig Tutorial, Stockholm Page 21

AvailabilityAvailabilityEnquiries to:

[email protected]

can supply: electronic transfer ship CD-ROM

Page 22: Rob Bull  bull@crxnet.com

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

Page 23: Rob Bull  bull@crxnet.com

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

Page 24: Rob Bull  bull@crxnet.com

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();

Page 25: Rob Bull  bull@crxnet.com

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

Page 26: Rob Bull  bull@crxnet.com

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

Page 27: Rob Bull  bull@crxnet.com

August 1999 Zig Tutorial, Stockholm Page 27

DemosDemosZedJAVA documentationZedJAVA with a test Applet

Page 28: Rob Bull  bull@crxnet.com

August 1999 Zig Tutorial, Stockholm Page 28

AvailabilityAvailability

Enquiries to: [email protected]

can supply: electronic transfer ship CD-ROM

Page 29: Rob Bull  bull@crxnet.com

August 1999 Zig Tutorial, Stockholm Page 29

Thank you for your time !!

Any questions ?