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 addressibility 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. (1, 2)
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.

Technorati Tags: