300 likes | 311 Views
JAFER Java-based high level Z39.50 toolkit Matthew Dovey; Colin Tatham; Antony Corfield; Richard Mawby Oxford University Libraries Systems Services. Aims. Aims. Components enabling users to build portals without dealing with intricate technical aspects.
E N D
JAFER Java-based high level Z39.50 toolkit Matthew Dovey; Colin Tatham; Antony Corfield; Richard Mawby Oxford University Libraries Systems Services Oxford University
Aims Aims Components enabling users to build portals without dealing with intricate technical aspects. Work with RAD Development Environments • Easy to use • Visual • Open Source • Encouraging ongoing development & maintenance of the software. Oxford University
Components Components • JAFER has two basic components • ZClient • ZServer • Software based on Client/Server • architecture. • Written in Java and uses XML. • Components used separately or in • various combinations. Oxford University
ZClient Uses • Reading List Generator • Using Z39.50 a web page reading list can be built. • Servlet • A link from a web page (e.g. reading list or abstracting service) to a record indicating the location of an item using OpenURL • Modified version of servlet for ZNG/ZML/SRW related work • Used in GFIS prototype • JSP (Java Server Pages) • Create dynamic web pages from Z39.50 sources. • Used in BookHAD and Music Libraries Online virtual union catalogue projects • UDDI to GILS Gateway Oxford University
Web Service Experiments • ZNG/ZML/SRW • Based on OpenURL servlet (modifying URL input and output XSLT) • SOAP Search Service (with Eliot Christian, Dave Vieglais) • Similar to ZNG but • Multiple database query • XML Type-101 Structure (useful for non-textual terms) • Support for multiple query structures and attributes via xmlns • SOAP over HTTP POST only • http://www.gils.net/search.html • WSDL/WSCL Encapsulation of Z39.50 ASN.1 • ASN.1 specification written as WSDL/WSCL specification (preferably auto-generated via XER) • Binding of WSDL to BER as well as to SOAP • http://www.lib.ox.ac.uk/jafer/ez3950/z3950-wsdl.htmlhttp://www.lib.ox.ac.uk/jafer/ez3950/ez3950.html Oxford University
Toolkit – Basic Components • ZClient • Development of Portals for Access to Z39.50 Information Sources • ZServer • Provides Access to Non-Z39.50 Information Sources Oxford University
Architecture • JavaBeans – Component Architecture allows Visual Configuration of Properties • Java Server Pages (JSP) – simple technology for building HTML pages with Dynamic Content • CrossNet Toolkit for BER (although working on modularisation for plugging in other Java BER toolkits) • XML – Serialising record formats to canonical XML forms • XSLT – Processing/converting records Oxford University
ZClient Architecture Oxford University
XML query (Not XMLQuery) • Based on ‘Search’ mechanism developed by Global Information Locator Service (GILS) • Boolean Queries (Z39.50 type 101) represented as XML • Search Z39.50 Attributes can be defined by Default Search Profile e.g. Bath Profile Oxford University
Query example <query><boolean> <and> <constraintModel> <constraint> ATTRIBUTES <semantic>4</semantic> title <position>3</position> any position </constraint> <model>Macbeth</model> search term </constraintModel> …. Oxford University
Query example (cont.) …. <constraintModel> <constraint> ATTRIBUTES <semantic>1003</semantic> author <relation>3</relation> equals </constraint> <model>Shakespeare</model> search term </constraintModel> </and> </boolean></query> Oxford University
Records – XML Serializers • XML Generated from retrieved Records • MARC to XML conforms to Open Archives Initiative (OAI) schema for MARC records • GRS to XML conforms to GILS schema for GRS1 records Oxford University
MARC to XML example MARC 21 Field 260 260##$aNew York, N.Y. : $bElsevier, $c1984. <varfield id=”260” i1=”” i2=””> <subfield label=”a”>New York, N.Y. :</subfield> <subfield label=”b”>Elsevier,</subfield> <subfield label=”c”>1984</subfield> </ varfield > Oxford University
XSL Transformations • Stylesheet used to Transform ‘raw’ XML to a form tailored to the user’s needs (such as “Yanks”) e.g. <publisher>New York, N.Y. : Elsevier, 1984 </publisher> Oxford University
JSP – Providing Dynamic Content • Specify & Submit Query query.submit ( query.and ( “Macbeth”, “use title”, “Shakespeare”, “use author” )) • Save Query saveCurrentQuery ( “query.xml” ) Oxford University
JSP – Providing Dynamic Content • Display Results setRecordCursor (n); record = getCurrentRecord () record.get( “title” ).getValue () record.get( “author” ).get( “name” ).getValue () Oxford University
Configuration of ZClient • Visual Configuration • Builder Tools (developers) • Graphical User Interface (simple) • XML Configuration • XML file in Web Server (administrators) Oxford University
Visual Configuration – Builder Tools • ZClient is a Java Bean • Java Beans have Properties which can be configured by using Visual Builder Tools • ZClient Bean properties include • Host or Target, Password etc. • Preferred Record Format, XML generation Oxford University
Configuration - JBuilder Oxford University
Visual Configuration using GUI • Simple, does not require Builder Tools • Bean Properties set using Tabbed Panes in User Interface Oxford University
Configuration via GUI Oxford University
Configuration via GUI Oxford University
XML Configuration • Properties set by specifying parameters • e.g. web.xml file in Tomcat servlet container <init-param> <param-name>target</param-name> <param-value>library.ox.ac.uk</param-value> </init-param> Oxford University
ZServer • Component Architecture • Configuration of Components provides different functions • Access to non-Z39.50 Information Sources • Distributed Searches (re-uses ZClient components) Oxford University
ZServer Components • ZServer • Manages Connections • Query Translation • Record Generation • Handler • Maps Attributes to Database Tables • Appropriate Database Driver ZServer Handler Oxford University
ZServer - Visual Configuration • Server configuration • IP Address & Port binding • IP Validation & User Authentication e.g. ATHENS • Data Source configuration • Attribute mapping to Tables • Mapping between Tables and Record Fields Oxford University
Server Configuration Oxford University
Attribute Configuration Oxford University
Downloads – org.jafer package • ZClient • Stable builds available as self-expanding Web Application Archive (WAR file) • Java code (Open Source) for developers • ZServer • Available from November 2001 Oxford University
Project Director Matthew.Dovey@las.ox.ac.uk Project Administrator Richard.Mawby@las.ox.ac.uk Project Developers Antony.Corfield@las.ox.ac.uk Colin.Tatham@las.ox.ac.uk Development Website www.jafer.org/ Downloads Join mailing lists General Website www.lib.ox.ac.uk/jafer/ Contacts & Information Oxford University