P1: JDW
Sahai WL040/Bidgolio-Vol I WL040-Sample.cls July 16, 2003 18:35 Char Count= 0
758 WEBSERVICESDocument Exchange Layer—Deals with processing of the
business documents like digital signatures, encryption,
and reliable delivery.
Transport Layer—Identifies the transport protocols to be
used with the endpoint addresses, along with other
properties of the transport layer. The transport proto-
cols could be SMTP, HTTP, and FTP.When a party discovers another party’s CPP they ne-
gotiate certain agreement and form a Collaboration Pro-
tocol Agreement (CPA). The intent of the CPA is not to
expose the business process internals of the parties but
to make visible only the processes that are involved in
interactions between the parties. Message exchange be-
tween the parties can be facilitated with the ebXML Mes-
saging Service (ebMS). A CPA and the business process
specification document it references define aconversation
between parties. A typical conversation consists of mul-
tiplebusiness transactionswhich in turn may involve a
sequence of message exchanges for requests and replies.
Although a CPA may refer to multiple business process
specification documents, any conversation is allowed to
involve only a single process specification document. Con-
ceptually, the B2B servers of parties involved are respon-
sible for managing CPAs and for keeping track of the
conversations. They also interface the operations defined
in a CPA with the corresponding internal business pro-
cesses.Web Services Platforms
Web services platforms are the technologies, means, and
methods available to build and operate Web services. Plat-
forms have been developed and changed over the course
of time. A classification into four generations of platform
technology should help to structure the space:First Generation: HTML and CGI—Characterized by Web
servers, static HTML pages, HTML FORMS for simple
dialogs, and the Common Gateway Interface (CGI) to
connect Web servers to application programs, mostly
Perl or Shell scripts. (See Figure 3.)
Second Generation: Java—Server-side dynamic genera-
tion of HTML pages and user session support; the Java
servlet interface became popular for connecting to ap-
plication programs.
Third Generation: Application server as Richer develop-
ment and run-time environments—J2EE as foundation
for application servers that later evolved towards the
fourth generation.Service
ACPPService
BCPA CPPebXML
registryFigure 3: ebXML service-to-service interaction.FW LBWS AS
WS AS
WS AS
WS ASBack-End
Internetfront-end web server app server back-endDB DBFigure 4: Basic four-tier architecture for Web services.Fourth Generation: Web services—Characterized by the
introduction of XML and WSDL interfaces for Web
services with SOAP-based messaging. A global service
infrastructure for service registration and discovery
emerged: UDDI. Dynamic Web services aggregation—
Characterized by flow systems, business negotiations,
agent technology, etc.Technically, Web services have been built according to a
pattern of ann-tier architecture that consists of a front-
end tier, firewall (FW), load balancer (LB), a Web-server
tier (WS), an application (server) (AS) tier, and a back-
end tier for persistent data, or the database tier (DB). (See
Figure 4.)First Generation: HTML and CGI
The emergence of the World Wide Web facilitated the
easy access and decent appearance of linked HTML mark-
up pages in a user’s browser. In the early days, it was
mostly static HTML content. Passive information services
that provided users with the only capability of naviga-
ting though static pages could be built. However, HTML
supported from the very beginning FORMS that allowed
users to enter text or select from multiple-choice menus.
FORMS were treated specially by Web servers. They were
passed onto CGI, behind which small applications, mostly
Perl or Shell scripts, could read the user’s input, perform
respective actions, and return a HTML page that could
then be displayed in the user’s browser. This primitive
mechanism enabled a first generation of services on the
Web beyond pure navigation through static contents.Second Generation: Java
With the growth of the Web and the desire for richer ser-
vices such as online shopping and booking, the initial
means to build Web services quickly became too primi-
tive. Java applets also brought graphical interactiveness to
the browser side. Java appeared as the language of choice
for Web services. Servlets provided a better interface be-
tween the Web server and the application. Technology to
support dynamic generation of HTML pages at the server
side was introduced: JSP (Java Server Pages) by Sun Mi-
crosystems, ASP (Active Server Pages) by Microsoft, or
PHP pages in the Linux world enabled separation of pre-
sentation, the appearance of pages in browsers, from con-
tent data. Templates and content were then merged on
the fly at the server in order to generate the final page re-
turned to the browser. Since user identification was crit-
ical for business services, user log-in and user sessions
were introduced. Applications were becoming more com-
plex, and it turned out that there was a significant overlap
in common functions needed for many services such as
session support, connectivity to persistent databases, and
security functions.