146 Patterns: Extended Enterprise SOA and Web Services
9.1 Web services
Web services are a recent reinvention of concepts that have been around for
some time. They introduce many new advantages and capabilities. In a sense,
none of the function that Web services provide is new. CORBA has provided
much of this function for many years. Web services, however, builds upon
existing open Web technologies, such as XML, URL, and HTTP. Web services
are defined in several different standards, such as SOAP and WSDL which build
upon general Web and other Web services standards. These standards are
defined by the World Wide Web Consortium, the Organization for the
Advancement of Structured Information Standards (OASIS), and Web Services
Interoperability Organization (WS-I). The basic Web services support provides
for three simple usage models:
򐂰 One-way usage scenario
A Web services message is sent from a consumer to a provider and no
response message is expected.
򐂰 Synchronous request/response usage scenario
A Web services message is sent from a consumer to a provider and a
response message is expected.
򐂰 Basic callback usage scenario
A Web service message is sent from a consumer to a provider using the
two-way invocation model, but the response is just treated as an
acknowledgement that the request has been received. The provider then
responds by calling, making use of a Web service callback to the consumer.
Other Web service standards are built upon these basic standards and
invocation models to provide higher level functions and qualities of service.
Examples of these standards are WS-Transaction, WS-Security, and
WS-ResourceFramework. One of the main aims of Web services is to provide a
loose coupling between service consumers and service providers. While this is
limited to a certain extent by a requirement for the consumers and providers to
agree on a WSDL interface definition, Web services have been created with
significant flexibility with regard to the location of these Web services. Figure 9-1
on page 147 shows how the Web services interaction model has been designed
with this form of loose coupling.
Chapter 9. Technology options 147
Figure 9-1 Web services interaction model
The interactions work as follows:
1. The service provider publishes WSDL, defining its interface and location to a
service registry.
2. The service consumer contacts the service registry to obtain a reference to a
service provider.
3. The service consumer, having obtained the location of the service provider,
makes calls on the service provider.
Note: This section lists some of the Web services standards. This list is in no
way exhaustive because new standards are emerging and maturing over time.
For further information about Web services, visit the Web services section of
the IBM developerWorks® Web site:
http://www.ibm.com/developerworks/webservices
Service
Consumer
Service
Registry
Service
Provider
Find Publish
Bind
1
2
3
Exposes business functions as
Web services
Publishes functions to registry
Listens to and accepts requests
Requires business functions
Searches registry for matching
functions
Binds and make requests
Maintains repository of
business functions
Accessed via UDDI
Business functions
described in WSDL
using UDDI
Business functions
described in WSDL
using UDDI
Business functions
using SOAP
UDDI: Service Registry
WSDL:
Service Description
SOAP:
Service Invocation

Get Patterns: Extended Enterprise SOA and Web Services now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.