Monday, October 03, 2005

SOA 2.0

There has been renewed discussion of Web 2.0 around the blogosphere this week. Tim O'Reilly posted a schematic diagram Web2MemeMap onto Flickr, and published a long article What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software on his website. Several of the blogs I read have linked to either or both of these, and some of them have copied the diagram.

Many of the elements of Web 2.0 are highly relevant to service-oriented architecture and the service economy. In this post, I want to extract two sets in particular.

Loosely coupled systems of systems Small pieces loosely joined - web as components
Granular addressability of content
Software above the level of a single device
Radical decentralization
User-centric Users control their own data
Rich user experience
Trust your users
Emergent - user behaviour not predetermined
Customer self-service - enabling the long tail

If we apply this kind of thinking to SOA, a distinction emerges between SOA 1.0 and SOA 2.0.

SOA 1.0 SOA 2.0
Supply-side oriented Supply-demand collaboration
Straight-through processing Complex systems of systems
Aggregating otherwise inert systems and providing some new communication channels Frameworks, applications, agents and communication channels understanding each other more deeply. Building a smarter stack and designing applications to take advantage of new constructs that (we hope) promote agility and simplicity. Erik Johnson via Dion Hinchcliffe
Single directing mind Collaborative composition
Controlled reuse Uncontrolled reuse See my earlier posts on Controlling Content and Shrinkwrap or Secondhand
Endo-interoperability (within single enterprise or closed collaborative system) Exo-interoperability I am currently preparing a longer paper on interoperability and risk. See my recent posts on Efficiency and Robustness.
Cost savings Improved user experience This is one of the areas where SOA starts to get interesting for the business and not just for the technologists.

An emerging network-centric platform to support distributed, collaborative and cumulative creation by its users John Hagel

There are some other elements of SOA 2.0 that I intend to discuss in subsequent posts.

No comments: