Personal service-oriented architecture

There's an important lesson here I hope desktop applications will learn, courtesy of the emerging paradigm of SOA (service-oriented architecture). In the realm of SOA, events are represented in an open XML format and flow through a transparent pipeline that's open to inspection and subject to intermediation...

Ironically, the graphical desktop popularized the event-driven model that's being writ large in the Web services network. Now we need to come full circle. Local event streams need to be open in the same ways as network event streams are and for the same reasons. [InfoWorld: Strategic Developer: October 31, 2003]
When I mentioned Apple's Knowledge Navigator video in a blog posting recently, it attracted an unusual amount of attention. Clearly many people long for the kind of human/computer interaction so clearly imagined in that video. This week's InfoWorld column asks the question: How can today's technologies deliver some of the kinds of intelligent assistance that we crave? My conclusion was that the principles of service-oriented architecture can apply on the desktop as well as in the cloud. If local applications exchange XML messages with one another, as well as with the services cloud, then the same techniques of observation and intermediation can apply in both realms.

It's intriguing to note, in this vein, that Longhorn's communication subsystem, Indigo, aims to make standards-based XML messaging work efficiently across a broad range of topologies. In an article just published on MSDN, Don Box writes:

Indigo makes service-oriented programming viable in a broad spectrum of mainstream applications. By taking advantage of various facilities of both the CLR and Windows, Indigo can be used in performance-sensitive situations such as single-host and even single-process integration. This scale-invariance makes Indigo-based services accessible to a broader range of deployment options than current technologies. [A Guide to Developing and Running Connected Systems with Indigo]

Excellent! Five years ago, I got excited about the idea that a local Web server could enable a peer-to-peer style of computing in which user-facing applications and machine-to-machine services were made of the same stuff and therefore highly synergistic. I'm still jazzed about a unified service-oriented model, and look forward to seeing Indigo help make it a reality. So, in case you were wondering, I am not a complete black helicopter conspiracy theorist on Longhorn!

Former URL: