XML versus Web Services

As a standard for communication between systems, by nature XML has limitless application, including:

To explain the difference between XML and Web services, let’s look at a situation that presents itself to most of us many times each day. You receive a phone call from a colleague or family member asking you to carry out a task and get back to them with the result. Implicitly, all of the following decisions and abilities are in place.

  1. You have both decided to use a common language (for example, English)

  2. You both conform to grammatical rules and acceptable vocabulary (for example, English grammar and words)

  3. You both understand the meaning of that vocabulary (for example, please run the xyz report)

  4. You both know what you can do for each other and how to get each other to do it (for example, that you can provide the other person with the data to run the xyz report so it can be run)

  5. You are able to act upon the request received (for example, you are able to run the report and providethe other person with the information)

  6. They are able to understand the information returned (for example, they can understand the report)

  7. You have both agreed on a mechanism by which the exchange is facilitated (for example, you know each other’s phone number)

All of the above can be broadly cast into the following three separate areas of understanding.

The situation is similar when two systems need to communicate. Use of XML is effectively an agreement to use a common language. However, both systems must be able to know all of the other details required to interact. To continue with the analogy, you and your colleagues speak the same language, understand each other’s capabilities, how to make contact, make meaningful requests, and understand responses. You know this through experience with each other and training.

Use of Web services makes it possible for an application to publish language, behavior, and connection information about itself. This information can then be used by other systems that want to interact with it. The document that provides this description (also written in XML) is known as a Web Services Description Language (WSDL) and includes the following.

Use of Web services is equivalent to you publishing who you are, what language you speak, what you can do for anyone, what you need to do it for them, how you will respond, where they can contact you, and how they should communicate.

XML on its own is only the language component of the broader Web services functionality, but it is significant in that it’s the foundation on which it’s all built. It can also be used effectively by itself, and this white paper covers how you can do this in JADE.

JADE provides SOAP Web services functionality. For details, see the SOAP Web Services White Paper.