General Information
What are Web Services?
Web Services arose from the recognition for application to application communications, to enable any application to communicate or interoperate with any other application, without regard to the underlying operating systems, programming languages or other implementation details. In this way, Web Services provide the "user interface" for applications to talk to other applications, much the same way HTML/HTTP provided the user interface for user to application communications for Web applications.
Object-Oriented Terminology Used in this Document
This document uses two terms to represent the foundation of Web Services in Object-Oriented Programming (OOP):
- Web Service “Component” – A collection of web services. This corresponds to the Object concept of Object-Oriented Programming, but just its interface, not the actual data.
- Web Service “Method” – The actual Web Service itself. A component may have many methods, or it may have only one, but there is always at least one method. Each method is a Web Service. The user of that service provides input data in the call and the method operates on the input data.
Unlike traditional OOP, where both data and methods reside on the same machine, a component is usually assumed not to contain its own “instance” data. Although that requires providing all data needed in the call to the method, this specialized structure of a component is what allows the caller to reside on a different machine from the method being called. Data provided by the client machine is processed on the server machine and the response is returned as data back to the client.
It’s possible to define a component that maintains data statefully on the server, but this introduces unnecessary complexity. One of the principle benefits of using a Web Service is its simple request/response nature, like HTTP for web pages.