July 2005 Archives

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.sonicsoftware.com/cgi-bin/stars.cgi/SEActTracker.w?campcode=emtbsr_wb

Jon Bachman of Sonic and and Sean Kline of Systinet recently did a joint webinar on the subject of ESB, Web Services, and UDDI.
click here for replay

The webinar was specifically about the synergies between Sonic ESB and the Systinet UDDI Registry, and how they work together in a real world scenario that has to do with financial services, funds management, and dynamic process alterations through the introduction of a compliance engine as a service.

This was extremely well done of both their parts, and I encourage folks to have a look at it. Using animated diagrams such as this one –

image

The webinar clearly outlines the roles of an ESB to connect, mediate, and control the interactions between trading applications as services, and the complementary roles of an ESB repository for bus configurations vs a UDDI registry for external service definitions.
Dave

Bob DuCharme

AddThis Social Bookmark Button

Related link: http://library.lanl.gov/lww/openurl.htm

Jon Udell’s recent post about DOIs and the work of Tony Hammond (who I know from his time at Elsevier Science, my employer’s parent company) reminded me that I’d been postponing a plug for OpenURL. Instead of pointing directly at a resource, an OpenURL carries metadata that gets resolved by a “linking server” to point at one or another copy of the referenced resource. For now, this is usually in an academic context—if you’re studying at a particular university and reading a scholarly paper that references another one, your university’s linking server redirects you to a local copy of the referenced paper.

Along with the Los Alamos page that I link to above, Eamonn Neylon’s post to the OASIS XRI list titled OpenURL in bullets is also a great introduction to OpenURLs. (Is there something about metadata work that particularly appeals to the British? Among my personal and online friends in the markup world, this does seem to be a pattern.) Also check out Tim Bray’s concerns about OpenURL and Tony Hammond’s response to Tim.

As Tony wrote in another href='http://lists.w3.org/Archives/Public/www-tag/2003Aug/0079.html'>www-tag
posting, “OpenURLs challenge the notion of authority-specific URI
structures by providing public vehicles for the exchange of
metadata.” DOIs fit into this system very well. According to this short introduction on the relationship of OpenURLs and DOIs, “The OpenURL Framework includes DOI as one of its registered Namespaces and DOIs are widely used in OpenURL implementations.”

And finally, any research into OpenURL will lead you to the work of Herbert Van de Sompel, the digital library science researcher who developed OpenURL with Tony. His PowerPoint presentation The OpenURL Framework: Origins, Evolution, Concepts is another great introduction, and an interview with him by the Online Computer Library Center gives some interesting background on his metadata and linking work.

Jim Alateras

AddThis Social Bookmark Button

Related link: http://www.itconversations.com/index.html

I’ve been listening to IT Convesations’ podcasts for over a year and found the quality of the shows (audio and content) to be excellent. The benefits, at least for me down here in Australia are huge since I can download and listen to the best presentations across some of the best IT conferences (Supernova, Web 2.0, OSBC, Accelerating Change and MYSQL User Conference). As an IT professional I find the ITC site to be an invaluable source of information. I can download 3-4 presentations on my MP3 player and listen to them while I travel between home and work.

Recently Doug Kaye, the executive producer, sent a request for help in his newsletter and I promptly volunteered. I spend about 2 hours a weeks helping produce shows for IT Conversations, specifically listening to the original audio and writing a short and long description. The audio engineers are responsible for getting the audio up to scratch Doug reviews the shows and the web developers release them on the web. All in all it takes several hours from a number of people to produce and release a single show.

Simon St. Laurent

AddThis Social Bookmark Button

Related link: http://extrememarkup.com/

The Extreme Markup Languages conference, one of the finest opportunities to think about new possibilities for applying XML and related technologies, is nearly upon us.

While O’Reilly’s OSCON, which runs the same week, focuses primarily on programming languages, Extreme focuses on data structures and tools for manipulating them. While data structures might seem like a quiet field, there’s, well, infinite depth to them. The use of markup to indicate data structures creates a wide range of possibilities, and even though markup (like relational databases) has been around for over three decades, there’s still always something new.

The schedule includes everything from microformats to XSLT to Java to XQuery to Topic Maps to REST to search strategies to schemas to RDF to techniques for anonymizing markup.

Extreme will be in Montreal from August 1st through 5th. It doesn’t take much of an excuse to get me to Montreal in August, but this conference is good enough to ensure that I spend my days in sessions rather than enjoying the many attractions of the city. Dinners will of course be excellent, however.

Registration closes Friday, but onsite registration will be available for an additional $75 as well.

Ready to stretch your brain?

AddThis Social Bookmark Button

In the beginning

For much of the first year or two in the life of Web services - and indeed all of their history up to that point - they were about remote procedure calls (RPC); exposing remote APIs across the Internet in order to facilitate machine-to-machine communication and ultimately, business-to-business integration over the Internet.

It didn’t take very long however, for Web services proponents to realize that they needed to distance themselves from RPC and its well-deserved reputation as a poor large scale integration architectural style, due to the failure of systems such as CORBA, DCOM, and RMI to see any widespread use on the Internet. So, sometime in 2000/2001, collective wisdom in the space shifted towards a preference for “document oriented” services. Vendors quickly jumped on board with upgraded toolkits, and that was that; documents were the New Big Thing.

Unfortunately, the basic architectural assumptions underlying Web services at the time, didn’t change nearly enough to distance Web services from the problems of RPC.

What is “Document oriented”?

Respected Web services guru Anne Thomas Manes succinctly (and unknowingly, it appears) describes the differences between RPC and document orientation;

Document style:

<env:Body>
    <m:purchaseOrder xmlns:m="someURI">
      ...
    </m:purchaseOrder>
  </env:Body>

RPC style:

<env:Body>
    <m:placeOrder xmlns:m="someURI">
      <m:purchaseOrder>
        ...
      </m:purchaseOrder>
    </m:placeOrder>
  </env:Body>

The bigger difference is how you encode the message. […]

While the encodings used were certainly different, each with its own not-insignificant pros and cons, what Anne failed to point out is that the RPC example included an operation name (”placeOrder”) while the document oriented example did not. This constitutes an extremely significant architectural difference, as it tells us that Anne’s document example uses a state transfer style, while the RPC example does not.

State Transfer

State transfer styles, which include MOM, EDI, pipe and filter and others, are characterized primarily by one architectural constraint; all the components expose the same application interface. Actually, in most cases, including those three, the application interface is constrained to providing a single operation that one might call “processData” (it’s actually called “putData” in that pipe-and-filter description). Each server component exposes this operation, enabling any client to submit data to it for processing. In addition, because there’s only one operation, its use is implicit and therefore needn’t be included in the message.

Allow me to reiterate my main point; Anne’s document oriented example above includes an implicit (”processData”) operation.

REST

REST - REpresentational State Transfer - is, as the name suggests, also a state transfer style. One of the interesting ways that REST differs from the others, is that rather than constrain the interface to the single “processData” operation, it allows any operation which is meaningful to all components (referred to as the “uniform interface”). An interesting side-effect of allowing more than one operation, is that it requires messages be explicit about the operation in use, since there obviously needs to be a way to disambiguate messages with the same document, but different operations.

HTTP is the application protocol most closely associated with REST, largely because it was developed to respect many of REST’s constraints. As it related to the uniform interface and explicit operations, HTTP provides a “POST” operation which is an alias for the aforementioned “processData” operation. So, back to Anne’s example again, this HTTP message is semantically identical to her document oriented example;

POST some-uri HTTP/1.1
Host: some-host.example.org
Content-Type: application/x-purchase-order+xml

<env:Body>
    <m:purchaseOrder xmlns:m="someURI">
      ...
    </m:purchaseOrder>
  </env:Body>

Moreover, note that if the HTTP operation were different - say, if it were “PUT” instead of “POST” - then the message would no longer have semantics identical to Anne’s original document oriented example. Yes, this means that the semantics of the message are a function of the application protocol being used, unlike conventional wisdom with Web services which suggests that message semantics should be “protocol independent”.

Conclusion

Hopefully this little note helps put in context the architectural relationship between the Web and document oriented Web services. The relationship is closer than it appears in some important ways, yet more distant in others, likely as a result of the fact that Web services began with RPC, rather than with a truly document oriented architectural style. Perhaps spelling this out explicitly, as I hope I’ve done here, will help more Web services proponents realize the importance of the Web to their objectives of integrating systems across the Internet.

Note: this article was originally published at the Coactus weblog.

Simon St. Laurent

AddThis Social Bookmark Button

Related link: http://hobu.biz/index_html/google_phenomenon

Howard Butler has some thoughts on how the old GIS businesses, especially ESRI, fit into the brave new Google Maps world.

I especially like one of his notes on how the audience for these tools is changing:

From my involvement in the MapServer community, I know that there are typically two audiences for web map development. Those that are coming to it from the GIS side (and understand all of the data issues), and those that are coming to it from the web development side (and understand scale, deployment, and usability). In MapServer, the ratio has gone from mostly GIS folks to mostly web developers learning GIS as they develop an application.

We’ve had some fun recently publishing Mapping Hacks and Web Mapping Illustrated. We aimed both of them at outsiders learning mapping while doing other things, and that approach seems to have attracted the reader interest we were looking for.

I guess we’ll have to see how similar trends play out on the software development side of the business.

How much are you willing to learn to get a map?

Bob DuCharme

AddThis Social Bookmark Button

Related link: http://www.w3.org/News/2005#item97

I’ve often said that greater possibilities for addressing resources and points within resources means greater possibilities for linking, and the new predefined attribute xml:id can make a lot of straightforward, simple addressing of points within documents easier.

There are apparently some potential architectural problems, though. If this proposed W3C spec got this far under your own radar, you owe it to yourself to check out discussions of its good and bad points by David Megginson, Norm Walsh, their readers who contributed comments, and, more recently, Elliotte Rusty Harold.

Timothy Appnel

AddThis Social Bookmark Button

Related link: http://www.ietf.org/internet-drafts/draft-ietf-atompub-format-10.txt

Tim Bray announces on his weblog:

[Atom is] cooked and ready to serve. There are a couple of IETF process things to do, but this draft is essentially Atom 1.0. Now would be a good time for implementors to roll up their sleeves and go to work.

In a separate entry he acknowledges the efforts and contributions of the Atomic Tribe who made this standardization effort happen.

Congratulations and kudos to the work group on a job well done! This is the beginning of even better things to come.

Next up is The Atom Publishing Protocol (web services API) slated for completion later this year.

What are your predictions for Web Syndication going forward?

Micah Dubinko

AddThis Social Bookmark Button

Related link: http://dubinko.info/blog/patternalia/

Announcing a new Christopher Alexander-influenced column, published regularly in my weblog: Patternalia.

The first column gives a good overview of the ideas behind this series. The latest will always appear at the same location, so have a look.

More coming shortly. Have a peek!

What patterns would you like to see covered?