Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 
 Home
 E-mail Us
 Oracle Articles
New Oracle Articles


 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog


 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Analysis
 Design
 Implementation
 Oracle Support


 SQL Tuning
 Security

 Oracle UNIX
 Oracle Linux
 Monitoring
 Remote s
upport
 Remote plans
 Remote
services
 Application Server

 Applications
 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S
upport  
 Development  

 Implementation


 Consulting Staff
 Consulting Prices
 Help Wanted!

 


 Oracle Posters
 Oracle Books

 Oracle Scripts
 Ion
 Excel-DB  

Don Burleson Blog 


 

 

 


 

 

 

 

 

Oracle9iAS Architectural Overview

Oracle Application Server Tips by Burleson Consulting

2007 Update:  Please see these 2007 updates to Oracle hardware architectures and the costs and benefits of server deconsolidation.


Beginning with the Oracle Web server product in the 1990s, Oracle has continuously improved and streamlined its products into a comprehensive solution for Web based applications.

Oracle9iAS is the latest incarnation in a long evolution of Oracle application products.  Starting in the mid 1990?s with Oracle WebServer and Oracle Application Server (OAS), Oracle9iAS has evolved into an extremely sophisticated system of inter-related modules, all of which can be configured according to your specifications.  There are two ways to view Oracle9iAS, one from a functional level and another from an architectural level.  Let?s begin with an architectural overview of Oracle9iAS.

The Oracle9iAS Multi-tiered Model

As Oracle products evolved into a multi-tiered architecture, we started to see Oracle products reside at several ?tiers? or hardware levels.  These tiers are layers that represent hardware layers, with each tier being comprised of one or more servers. (Figure 1.1).  Because of the flexibility of Oracle9iAS, Oracle shops can adopt a two-tiered, three-tiered, or four-tiered model.  As a general rule, the larger system will have more levels and more servers at each level.

Figure 1: Oracle application tiers and Oracle component products

At each one of these layers we see important Oracle9iAS components. 

  • The Client Tier ? This is comprised of the web browsers for the end-users.

  • The Web Tier - The web-tier comprises the Oracle HTTP Server and the web cache.

  • The App Server Tier ? This comprises the core Oracle9iAS, plus ancillary products such as Oracle Portal, Oracle Developer, Oracle Reports and Oracle Forms Server.

  • The Database Tier ? This is the layer that is the core Oracle database.  It may be a single instance, or many instances defined to a RAC cluster.

It?s important to note that not all shops will use all four tiers.  For smaller shops, it is common to combine multi tiers into the same level.  The choice of the number of tiers is directly related to the size of the Oracle9i implementation and the number of servers that are dedicated to the system.

For small shops, it is common to see a two-tier to data model (Figure 1.2).  Here we see the client tier consisting of all of the external PC clients and a combination of the Web server tier, the App Server tier, and the database tier, all running on a large single server, usually with lots of RAM and multiple CPUs.  The benefit of this approach is the shared server resources because the single server will be able to supply additional CPU and RAM processing according to the specific demands of each of the Oracle9iAS components.  The downside of the two-tiered architecture is the limited flexibility.  This is because it is not easy to add additional hardware resources on as-needed basis.

Figure 2: The Oracle9iAS architecture for a two-tiered system

In medium-sized shops, the three tier data model predominates (figure 1.2)  In the three tier model, we see the client tier, followed by the separation of the Web Server tier and App Server on separate server.  The database tier is also separated onto a different server, thereby providing isolated data resources for the Oracle database.  The benefits of the three tier data model are that increases in processing demands either at the database or the App Server level will not affect the performance of the other components within the Oracle9iAS architecture.  Another benefit is that additional Oracle9iAS instances can be created, and additional Oracle SGA regions can be easily added when processing demands warrant an increase.

Figure 3: The Oracle9iAS architecture for a three-tiered system

Now that we see the components of each tier, let?s examine how these tiers look when used in a large eCommerce system.

The hardware architecture of Oracle9iAS

In Figure 1.4 we see that we can have multiple instances of the components at each tier.  In this example we see that we have two sets of Oracle HTTP Servers (OHS), each listening on a different port for incoming database requests. As requests enter the system OHS passes the request to the least-loaded Oracle9iAS instance on the app server tier.

Figure 4: Oracle9iAS tiers and instances

At the app server tier we see multiple instances of Oracle9iAS, and we may also see multiple instances of the Oracle Forms server, Oracle Developer and Oracle Reports.  These multiple instances are normally on separate servers, and this provides the Oracle9iAS administrator with the ability to create an infinitely scalable architecture.  Whenever any components at any tier becomes overwhelmed, and Oracle9iAS administrator can create a new instance on a new server, and add the instance into the Oracle9iAS architecture using Oracle Universal Installer and maintained using the Enterprise Manager.

The Oracle9iAS instances will connect to the database tier.  For very large systems, Oracle9i Real Application Clusters (RAC) provides the ability to have multiple instances of the database, all mapping to a single database.  Using the same technique as the other tiers, whenever the existing instances become overloaded, another Oracle9iAS instance can be created on a new server, and the server can be added into the architecture.

This ability to scale by adding new instances and server is a critical aspect of Oracle9iAS administration because it is the single most important tool for ensuring that the system always has adequate hardware resources.

The Functional Architecture of Oracle9iAS

Now let?s look at the same architecture from a functional perspective (Figure 1.5).  Here we wee the functions of the instances at each level, and this should give you an idea about how the multi-tiered architecture is used to isolate the logical components of the application.

Figure 5: Oracle9iAS functional tiers

At the web tier we see that the main functions are the listener, which listens on a specific port for incoming requests, and web cache components that stores web page components, and the load balancing mechanism for ensuring optimal allocation of computing resources to the app server tier.  The web tier is managed by the Oracle HTTP Server which is based on the Apache web server. 

The app server tier controls all of the business logic and content assembly.  Components such as Oracle Portal are used to define web page components, Oracle reports defines content specifications, and Oracle single-sign-on (SSO) controls security for the app server layer.  At the database tier we see the standard Oracle data management functions for the storage and retrieval of application data.  All the components running on the application tier have the ability to connect to and retrieve data from the database using any of the available J2EE database connection methods.  These are discussed in detail in later chapters.  However, Oracle9iAS may have its own database if you install the Oracle9iAS infrastructure.  With infrastructure an Oracle database instance called iasdb manages Oracle9iAS components, security and preserves Oracle9iAS usage data.

Now that we understand the Oracle9iAS architecture at a high level, let?s take a closer look at each of these tiers and see how they interact with each other.

The Client Tier

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 their desktop.

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 client. 

Figure 6: The Oracle9iAS web tier

Let?s take a closer look at these components inside the web tier.

This is an excerpt from "Oracle 10g Application Server Administration Handbook" by Don Burleson and John Garmany.

 

If you like Oracle tuning, you may enjoy the new book "Oracle Tuning: The Definitive Reference", over 900 pages of BC's favorite tuning tips & scripts. 

You can buy it direct from the publisher for 30%-off and get instant access to the code depot of Oracle tuning scripts.


 

 
��  
 
 
Oracle Training at Sea
 
 
 
 
oracle dba poster
 

 
Follow us on Twitter 
 
Oracle performance tuning software 
 
Oracle Linux poster
 
 
 

 

Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


                    









Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


 

Copyright © 1996 -  2017

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.

Remote Emergency Support provided by Conversational