Is Web services still really vendor-driven -- with you going out there and saying, "this is the solution," and customers accepting it? Or, after four years now of having Web services out there, are they starting to push back and say, "this is how we would like it"?
Let me bring up SOA, which is the larger picture. It is distributed computing with characteristics around liability, security and manageability crossing enterprise boundaries.
The world has changed a lot, and we no longer have control of all the things we are running. It turns out that Web services is by and large the best way we are going to do this today, because it also involves things like Java. So therefore, Web services in terms of being adopted is early mainstream. Gartner thinks that slightly more than 50 percent of companies are showing signs of doing Web services today.
I would tend to agree with that, but when you talk to customers about SOA, they almost all say, "Yeah, we're doing it." They understand this notion, because they are driven not just by these internal concerns but by mergers and acquisitions and having data centres that are widely distributed -- about having the best design for how they connect to the rest of the world.
Let's get back to service-oriented architecture. What does it mean, exactly?
SOA has been around a long time, since the client server in the 80s. As a subset of object-oriented programming and design, SOA was clearly in there. And there was a glimmer of this a few years ago, when Java was coming out. Certainly, everyone in the universe used Java. But it was the Internet and XML that made this fully possible, so today, it is characterised by saying it is distributed computing. It is loosely coupled, which means that you have very little knowledge about the actual construction of the services.
It is defined by standards that have actual descriptions of how you talk to it and how it talks back to you. You use the same language to talk about all these interfaces -- specifically, this is Web services description language, and that means that you can start leveraging common registries for services.
You can look up, "how do I talk to this version of a particular thing?" Tools start becoming much simpler, because if everything you want to use is described in the same language, you can start dragging and dropping these different things and threading them together much more easily.






