XML Web Services Infrastructure
XML Web services must be agnostic regarding the choice of operating system, object model, and programming language to succeed in the heterogeneity of the Web. Also, for XML Web services to enjoy the same widespread adoption as other Web-based technologies, they must be:
- Loosely Coupled: Two systems are considered loosely coupled if the only mandate imposed on both systems is to understand the aforementioned self-describing, text-based messages. Tightly coupled systems, on the other hand, impose a significant amount of customized overhead to enable communication and require a greater understanding between the systems.
- Ubiquitous Communication: It is unlikely anyone will build an operating system now or in the near future that will not incorporate the ability to connect to the Internet, therefore providing a ubiquitous communication channel. As such, the ability to connect almost any system or device to the Internet will ensure such systems and devices are universally available to any other system or device connected to the Internet.
- Universal Data Format: By adopting existing, open standards over proprietary, closed-loop communication methods, any system supporting the same open standards is capable of understanding XML Web services. Utilizing self-describing, text-based messages that XML Web services and their clients can share without the need to know what constitutes each underlying system enables communication between autonomous and disparate systems. XML Web services achieve this capability using XML.
XML Web services employ an infrastructure that provides the following: a discovery mechanism to locate XML Web services, a service description for defining how to use those services, and standard wire formats with which to communicate. The following illustration shows an example of this infrastructure.
XML Web services infrastructure
Infrastructure piece | Role |
---|---|
XML Web Services Directories | XML Web services directories provide a central location to locate XML Web services provided by other organizations. XML Web services directories such as a UDDI registry fulfill this role. XML Web service clients might or might not need to reference an XML Web service's directory. |
XML Web Service Discovery | XML Web service discovery is the process of locating, or discovering, one or more related documents that describe a particular XML Web service using the Web Services Description Language (WSDL). The DISCO specification defines an algorithm for locating service descriptions. If XML Web service clients know the location of the service description, they can bypass the discovery process. |
XML Web Service Description | To understand how to interact with a particular XML Web service, it is necessary to provide a service description that defines what interactions the XML Web service supports. XML Web service clients must know how to interact with an XML Web service before they can use it. |
XML Web Service Wire Formats | To enable universal communication, XML Web services communicate using open wire formats, which are protocols understandable by any system capable of supporting the most common Web standards. SOAP is the key protocol for XML Web service communication. |