P1: JDW
Sahai WL040/Bidgolio-Vol I WL040-Sample.cls July 16, 2003 18:35 Char Count= 0
Web ServicesWeb Services
Akhil Sahai,Hewlett-Packard Laboratories
Sven Graupner,Hewlett-Packard Laboratories
Wooyoung Kim,University of Illinois at Urbana-ChampaignIntroduction 754
The Genesis of Web Services 754
Tightly Coupled Distributed Software
Architectures 754
Loosely Coupled Distributed Software
Architectures 755
Client Utility 755
Jini 755
TSpaces 755
Convergence of the Two Independent Trends 755
Web Services Today 755
Web Services Description 756
Web Services Discovery 756
Web Services Orchestration 757Web Services Platforms 758
Security and Web Services 760
Single Sign-On and Digital Passports 760
Payment Systems for Web Services 762
The Future of Web Services 763
Dynamic Web Services Composition and
Orchestration 764
Personalized Web Services 764
End-to-End Web Service Interactions 764
Future Web Services Infrastructures 765
Conclusion 766
Glossary 766
Cross References 766
References 766INTRODUCTION
There were two predominant trends in computing over
the past decade—(i) a movement from monolithic soft-
ware to distributed objects and components and (ii) an
increasing focus on software for the Internet. Web ser-
vices (or e-services) are a result of these two trends.
Web services are defined as distributed services that are
identified by Uniform Resource Identifiers (URI’s), whose
interfaces and binding can be defined, described, and dis-
covered by eXtensible Markup Language (XML) artifacts,
and that support direct XML message-based interactions
with other software applications over the Internet. Web
services that perform useful tasks would often exhibit the
following properties:Discoverable—The foremost requirement for a Web ser-
vice to be useful in commercial scenarios is that it be
discovered by clients (humans or other Web services).
Communicable—Web services adopt a message-driven
operational model where they interact with each other
and perform specified operations by exchanging XML
messages. The operational model is thus referred to
as the Document Object Model (DOM). Some of pre-
eminent communication patterns that are being used
between Web services are synchronous, asynchronous,
and transactional communication.
Conversational—Sending a document or invoking a met-
hod, and getting a reply are the basic communication
primitives in Web services. A sequence of the primi-
tives that are related to each other (thus, conversation)
forms a complex interaction between Web services.
Secure and Manageable—Properties such as security, re-
liability, availability, and fault tolerance are critical for
commercial Web services as well as manageability and
quality of service.As the Web services gain critical mass in the information
technology (IT) industry as well as academia, a dominant
computing paradigm of that of software as a monolithic
object-oriented application is gradually giving way to soft-
ware as a service accessible via the Internet.THE GENESIS OF WEB SERVICES
Contrary to general public perception, the development of
Web services followed a rather modest evolutionary path.
The underpinning technologies of Web services borrow
heavily from object-based distributed computing and de-
velopment of the World Wide Web (Berners-Lee, 1996).
In the chapter, we review related technologies that help
shape the notion of Web services.Tightly Coupled Distributed
Software Architectures
The study of various aspects of distributed computing can
be dated back as early as the invention of time-shared mul-
tiprocessing. Despite the early start, distributed comput-
ing remained impractical until the introduction of Object
Management Group’s (OMG) Common Object Request
Broker Architecture (CORBA) and Microsoft’s Distributed
Component Object Model (DCOM), a distributed ex-
tension to the Component Object Model (COM). Both
CORBA and DCOM create an illusion of a single machine
over a network of (heterogeneous) computers and allow
objects to invoke remote objects as if they were on the
same machine, thereby vastly simplifying object sharing
among applications. They do so by building their abstrac-
tions on more or less OS- and platform-independent mid-
dleware layers. In these software architectures, objects de-
fine a number of interfaces and advertise their services
by registering the interfaces. Objects are assigned identi-
fiers at the time of creation. The identifiers are used for754