Write Once (on the Web), Run Anywhere

The concept, or some might say “markitecture” of Web-Oriented Architecture (WOA) is hardly new, but for some reason, in the past few weeks, debates over WOA vs. SOA have suddenly flared up like a tornado materializing in Kansas. Probably it’s no coincidence that the catharsis was the observation by Burton Group analyst Anne Thomas Manes that “SOA is not working in most organizations” because of a lack of will to share services across organizational silos. Microsoft’s new Live Mesh raises the profile of WOA even further -– more about that in a moment.

What’s interesting is that Manes’ conclusions laid the problem more to culture than technology complexity. But subsequent arguments from the likes of Dana Gardner, who contends that SOA became all too much the end and not the means; or Software AG’s Miko Matsumura and StrikeIron’s David Linthicum who viewed WOA as an onramp to SOA, while TechTarget’s SearchSOA columnist Michael Meehan concluded from interviewing a number of experts that WOA was simply hype and markitecture, or, “an empty suit if you will.”

For the record, we’re struck by the incredible parallels between WOA and Ajax, in that they both stretch common web building blocks in ways that creators never foresaw. Both have similar appeal to web developers, based on the facts that the technologies are already familiar, both rely on a grab bag of poorly structured technologies, with few if any rules governing how you apply them.

Cut to the chase. Like the Democratic primaries, the latest reminder that we just can’t put this WOA vs. SOA debate to rest is Microsoft’s unveiling of Live Mesh. The elevator pitch is that it is Microsoft’s emerging on demand environment enabling you to store and share things between PCs and other kinds of devices like phones (smart and dumb), game stations, PDAs, and other things. We won’t repeat what’s already been reported, but check out Mary Jo Foley who’s got the Top Ten list describing what Live Mesh is, and eWeek’s Daryl Taft, who’s described in detail the underlying development platform.

Live Mesh uses a freebie new technology from Microsoft called FeedSync that makes syndication feeds bi-directional. It surrounds FeedSync with – you guessed it – a webby-oriented development environment. “If you want to live in software and services world, you must start with what works on the web, lowest programming model to be built on open protocols,” explained Abhay Parasnis, Microsoft’s product unit manager for Live Mesh.

So let’s call WOA the lowest common denominator.

Under the hood, Live Mesh’s plumbing runs on raw XML sent over HTTP, using a RESTful programming model for obtaining services, plus the familiar ATOM or RSS feeds that support pubsub communications. Above that, Microsoft provides different paths so .NET, Ajax, and dynamic scripting languages can all write to this platform. This being Microsoft, rendering via WPF and Silverlight are supported as well. OK, if you want Java, AIR, or Flex, better wait for another Mono project.

Live Mesh is intended as a loosely coupled platform in that it supports familiar store & forward and pubsub modes. You might call it a variation of a Services-Oriented Architecture because the services are supposed to be abstracted from whatever device or software platform they are implemented on, but there’s no trace of any web services stack here.

In other words, if you want to write once, run anywhere, Microsoft is telling you to use WOA.