15 Web Application Servers
In recent years, the World Wide Web has evolved from a netwark of
static information to a dynamic application deployment and man-
agement system.
15.1
Architecture and Components
Today's e-business solutions are usually designed in a multi-tier
architecture. In this design paradigm, the Web Application Server is
the key component that connects a Web browser front-end with
back -end applications (Figure 15.1). Web applications connect to
databases, Enterprise Resource Planning Systems, or other external
data repositaries to get access to the requested content.
ellent Web Server Bacl<end Figure 15,1 :
Multi-tier
Architecture
of e-business
Solutions
The success of this architecture is based on the fact that the Web
browser is a low-cost, universal, and easy-to-configure frontend
client
Today, several technologies are used to develop applications far
Web servers:
• Static HTML Requests: The basic procedure of serving HTML
requests is the most common and the simplest task a Web
Server can perform. The Client sends an HTTP request to the
15.1 Architecture and Components • 327
•
•
U. Hansmann et al., Pervasive Computing Handbook
© Springer-Verlag Berlin Heidelberg 2001
Web Server, the Web Server retrieves the data from the server's
file system and sends it to the dient.
• Common Gateway Interface (CGI): CGI was an early solution
for the problem of creating interactive web-based applications.
These applications can call CGI programs through the Web
Server. They assemble HTML web pages dynamically, which
are returned to the dient.
• Enterprise Java Beans (EJBs) : A very powerful part of a Web
Application Server is EJB support. EJBs provide an infrastruc-
ture of services and functionality to access databases and other
back-end data repositories. They help the programmer to focus
on the application without having to cancern about the server
specific infrastructure.
• Servlets: Similar to CGI programs servlets are Java programs
which dynamically produce HTML pages for given dient re-
quests.
More details on EJBs and Servlets can be found in the following
sections.
15.1.1
Java Servlets
Servlets can be defined as server side Java dasses which are platform-
and protocol-independent and run in a Java enabled Web server to
provide dynamic HTML content to dients. Initially, servlets were
supported in the Java Web Server from JavaSoft.
Java Enabled Web Server
Figure 15.2:
The Basic
SeNlet Process Servlet Runtime
Flow
ellent
~}J:":;"~.Ji' ... ,~"f--::'t"'c'"
i <t'.I.'. .,.. .,Servlet n
~~-f"
, •
",
The basic process flow in a Servlet takes the following steps:
1. The requests are sent by the dient to the server.
328 • 15 Web Application Servers
•
•