Let's start with the criticism first. (Some of this is drawn from emails, but I won't attribute specific remarks to specific people because I don't have permission.)
- Questions about the central importance of SOA. If you regard SOA as merely a (technical) means to a (business) end, then making a technological fetish of SOA 2.0 maybe doesn't make much sense. Some ongoing reservations about the nature of Architecture.
- Distaste for anything called 2.0. Mark Nottingham (BEA) chortles quietly in his blog.
- Suggestions that what I'm calling SOA 2.0 is already contained within SOA - this is what SOA is all about anyway. (See my earlier post on Ambiguity.)
I agree that there are some problems with calling anything 2.0, and I certainly don't agree with all the Web 2.0 hype. One of the main problems is the apparent implication than SOA 2.0 is some kind of product, a stepwise improvement on some other product called SOA 1.0. But the distinction I'm trying to make is not between two kinds of technological product but between two kinds of technological practice. SOA 1.0 represents a limiting (and to my mind relatively uninteresting) way of using SOA, while SOA 2.0 represents a bigger vision of what SOA makes possible.
Even if SOA is merely a means to an end, I have a strong preference for SOA 2.0, and I think I can construct ethical/social as well as economic/technological arguments for this preference. I don't have a naive belief that technology magically makes people's lives better, but I am cautiously optimistic about the potential for using SOA in ways that positively benefit people and organizations and improve the user experience. I have articulated one aspect of this in my post on Self-Service.
One of the problems of describing evolution is that the steps often seem artificial - the historian's problem of converting a continuous narrative into separate chapters / episodes. So of course SOA 2.0 may seem artificial. When I describe a management roadmap or maturity model for achieving the full potential of SOA, I can describe several smaller steps. But although such models are useful for planning and managing, they are not so good for communicating the vision.
So here is my appeal to SOA experts - vendors, users, consultants and industry analysts. Let us acknowledge that there is a great deal of useful technical work going on, but admit that much of this work lacks the elements that make SOA genuinely worthwhile and exciting.
So what are these elements? Here are some of the echoes from the emails I have received. (Obviously this doesn't represent a complete set of anything,)
- Yin/Yang - service consumption/service delivery, inside/outside
- Collaborative - user-centric, federated identity, federated data
- Pervasive - service-oriented, pervasive workflow
- Presence - integrated user experience, operationally aware
- Out of Control, Emergent - uncontrolled reuse (in other words, reuse that is not constrained by the preconceptions of the provider, permitting hacking)
- Accountable - model-based, trustworthy