Print

Print


Michael Beccaria wrote:
> We will be switching over to VuFind this summer and I will likely use GB
> in a similar way with that interface as well. I plan (hopefully this
> summer) to build a web service that uses OCLC Web Services, Open
> Library, Hathi Trust, and Google Books to search for and return similar
> items from those resources to display in our catalog. I really like the
> service overall.
>   

Incidentally, my Umlaut software can provide just such a web service. 
Umlaut is intended to do a lot more (it's intended to be an OpenURL link 
resolver front-end), so it _might_ be overkill for that purpose, but it 
might still make sense to use it even without the link resolver just for 
it's ability to provide a web service aggregating these (and other) 
services.

Umlaut has an architecture allowing plugins that consult other web 
sources in real time, like OpenLibrary, Amazon, Google Books, and 
HathiTrust. (All those are included as plugins right now; OCLC isn't; 
some of the current plugins will only search on identifiers like ISBN, 
LCCN; others will do keyword searches. This could be changed).  Plugins 
can run in parallel using threads, or can have specified order to run 
one after another (with the possibility of not running later ones if 
earlier ones returned results).

Results can be returned in HTML "link resolver" interface, or in XML or 
Json.   Response includes information on plugins that are still "in 
progress", if you've set it up for "waves" of execution, and client can 
keep polling until complete. (This waves/polling feature may be overkill 
for just what you want to do, but Umlaut supports it because I needed it 
for my more complicated use case).  There is also the option to return 
an XML or Json response that has escaped rendered HTML embedded in the 
response, so the client can just plop already consistently rendered HTML 
in it's own page somewhere, instead of re-rendering.

So, while intended as a "link resolver front-end", what Umlaut has 
turned into is a pretty powerful framework for hosting external web 
service plugins, and aggregating them into a single web service.    
Might be overkill for what you want, but might come in handy.   (Umlaut 
does NOT currently support any generic 'caching' architecture, which is 
something you'd want in a "general purpose framework for aggregating 
third party web services".  So I guess it's missing that, I didn't 
really need it enough to spend time on it, yet.)

I was gonna give you some examples, but I'm having trouble finding any 
that actually result in a GBS or HT or OL hit!

Jonathan







> Mike Beccaria
> Systems Librarian
> Head of Digital Initiative
> Paul Smith's College
> 518.327.6376
> [log in to unmask]
>
> -----Original Message-----
> From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
> Will Brockman
> Sent: Tuesday, March 09, 2010 5:02 PM
> To: [log in to unmask]
> Subject: [CODE4LIB] Conference followup; open position at Google
> Cambridge
>
> As a first-time Code4Lib attendee, let me say thanks for a fun
> conference - a very interesting and creative group of people!
>
> A question I posed to some of you in person, and would love to hear
> more answers to: What are you doing with Google Books?  Do you have a
> new way of using that resource?  Are there things you'd like to do
> with it that aren't possible yet?
>
> Also, a couple of people asked if Google is hiring.  Not only are we
> hiring large numbers of software engineers, but we're now seeking a
> librarian / software developer (below).  I'm happy to take questions
> about either.
>
> All the best,
> Will
> brockman@google
>
>
> Metadata Analyst
>
> Google Books is looking for a hybrid librarian/software developer to
> help us organize all the world's books.  This person would work
> closely with software engineers and librarians on a variety of tasks,
> ranging from algorithm evaluation to designing and implementing
> improvements to Google Books.
>
> Candidates should have:
> * An MLS or MLIS degree, ideally with cataloguing experience
> * Programming experience in Python, C++, or Java
> * Project management experience a plus, but not required
>
> This position is full-time and based in Cambridge, MA.
>
>