which they have already implemented the business logic. For that reason, and
since the primary interest of most readers is on Web services, this chapter keeps its
focus on Web service development and does not delve into the details of designing
and implementing business logic.
Let's revisit the scenarios introduced in Typical Web Service Scenarios on
page 11 the adventure builder enterprise scenario and the examples illustrating
when Web services work well for an enterprise from the point of view of design
ing a Web service. This chapter, rather than discussing design issues abstractly,
expands these typical scenarios to illustrate important design issues and to keep the
discussion in proper perspective.
In this chapter, we focus on three types of Web services:
1. An informational Web service serving data that is more often read than updat
ed clients read the information much more than they might update it. In our ad
venture builder example, a good scenario is a Web service that provides
interested clients with travel related information, such as weather forecasts, for
a given city.
2. A Web service that concurrently completes client requests while dealing with
a high proportion of shared data that is updated frequently and hence requires
heavy use of EIS or database transactions. The airline reservation system part
ner to adventure builder is a good example of this type of Web service. Many
clients can simultaneously send details of desired airline reservations, and the
Web service concurrently handles and conducts these reservations.
3. A business process Web service whose processing of a client request includes
starting a series of long running business and workflow processes. Adventure
builder enterprise's decision to build a service interface to partner travel agen
cies is a good example of this type of Web service. Through this service inter
face, partner agencies can offer their customers the same services offered in
adventure builder's Web site. The partner agencies use adventure builder's
business logic to fulfill their customer orders. A service such as this receives
the details of a travel plan request from a partner agency, and then the service
initiates a series of processes to reserve airlines, hotels, rental cars, and so forth
for the specified dates.