Browser as orchestrator

It's been a busy week for my LibraryLookup project, which first launched in December 2002. In its original and still most widely deployed incarnation, LibraryLookup is a JavaScript bookmarklet that connects an Amazon book page to the corresponding record in a library catalog. The success of this technique got me thinking about themes I've pursued ever since: the dynamics of user-driven innovation, the protean flexibility of RESTful (Representational State Transfer) Web applications, and the dynamics of lightweight service orchestration.

LibraryLookup's failures were equally instructive. As are other kinds of Web apps, library catalogs weren't (and mostly still aren't) designed for this kind of integration. It doesn't require much, just an unencumbered search URL. Although some catalog vendors provide one, there are a number of others that still don't.

The information architecture of the book world was another cause of failure. ISBNs don't uniquely identify books. There's one for each hardcover and paperback edition, so the ISBN number in your browser had to match the one you looked up in the catalog. On my blog, I wished for a service that would unify these variants, and about a year ago, the Online Computer Library Center granted my wish. It deployed an experimental service called xISBN that maps a book's ISBN to the whole set for that book.

Although a bookmarklet can splice a pair of services together, it can't combine three or more services without relying on some kind of external orchestrator. That was more than I wanted to build and support, so the project was relegated to the back burner for a while.

This week, however, I recalled that I already had one kind of orchestrator in place. It connects my Amazon wish list to my RSS reader, by way of a library catalog lookup. If a book isn't available in the library when I'm visiting the Amazon page, but later becomes available, I'm notified via RSS. The orchestrator in this case is just a Python script that's scheduled to run daily. It was easy to extend it to use xISBN, so I did.

I had earlier shown this RSS notifier in a screencast about client-side intermediation. There I also showed a Greasemonkey script that rewrites an Amazon book page on the fly when it finds that book in the library. Could the Greasemonkey script also be extended to orchestrate a collection of services?

Yes, and you can find the gory details on my Weblog. Here, I'll just summarize my conclusions. First, I'm bullish on client-side intermediaries and orchestrators. For me, at least, this is the AJAX (Asynchronous JavaScript and XML) endgame. Service composition in the browser can, and will, nicely complement service composition in the cloud. I've done it at the WS-Light end of the tolerance continuum; Tibco General Interface shows it can be done at the WS-Heavy end as well. AJAX and BPEL aren't in bed together yet, but mark my words, it'll happen.

Second, I'm cautiously optimistic about the future of the kinds of advanced Web standards that can make this stuff really sing. The latest W3C APIs all worked well in Firefox 1.0, and they work even better in 1.5. Meanwhile the once-frozen Internet Explorer has thawed and is on the move again. I don't know how far Microsoft will allow IE to go, but the Windows Live initiative gives me hope that the full power of the standards-based Web client may yet be unleashed.

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Jon Udell

InfoWorld
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?