Why is there no WS-Contract?
In an earlier post I alluded to recently meeting
Steve Jones, Capgemini's CTO of Application Development Transformation. We shared a
panel for a VNU web seminar on SOA and ESB, and it turns out that we have pretty similar views on SOA – specifically, that the really crucial bit is about understanding the "S" and the "A".
In other words – Q: What makes SOA different from "just a bunch of web services"? A: An architectural approach. Which puts services at the centre.
Which probably doesn't mean an awful lot by itself ;-)
The crucial bit about this, though, is that services aren't interesting because they can be exposed using WSDL and interacted with using SOAP (or indeed using any other combination of readily-available interface definition language and communication protocol): they're interesting because of what they can represent. Just as OO was valuable primarily because objects could be representations of real-world objects, "SO" is valuable primarily because services can be representations of what companies do. [Note: here, I’m pretty much quoting direct from Steve's presentation.] To me, this means that SOA's potential value is really about helping IT organisations, and the businesses they serve, start to talk and collaborate using a common language.
The challenge here is that companies wanting to balance a bottom-up approach to SOA (which is about how to make software systems more interoperable through service interfaces) with a top-down approach (which seeks to identify and model how service portfolios can be managed to help align IT and business) have precious little available to them in terms of off-the-shelf tools. Some of the modelling tool vendors (
IBM Rational is one example) and "enterprise architecture tool" players (
Troux Technologies springs to mind) can validly say that they can help – but the truth is that most of what's going on is about modelling software structurally, even if this is done at a high level. It's not focusing with equal power on quality-of-service or commercial commitments which need to be thought about if SOA is really going to be about IT delivering "services" to the business.
A rich approach to the idea of "service contracts" is an excellent way to balance structural (functional) concerns with QoS and commercial concerns – and build bridges from requirements modelling, all the way through design, development, and deployment to system operation. But at the moment the infrastructure required to support this contract-centric approach is missing.
With this in mind, I think it's about time that the likes of IBM, Microsoft, Sun, BEA, Oracle, SAP, Borland, Compuware, CA, and Telelogic put their heads together and started thinking not only about the "
bottom up" view of SOA – but also about how to promote standard approaches to help people with the "top down" view of SOA that really drives value. They could start by talking to
Bertrand Meyer…
As Steve put it: "Why isn't there a WS-Contract initiative?"