I've already introduced some aspects of Web Services that make them more complicated than they initially look. In this section, I will discuss them in detail.
The first problem with Web Services is that it is not just one standard defined by one standardization organization. As stated earlier, there are more than 50 different Web Services specifications, specified by three different standardization organizations (W3C, OASIS, and WS-I). Figure 16-3 gives a brief overview.
Figure 16-3. Overview of Web Services standards
Say you're a tool vendor, and you want to provide tooling for Web Services. Which of these standards should you follow? And once you've determined that, which versions of the specific standards should you follow? It's a mess, and as a consequence interoperability is still a real problem.
Even for the five fundamental standards mentioned previously (XML, HTTP, WSDL, SOAP, and UDDI), the goal of interoperability has traditionally been hard to attain. Even if you chose the same versions of these standards, the specifications were too sloppy or too broad. For this reason, something interesting happened: in 2002, several vendors (Accenture, BEA, Fujitsu, HP, IBM, Intel, Microsoft, Oracle, and SAP) got together and founded a standardization organization for standardizing the standards. This organization is called the Web Services ...