password
username
Sponsored by CakeMail, an email marketing software.
Newsletter preview


If you cannot read the information below, click here.
O'Reilly.comSpreading the Knowledge of Innovators

XML animal imageUnderstanding XML


The Latest from XML.com

From SOA to ROA

I spent much of last week in New York at the Sys-Con AJAXWorld conference (held, with some irony, across the street from the corporate headquarters of Bear Stearns while that company imploded in the news - the normally well dressed Wall Street types coming out of that particular building were looking rather singularly disheveled). Jeremy Geelan, the CEO of Sys-Con and himself a rather dapper Englishman, threw a good conference as he normally does, bringing together thought provoking speakers with people exploring the cutting edge of today's technology.

However, one of the things that I observed at this particular conference was something that echoed a seminar I'd participated in a couple of weeks before at the GITA Geospatial Infrastructure Conference in Seattle. For all of the hype about SOA (and there's a lot of hype about SOA), it's not faring as well as one might expect when people actually have to implement real-world SOA stacks.

sponsor image

One of the major problems that people are dealing with is the fact that while SOA systems are reasonably good at facilitating machine to machine based communication, they don't tend to scale all that well outside of the department-to-department level; there is usually a huge disconnect when those machines need to communicate their results back to human beings (or vice versa). It's not pervasive, yet, but I think its part of what is in fact driving a significant resurgence in the idea of REST-oriented architectures (ROAs).

Inside Lightroom
Inside Lightroom
Visit our Sponsored Developer Resource Pages and learn about cool stuff from our sponsors!

Interesting in Sponsoring?
Interested in sponsoring the XML.com newsletter?
Please email us at advertising@oreilly.com for rate and availability information. Thank you!

For the record, ROAs differ from SOAs in one significant way - SOAs are focused on service requests - in essence asking the server (as a proxy to some abstract object) to perform a certain action. In contemporary parlance it's verb oriented. ROAs, on the other hand, treat the web (or web-like systems) as a giant database of resource, and assume that the processing takes place outside of the immediate scope of this database. Put another way, an ROA is noun oriented instead.

This may sound like a fairly arbitrary distinction, especially since most web processes combine nouns and verbs in some fashion, but it turns out that this distinction is important, so important in fact that ROAs are essentially being "discovered" simultaneously all over the place as developers (and companies) realize that there are better architectures for working with the web.

In general, the dominant "emergent" ROA seems to be built around the W3C stack (not surprisingly), and consists of the following:

  • This provides both the messaging and enveloping technology, and sits atop the massive RSS infrastructure currently found on the web.
  • AtomPub provides a simple, semantically neutral way of publishing content (including data) to a server and retrieving dynamic feeds from that server, as well as to handle the underlying messaging and transactioning.
  • establishes a data abstraction layer behind AtomPub for performing queries and updating content, and it can be used to implement or augment AtomPub on a server system (even if that server is local).
  • is increasingly serving in the role of a discovery mechanism to determine which queries are possible against the published content.
  • have long been optimized for working with XML content (and with JSON, which can be readily serialized from many XML servers); they actually work quite well in displaying and editing this content.
  • are being tapped for the security and authentication aspects of such communication.

There are additional ancillary technologies - XSLT 2 is often paired with XQuery, for instance, XSD and Schematron are handling type and rules based validation, and so forth - that are used at various points in this particular stack, but aren't as integral as the ones mentioned above.

One thing that you might notice in the above breakdown is that, if you're familiar with the SOA stack, there's an analog for most of the same pieces that you might expect in WS-*: enveloping payloads, message transport, authentication, discovery, presentation, and so forth. This is neither accidental, nor is it some nefarious plot to undermine the WS-* stack, but is instead an awareness that there's an alternative approach that addresses many of the same basic needs in a distributed data network, an approach that for the most part has arisen organically.

I always pay special attention to organic development efforts, especially when they take place over as broad a scope as is evident with ROA. Organic technologies either fall apart early on as market solutions provide better local alternatives (localized eddies of chaos that get absorbed over time), or they reach a point where they become coherent enough that other technologies get absorbed within them. The Web itself is an example of such an organic technology, having reached a point where attempting to fight the web would be like fighting the Jet Stream - it can be done, but at great costs in fuel and constant attention to changing conditions to keep from getting blown off course.

ROA, built on (and around) syndication around resource-oriented operations that push the non-publishing processing onto alternative asynchronous operations, is built around the way that the web works. Moreover, it is a meta-architecture that can actually mesh with SOA systems at the point where data is moving across the wire as XML. It also represents a growing shift in the awareness that data is more than just what's stored in a relational database (though it also acknowledges that most data will still, for reasons of efficiency, reside precisely in such systems).

For some time xml.com has focused on pieces of ROA - xforms, xquery, atom, etc. - largely without any conscious effort to do so. One of my goals, moving forward, is to try to start tying these technologies together as a complementary stack to the SOA infrastructure, to showcase companies and projects that are exploring the edges of this next big wave. If you are working on such a technology or a piece of it, and you're interested in having a case study done showcasing your efforts, please contact me at kurt@oreilly.com and let me know what you'd doing.

Insights: Martian Headsets

Standards development, and development using standards, can be an exercise fraught with peril at times. Joel Spolksy wrote an interesting article entitled Martian Headsets about the headaches that the Internet Explorer 8.0 team face in trying to both hew closer to open standards and simultaneously deal with their own legacy applications. An excerpt:

You're about to see the mother of all flamewars on internet groups where web developers hang out. It'll make the Battle of Stalingrad look like that time your sister-in-law stormed out of afternoon tea at your grandmother's and wrapped the Mustang around a tree.

This upcoming battle will be presided over by Dean Hachamovitch, the Microsoft veteran currently running the team that's going to bring you the next version of Internet Explorer, 8.0. The IE 8 team is in the process of making a decision that lies perfectly, exactly, precisely on the fault line smack in the middle of two different ways of looking at the world. It's the difference between conservatives and liberals, it's the difference between "idealists" and "realists," it's a huge global jihad dividing members of the same family, engineers against computer scientists, and Lexuses vs. olive trees.

And there's no solution. But it will be really, really entertaining to watch, because 99% of the participants in the flame wars are not going to understand what they're talking about. It's not just entertainment: it's required reading for every developer who needs to design interoperable systems.

Read More ...

Standards Watch

It's been a fairly busy week on the W3C front, with a number of secondary specs moving through the process:

Efficient XML Interchange (EXI) Format 1.0
W3C Working Draft (2008-03-27)

EXI is one of the more controversial standards, as its role is to define a binary interchange equivalent format to XML that could be otherwise parsed, transformed, searched and so forth just as if it was text-encoded. This particular working draft covers the encoding and decoding mechanisms, the internal format, and integration points with other W3C technologies.

XML Query (XQuery) 1.1 Use Cases
W3C Working Draft (2008-03-27)

A year after publishing XQuery 1.0, the W3C XML Query Working Group is looking hard at the next logical step in this specification. This document, fairly typical of the way that the W3C works, outlines those things that they see a 1.1 version needing to do that 1.0 currently can't. This document shouldn't be considered normative.

XML Signature Syntax and Processing (Second Edition)
W3C Call for Review: Proposed Edited Recommendation (2008-03-26)

This specification looks at the creation and authentication of signatures within XML documents, and is part of the Security Activity. The earlier version of this specification has not seen a huge amount of adoption on the Web, but it does play a role in the W3C SOA stack. Once this is approved by the working group members, it should become a formal recommendation (likely by mid-summer 2008).

Extensible Stylesheet Language (XSL-FO) Requirements Version 2.0
W3C First Draft (2008-03-26)

XSL-FO has long been the forgotten sibling of XSLT, even though XSLT first appeared as an outgrowth of the XSL-FO effort. While it has long been relegated to an intermediate format for other, easier to author formats such as DocBook before creation of a PDF (typically for academic papers), XSL-FO is beginning to emerge out of that shadow and become respected in enterprises that have need for tight typographic control while still retaining the integrity of the XML data structures. XSL-FO 2.0 looks to be re-examining a number of assumptions about the nature of documents, and could become much closer to being a generalized XML layout language (it also provides a number of points where XSL-FO can work in conjunction with SVG for print output). This is the non-normative first draft to determine what specifically is to be the focus of XSL-FO 2.0 efforts.

Protocol for Web Description Resources (POWDER): Grouping of Resources
W3C Working Draft (2008-03-26)

POWDER is part of the Semantic Web Activity, and this particular specification deals with grouping collections of resources. This is likely to have some significant long term effects upon correlated REST development in the Web itself, especially in the areas of syndication and data collections.

Internationalization Tag Set Interest Group Launched
W3C Interest Group (2008-03-26)

A W3C Interest Group is a fairly new organizational structure, intended as a means to help coalesce other more discrete working groups. The Internationalization Tag Set IG is an instance of the growing realization that tagging and attribute-based categorization will likely be a major part of the Semantic Web (what I'd term SemWeb Lite), with this group specifically working to ensure that such tagging conventions can work effectively outside of the English speaking world.

Cool URIs for the Semantic Web
W3C Last Call (2008-03-21)

In 1998, Tim Berners-Lee wrote an article entitled "Cool URI's don't change", in which he talked about the idea that a URI, once published, should be considered permanent. So long as the web has been built with an emphasis on file structures, this argument has been hard to sustain, even though logically it makes a great deal of sense. However, recent advances in REST-based design and architecture have opened the door to the possibility that you can make your URIs much less dependent upon file structure arrangement (and more based upon abstract categorization mechanisms). This document re-examines this concept in light of ten years of thinking about the Semantic Web.

XML Base (Second Edition)
W3C Call for Review: Proposed Edited Recommendation (2008-03-20)

XML base is the extension to XML what has been one of the more useful constructs in web pages, the HTML base. It provides a way of establishing a base URI so that within an XML document such links can be expressed as relative rather than absolute references.



To change your newsletter subscription options, please visit http://www.oreillynet.com/cs/nl/home
For assistance, email help@oreillynet.com
O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472   (707) 827-7000