What is an XML Web Service?
XML Web services are the fundamental building blocks in the move to distributed computing on the Internet. Open standards and the focus on communication and collaboration among people and applications have created an environment where XML Web services are becoming the recognised platform for application integration.
Applications are constructed using multiple XML Web services from various sources that work together regardless of where they reside or how they were implemented.
Most definitions of XML Web services agree that:
- XML Web services expose useful functionality to Web users through a standard Web protocol. In most cases, the protocol used is SOAP
- XML Web services provide a way to describe their interfaces in enough detail to allow a user to build a client application to talk to them. This description is usually provided in an XML document called a Web Services Description Language (WSDL) document
- XML Web services are registered so that potential users can find them easily. This is done with Universal Discovery Description and Integration (UDDI)
Key Benefits
One of the primary advantages of the XML Web services architecture is that it allows programs written in different languages on different platforms to communicate with each other in a standards-based way.
SOAP, the communications protocol for XML Web services, is significantly less complex than earlier approaches, so the barrier to entry for a standards-compliant SOAP implementation is significantly lower.
The other significant advantage that XML Web services have over previous efforts is that they work with standard Web protocols – XML, HTTP and TCP/IP. A significant number of companies already have a Web infrastructure, and people with knowledge and experience in maintaining it, so the cost of entry for XML Web services is significantly less than previous technologies.
What do Web Services Enable Organisations to do?
The first XML Web services tended to be information sources that you could easily incorporate into applications – stock quotes, weather forecasts, sports scores etc. Most of this information is available on the Web, but XML Web services will make programmatic access to it easier and more reliable.
Exposing existing applications as XML Web services will allow users to build new, more powerful applications that use XML Web services as building blocks. For example, a user might develop a purchasing application to automatically obtain price information from a variety of vendors, allow the user to select a vendor, submit the order and then track the shipment until it is received. The vendor application, in addition to exposing its services on the Web, might in turn use XML Web services to check the customer's credit, charge the customer's account and set up the shipment with a shipping company.
