+ All Categories
Home > Documents > Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant,...

Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant,...

Date post: 04-Jan-2016
Category:
Upload: maria-weaver
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
34
Breaking Out of the Breaking Out of the Box: Box: Creating Customized Creating Customized Metasearch Services Using an Metasearch Services Using an XML API XML API Roy Tennant, California Digital Library
Transcript
Page 1: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Breaking Out of the Box:Breaking Out of the Box: Creating Customized Metasearch Creating Customized Metasearch

Services Using an XML APIServices Using an XML API

Roy Tennant, California Digital Library

Page 2: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

A Cautionary TaleWherein a NitWit finds the courage to face his Disastrous and Idiotic Mistakes while his respected colleagues Justifiably Point and Laugh

Page 3: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

What is Breaking Out of the Box?

• Using an XML-based Application Program Interface (API) to an application instead of the native interface

• Requires building an interface layer to:– Accept user input, package it up, and send it to the API– Receive the XML response from the API and process it,

perhaps spawning additional requests to the API– Perform (optionally) other tasks not performed by the

application; e.g., querying another application and merging the response into the user interface

• Or: You do the work, the villain does not

Page 4: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

What is Breaking Out of the Box?

• Using an XML-based Application Program Interface (API) to an application instead of the native interface

• Requires building an interface layer to:– Accept user input, package it up, and send it to the API– Receive the XML response from the API and process it,

perhaps spawning additional requests to the API– Perform (optionally) other tasks not performed by the

application; e.g., querying another application and merging the response into the user interface

• Or: You do the work, the vendor does not

Page 5: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Why Break Out of the Box?

• Much greater interface flexibility• Interface customizations remain despite system upgrades • Increased ability to integrate with other systems• Ability to add new functions and services not supported by

the vendor:– Spell checking– Recommendation services

• Upon which it finally occurs to the NitWit that Arrogance has its Price

Page 6: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

A Visit to the Scene of the

Crime: Part the 1st• Started shopping for metasearch software in

late 2002• Purchased MetaLib from ExLibris in Spring

2004• Trained in Fall 2004, then began studying how

to make it easy for campuses to customize the interface

• Interlude: A Discovery is Made

Page 7: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Wherein the NitWit discovers

the full magnitude of his

Error• To customize one screen, change all of the

following file fragments:quick-1, quick-2-end, quick-3-body, quick-details, quick-1-body, quick-2-end.orig, quick-3-head, quick-details-info, quick-1-head, quick-2-head, quick-3-js, quick-full, quick-1-tail, quick-2-tail, quick-3-no-results, quick-help, quick-1-toolbar, quick-2-toolbar, quick-3-tail, quick-help-main, quick-1-toolbar-pd, quick-2-wait, quick-3-toolbar, quick-js, quick-2, quick-3, quick-8-body.spa, quick-main-help

• Then, watch other screens break later in the flow• Rinse and Repeat

Page 8: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Why this was truly Tragic

• Our vision is of many search portals:– Tailored to specific audiences (earth science faculty and

grad students) and/or purposes (a few good things)– Branded locally (we serve ten campuses)

• Integrating many types of content or services not typical of library metasearch applications

• The native interface presented difficult, systemic barriers to customization

• The native interface was rife with browser-specific Javascript and substandard HTML

Page 9: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 10: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 11: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 12: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 13: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Undergrad portal with suggestions of subject databases

Page 14: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

A Visit to the Scene of the

Crime : Part the 2nd• After struggling with interface changes,

decided to go with API access in late 2004

• Interlude: the NitWit discovers there is no API worthy of the name

Page 15: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

In which the NitWit overcomes despair

by Blind, Ill-Considered action• The MetaLib API was primitive, poorly documented, buggy, and lacked most of the functionality of the native interface

• We marshalled the community:– Established an X-Server listserv– Gathered input on upgrades, wrote document

summarizing our priorities

• Worked with ExLibris to improve the API• Began integrating MetaLib with the

Common Framework

Page 16: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

The Attentive Audience Asks:

The What?

Page 17: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Common Framework: Principles

• Clear separation of applications from underlying services

• Consistent exposure of services thru SOAP and Java client API

• Separation of services from data storage and other resources

• Easy integration of 3rd-party solutions• Platform independence

Page 18: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

The CDL Common Framework

• Programmed in Java• Based on Web Services (e.g., SOAP/REST

interfaces)• Services often also have Java and/or Web-based

client applications• Uses METS & PREMIS (for metadata) and ARKs

(for persistent links), among other standards or draft standards (e.g., OAIS reference model)

• Integrates the Extensible Text Framework (XTF) XML searching and publishing platform — see xtf.sourceforge.net

Page 19: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

Common Framework Capabilities

• Presently:– Ingesting, managing, and preserving digital

content – Serving XML to the Web– Searching XML metadata and content

• In Development:– Web crawling – OAI harvesting (based on the UofM harvester)– Metasearching (using the MetaLib X-Server)

Page 20: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 21: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

A Visit to the Scene of the

Crime : Part the 3rd

• Installed first major upgrade to the API in August 2005• Still coding (no Alpha yet!)• Next major upgrade to the API expected in late Spring 2005

• Wherein the NitWit discovers that implementation schedules are to be broken … once … twice … thrice

• Interlude: An attempt by the NitWit to justify his Dubious Decisions and StaggeringMistakes

Page 22: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

A panoply of Lame Excuses

• Most metasearch software is not designed for multiple, tailored deployments

• Product APIs are often incomplete or nonexistent• We would rather delay deployment than give up on our model of

tailored portals• It wasn’t my fault

• Meanwhile, the abject failure of this NitWit is made all the more clear by the work of David Walker at CSU San Marcos, who Rocks!

Page 23: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 24: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 25: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 26: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 27: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 28: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 29: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 30: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 31: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 32: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.
Page 33: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

The Agony is Nearly Over

• We conclude our Unfortunate Tale with advice for those who may be unable to avoid such Tragedy as befell this most Deserving Wretch

Page 34: Breaking Out of the Box: Creating Customized Metasearch Services Using an XML API Roy Tennant, California Digital Library.

The Sad Morals of Our Tale

• Proprietary solutions sucketh; proprietary solutions without an API sucketh rocks

• “Excellent” is the sworn enemy of “easy”

• Neither early adopter nor latecomer be (Pain is best experienced by others)

• The first task of a Project Manager is to select upon whom to pin the Blame


Recommended