Web services is both a process and set of protocols for finding and connecting to software exposed as services over the Web. By assuming a SOAP foundation, Web services can concentrate on what data to exchange instead of worrying about how to get it from point A to point B, which is the job of SOAP. To make things even easier, SOAP also defines an XML envelope to carry XML and a convention for doing remote procedure calls so that a service can advertise "call me here" and a program will be able to do so without concern for language or platform. Although SOAP may be used with a variety of protocols, the only bindings specified in the proposed SOAP specification are for HTTP.
A Web service can be anything from a movie review service, to a real-time weather advisory, to an entire hotel- and airline-booking package. The Web services technical infrastructure ensures that services even from different vendors will interoperate to create a complete business process. Web services takes the object-oriented vision of assembling software from component building blocks to the next level. With Web services, however, the emphasis is on the assembly of services that may or may not be built on object technology.
As Figure 1.5 illustrates, the interconnections opened up by the Web make possible a new way of interacting through the registration, discovery, and connection of software packaged as Web services. As we'll see in Chapter 5, there are three major aspects to Web Services:
-A service provider provides an interface for software that can carry out a specified set of tasks.
-A service requester discovers and invokes a software service to provide a business solution. The requester will commonly invoke a remote procedure call on the service provider, passing parameter data to the provider and receiving a result in reply.
-A broker manages and publishes the service. Service providers publish their services with the broker and requests access those services by creating bindings to the service provider.
Figure 1.5 The Web services framework provides protocols and a process for clients to discover and connect to web-based services. Repository