SRW/U for DSpace Ralph LeVan Research Scientist. What is SRW/U A Pair of HTTP-based Text Query Protocols – SRW: Search and Retrieve Web Service – SRU:

Slides:



Advertisements
Similar presentations
Terminology Services Ralph LeVan Senior Research Scientist OCLC.
Advertisements

Chapter 6 Server-side Programming: Java Servlets
OAI from 50,000 Feet OAI develops and promotes interoperability solutions that aim to facilitate the efficient dissemination of content. Begun in 1999.
Resolution issues and DOI doi>. POLICIES Any form of identifier NUMBERING DESCRIPTION framework: DOI can describe any form of intellectual property, at.
Z39.50 as a Web Service Ralph LeVan Research Scientist.
Theo van Veen, Koninklijke Bibliotheek The European Library: opportunities for new services.
OCLC Research April 2008 Terminology Services Experimental Services for Controlled Vocabularies.
WikiD (Wiki/Data) Jeffrey A. Young OCLC Office of Research DLF Fall Forum Charlottesville, Virginia 8 November 2005.
Deconstructing Cataloging A Web Services Approach to Bibliographic Control Thomas Hickey.
Z39.50 as a Web Service Ralph LeVan Research Scientist.
Search Web Services Ralph LeVan Senior Research Scientist.
Ralph LeVan Research Scientist
OCLC Online Computer Library Center SRW & DSpace Ralph LeVan OCLC Research.
OCLC Online Computer Library Center SRW & OAI Ralph LeVan OCLC Research.
SRU and CQL Ralph LeVan Senior Research Scientist OCLC.
A centre of expertise in digital information management UKOLN is supported by: SRU: An overview of the SRU protocol and how it can be used.
Searching very large bodies of data using a transparent peer-to-peer proxy Mike Taylor and Marc Cromme, Index Data
CQL – a Common Query LanguageMike Taylor Implementing SRW/U and CQL: Tools 1. Implementing a simple SRU client 2. Implementing serious SRW and SRU clients.
Delivering MARC/XML records from the Library of Congress catalogue using the open protocols SRW/U and Z39.50 Mike Taylor, Index Data
Distributed Service Registries Workshop, July 2005 Slide 1 NISO Metasearch Initiative Registries Robert Sanderson Dept. of Computer Science University.
WikiD (Wiki/Data) Jeffrey A. Young OCLC Office of Research Distributed Service Registry Workshop Warwick, UK 14 July 2005.
Written by Liron Blecher
WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
World Meteorological Organization Working together in weather, climate and water WMO Information System (WIS) Search (with SRU) Timo Pröscholdt (PO-WIS)
ArrayExpress Query Interface Gonzalo Garc í a Lara January, / 24.
General introduction to Web services and an implementation example
Ray Denenberg Ralph LeVan Interoperability Standards & Searching Multiple Repositories Workshop 20 March 25, 2006; Washington.
PHP syntax basics. Personal Home Page This is a Hypertext processor It works on the server side It demands a Web-server to be installed.
Z39.50 and the Web ZIG July 2000 Poul Henrik Jørgensen, Danish Bibliographic Centre,
4.01 How Web Pages Work.
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
Searching Digital Content via SRU Ryan Scherle Randall Floyd October 25, 2006.
ZML  ZNG  ZING “Z39.50 over XML”  “Z39.50 Next Generation”  “Z39.50-international: Next Generation”
Servlets and a little bit of Web Services Russell Beale.
1 Static Web Pages Websites on Servers (The Big Picture) –Apache Tomcat can support static web pages –Primarily intended to support servlets and JSP –Some.
And so on CGI programming Web Services Java Programs for the Web.
1 Java Server Programming zLecture 1 focuses on: yIntroduction to web services y Web Services using Axis y The bigger Picture: Introduction to J2EE y Java.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
1 Homework / Exam Exam 3 –Solutions Posted –Questions? HW8 due next class Final Exam –See posted schedule Websites on UNIX systems Course Evaluations.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Z39.50 for Finding It All William E. Moen School of Library and Information Sciences Texas Center for Digital Knowledge University of North Texas Denton,
Enabling Embedded Systems to access Internet Resources.
ELAG 2004  Work Shop on ZING Bill Oldroyd, Animator British Library Janifer Gatenby, Scribe OCLC PICA, Leiden, Netherlands.
A Web Services Approach for Search and Retrieve The Next Generation Z39.50 Access 2004, October 13-16, 2004, Halifax, Nova Scotia William E. Moen School.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Serialization. Serialization is the process of converting an object into an intermediate format that can be stored (e.g. in a file or transmitted across.
Introduction to Web Services Eric Lease Morgan University Libraries of Notre Dame June 24, 2005.
OCLC Online Computer Library Center Interoperability Standards & Searching Multiple Repositories Ralph LeVan/OCLC Ray Denenberg/Library of Congress.
1 Introduction to Web Applications & APIs. 2 Agenda  Architecture of Web Applications Three layer architecture  Web Server (Tomcat) Installation Data.
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
1 Introduction to Servlets. Topics Web Applications and the Java Server. HTTP protocol. Servlets 2.
WSDL Specification WSDL = Web Service Description Language Similar to ASN.1 – describes the abstract on the wire data structures Multiple bindings to on.
SRW/U: Re-Introduction SRW is a Web Services based Information Retrieval Protocol Motivations: Create an easy to implement protocol with the power of Z39.50.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Field Trip #24 Setting Up a Web Server. Apache Apache is one of the most successful open source web servers In 1995 the most popular web server was the.
Next Generation Z39.50 A Web Services Approach for Search and Retrieve 6 th Annual State GILS Conference, March 31 – April 3, 2004, Raleigh, NC William.
Z39.50 and the ZING Initiatives: MAVIS Users Conference, 2003 November 6, 2003 Larry E. Dixson Library of Congress.
AJAX CS456 Fall Examples Where is AJAX used? Why do we care?
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
USING ANDROID WITH THE DOM. Slide 2 Lecture Summary DOM concepts SAX vs DOM parsers Parsing HTTP results The Android DOM implementation.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
USING ANDROID WITH THE INTERNET. Slide 2 Lecture Summary Getting network permissions Working with the HTTP protocol Sending HTTP requests Getting results.
Checking the Server.
Checking the Server.
WEB API.
How the VIAF Magic Happens
SRU & CQL Ralph LeVan Senior Research Scientist, OCLC
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Presentation transcript:

SRW/U for DSpace Ralph LeVan Research Scientist

What is SRW/U A Pair of HTTP-based Text Query Protocols – SRW: Search and Retrieve Web Service – SRU: Search and Retrieve URL Service An alternative to Z39.50

The Weaknesses of Classic Z39.50 Not popular with the Web community – Connection-based Sessions – Binary Encoding – Transmitted directly over TCP/IP Complicated

The Strengths of Classic Z39.50 Result Sets (a.k.a. Statefulness) Abstraction – Abstract Access Points (Attribute Sets) – Abstract Record Schemas Explain

SRW: Search and Retrieve Web Service SOAP (Simple Object Access Protocol) Based – HTTP – XML Records Described in WSDL (Web Service Description Language) 3 Services: SearchRetrieve, Scan and Explain

SRW: The Basics Only one database per request String (not structure) based queries Index Sets, not Attribute Sets One Record Syntax (XML)

The Explain Request An empty request – E.g.

The Explain Response A description of the database A list of the supported indexes A list of the supported record schemas

The SearchRetrieve Request String CQL Query Integer StartRecord Integer MaximumRecords String RecordSchema dog

The SearchRetrieve Response ResultSetReference – String resultSetName – Integer resultSetTimeToLive Integer numberOfRecords Records Diagnostics

CQL: Common Query Language Loosely based on CCL Search Boolean & Proximity Operators Index Sets & Indexes Truncation Characters *, # & ? Example: dc.title=harry potter or bib1.isbn= x

The Scan Request String CQL scanClause Integer maximumTerms Integer responsePosition on=scan&scanClause=dog&maximumTerms= 3&responsePosition=3

The Scan Response Terms – A term for searching – Possibly a term for displaying – The number of records retrieved by the term Diagnostics

Using SRU Send the URL and get the response BufferedReader in = new BufferedReader( new InputStreamReader(new URL( String inputLine=null, response; StringBuffer content=new StringBuffer(); while((inputLine=in.readLine())!=null) content.append(inputLine); response=content.toString();

Using SRU Parse the response using String methods int i=response.indexOf(, j=response.indexOf( ), count=Integer.parseInt(response.substring(i+17, j);

Using SRU Parse the response using DOM classes DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(record)));

Using SRW Get WSDL from server or LOC or w-sample-service.wsdl

Using SRW Convert WSDL to code java org.apache.axis.wsdl.WSDL2Java --server- side --skeletonDeploy true srw-sample- service.wsdl

Using SRW Write Client SRWSampleServiceLocator service=new SRWSampleServiceLocator(); URL url=new URL(" SRWPort port=service.getSRW(url); SearchRetrieveRequestType request=new SearchRetrieveRequestType(); request.setQuery(dog"); SearchRetrieveResponseType response= port.searchRetrieveOperation(request); int postings=response.getNumberOfRecords());

DSpace Implementation Reads list of Lucene indexes from SRWDatabase.props Converts CQL queries to Lucene queries Gets Dublin Core record from database

Installation Get the SRW.war file from Start tomcat (to unpack the.war file) Edit the SRWServer.props configuration file Copy the SRWDatabase.props file to your DSpace/config directory Restart tomcat

SRWServer.props # parameters for the SRW Servlet SRW.Home=d:/Apache Tomcat 4.1/webapps/SRW/ default.database=DSpace resultSetIdleTime=300 db.DSpace.class=ORG.oclc.os.SRW.SRWLuceneDatabase db.DSpace.home=d:/dspace/dspace-1.1/ db.DSpace.configuration=config/SRWDatabase.props

Examples

Links ace.ppt ace.ppt

& Q uestions A A nswers