2.1 Oracle Application Server Core Components
At its core, Oracle Application Server consists of three
components:Oracle HTTP ServerOracle Application Server Containers for J2EEOracleAS Web Cache
Each component, described briefly in the following subsections, plays
a major role in Oracle Application Server operations; they also
provide some supporting functionality to their counterparts in
various configurations.
2.1.1 Oracle HTTP Server
The Oracle HTTP Server is the web server for Oracle
Application Server. It takes an incoming request in the form of a
URI. It then either sends the requested static contentfor
example, an HTML filedirectly to the requestor, or reroutes a
request for dynamic content, effectively handing off the request, to
an appropriate executable resource.The Oracle HTTP Server can process a dynamic request using any of the
following:Common Gateway Interface (CGI) environment
For example, programs written in C, C++, Java, Perl, and other
languages
FastCGI
An optimized CGI environment
mod_perl
A highly efficient Perl execution environment
mod_OC4J
A scalable J2EE environment
mod_plsql
A module that executes PL/SQL stored procedures in an Oracle database
Chapter 5 describes the Oracle HTTP Server in
detail.
2.1.2 Oracle Application Server Containers for J2EE
OC4J is a set of J2EE
containers and a JavaServer Pages translator that
provides a J2EE-certified Java environment that is scalable both
horizontally and vertically. You can cluster OC4J
instances across hosts; doing so eliminates both hardware and
software failure and provides almost unlimited capacity. You can run
multiple JVMs in an OC4J instance
to leverage the capacity of hardware with multiple CPUs.Chapter 6 describes OC4J in detail.
2.1.3 OracleAS Web Cache
OracleAS Web Cache is an optional component
that can play several important roles:It can offload request processing from the Oracle HTTP Server and
OC4J by efficiently caching both static and dynamic content. OracleAS
Web Cache is highly configurable and programmable, so what it caches
can be customized to fit any application's needs.It can be used as a front end load balancer to the application server
when Oracle Application Server is clustered.
|
as the other caches used by Oracle Application Server, in detail.
2.1.4 Core Component Interaction
Figure 2-1 shows the relationships among the three
main components of Oracle Application Server.As shown in the figure, the interactions among components work as
follows:OracleAS Web Cache receives an end-user request and determines
whether the requested content is available in its cache. If the
content is available, it returns that content. Otherwise, it forwards
the request to the Oracle HTTP Server.The Oracle HTTP Server immediately sends static content to the end
user through OracleAS Web Cache. If the request is for dynamic
content, it forwards the request to the appropriate dynamic content
provider.If Java-generated content is requested, OC4J processes the request
using a JSP or servlet, and then sends the dynamically generated
content to the Oracle HTTP Server. The Oracle HTTP Server then passes
it on to OracleAS Web Cache.Finally, OracleAS Web Cache passes the content on to the end user.
Figure 2-1. Interactions among Oracle Application Server core components

engines, such as FastCGI, mod_perl, and PL/SQL.
The architecture also includes a number of shadow processes, shown in
gray, that support the use of Oracle Application Server core
components. These shadow processes include:Oracle Process Manager and Notification Server (OPMN)
Monitors the core components to ensure that they continue running
Distributed Configuration Management (
DCM)
Marshals Oracle Application Server's configuration
data between OPMN and the core components
Dynamic Monitoring Service (
DMS)
Gathers performance statistics
See Section 2.2.3 for more detailed information on these processes.The configuration data itself is kept in a repository, which is part
of the Oracle Application Server infrastructure, described in the
next section.