Advanced Systems Design with Java, UML and MDA

Web services are a further step on the path to using the internet to carry out distributed processing. In contrast to the simple internet systems described in the previous chapter, web services need not be browser based, and the distributed components of a web service may initiate interaction with each other autonomously of human clients (for example, a share management system which automatically starts selling shares for a customer when the price of the share passes a pre-set limit). Web services support integration of applications at different network locations, enabling these applications to function as if they were part of a single large software system.
In this chapter we will give definitions and examples of web services, and describe how they can be implemented using frameworks such as J2EE.
The ICT companies working on the promotion and implementation of web services provide different definitions of what a web service is:
IBM: Web services are self-contained, modular applications that can be described, published, located and invoked over a network, generally the web, to create innovative products, processes and value chains. Web services can be local, distributed or web-based. They interact with and/or invoke each other, fulfilling specific tasks and requests that, in turn, carry out specific parts of complex transactions or workflows.
A web service has its public interfaces and bindings defined and described using WSDL; can be discovered by other components (at build time or run time), and can communicate using XML messages...