The Client Tier
Oracle Application Server Tips by Burleson
At the client level we have either a Java
client application or a web browser as the client. By using a web
browser as the client allows the entire application to be located on
the server. The client always gets the latest version when they
start the application. Also the client can use any web browser from
any location provided that they can connect to the application
server. The client tier can also consist of an application running
on the clients desktop (usually presenting a rich user interface)
and connecting directly or through HTTP to the application server.
This requires that the client have the application installed on
The Web Tier
At the web server layer we see two important
components, the Oracle HTTP Server (OHS) and web cache component
(Figure 1.6). This tier is responsible for managing incoming HTTP
requests, caching web messages, and sending XML and HTML back to the
Figure 6: The Oracle9iAS web tier
Let?s take a closer look at these components
inside the web tier.
Oracle HTTP Server (OHS)
All Oracle web systems must have enough
listener processes so that a single port is not overwhelmed with
incoming requests. The Oracle HTTP Server is a component of
Oracle9iAS that listens on a specific port and forward J2EE incoming
requests thru mod_oc4j to the least-loaded OC4J container. It is
imperative that the Web servers have load-balancing intelligence so
that a single OC4J container is not overloaded with work. Oracle
has addressed this issue by incorporating the open source Apache
product into the Oracle HTTP Server and providing the load balancing
capability to the mod_oc4j module. This makes customization quite
Another huge benefit of the web listener
load balancing is that you can customize the Web Cache to load
balance multiple Oracle HTTP Servers, thereby adding improved
scalability. When the existing apps servers become overwhelmed,
more app servers can be easily added into the architecture.
It is the job of the Web servers to manage
the flow of the HTML and XML. On the incoming end, the Web server
validates and parses incoming XML strings. For outbound
transactions, the Web server takes data from the application server
and creates the outbound HTML pages or XML strings. When an incoming
transaction requests services, OHS either serves the HTML page or
forwards the transaction to an OC4J container where the appropriate
component (JSP engine, servlet or Enterprise JavaBean) services the
The Oracle9iAS Web Cache significantly
enhances performance by reducing the need to regenerate dynamic or
static information. The Web Cache is positioned in front of the HTTP
server and stores both static and dynamic web content. It has a
number of unique features, including partial-page caching,
content-aware Web Server load balancing, the ability to cluster web
caches so that multiple caches operate as a single logical cache,
and the ability to cache content from third party servers such as
Sun, IBM , BEA, and others. Internal Oracle tests reveal that adding
the Oracle9iAS Web Cache to a three-tier application (client,
application server, and database tiers) can reduce the load on the
database backend by 95 percent. The Web Cache feature has a dramatic
impact on the ability of the application to scale to meet growing
Now, let?s drill-down and examine the
central tier, the app server tier.
The App Server Tier
Here we see the core of Oracle9iAS, along
with a host of other tools and products. The central components at
the App Server tier are the Oracle9iAS instances, and these
instances support the Oracle Containers For Java (OC4J)). The OC4J
container host the application?s Enterprise JavaBeans, providing
security, naming and connectivity support. In addition to the
Oracle9iAS instances we also see separate components for the
following functional areas:
Oracle Portal ? The component
allows for the fast definition and deployment of a dynamically
created content based website.
Oracle Discoverer ? This component
allows for the easy end-user query implementation.
Oracle Form Server ? This component
is used to format and deploy and render end-user presentation
pages, based on data in an Oracle Database.
Oracle Personalization ? This
component provides personalized URL referrer tracking and a
facility for creating customized web pages depending upon the user
and their web page viewing history. The web page history os kept
inside Oracle databases in recommendation engine farms.
Oracle Wireless ? This component
allows for wireless communications between Oracle9iAS and wireless
devices such as PDAs and cell phones. Wireless dynamically
reformats information to display correctly on the limited screens
of most wireless devices.
Oracle Reports Server ? This
component allows for the fast deployment of reports, documents and
spreadsheets, all using data from the Oracle database.
Oracle9iAS Single Sign-On (SSO) -
Oracle9iAS has a complete authentication system for identifying
users, managing roles, and web services, as well as functionality
for Java and portal security.
Oracle Internet Directory (OID) -
This is an LDAP-compliant directory service that provides
centralized storage of information about users, applications, and
resources in your enterprise.
Metadata Repository (infrastructure)
- This critical component of Oracle9iAS is sometimes referred to
as the infrastructure, and it stores Oracle9iAS metadata and
allows for a common management interface between multiple
instances of Oracle9iAS and the other Oracle9iAS components.
Oracle Management Server (OMS) -
This is a component of the Oracle Enterprise Manager Console, and
allows for the managing of the Oracle9iAS instances, databases,
and other Oracle9iAS applications.
Oracle9iAS TopLink ? This is a
component with Oracle9iAS that provides object persistence for
Java information. TopLink contain the mapping interfaces to
translate the Java structures into relational tables, thereby
making Java persistent across independent executions.
Let?s take a look at how these App Server components are partitioned
with the Oracle9iAS App Server layer.
This is an excerpt from "Oracle
10g Application Server Administration Handbook" by Don Burleson
and John Garmany.