Skip Headers

Oracle9iAS Forms Services Deployment Guide
Release 9.0.2

Part Number A92175-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

4
Using Oracle9iAS Forms Services with the HTTP Listener and OC4J

Introduction

Oracle9iAS Containers for J2EE (OC4J) is a complete J2EE (Java 2 Platform Enterprise Edition) server written entirely in Java that executes in a standard Java Runtime Environment (JRE). It provides a complete J2EE environment that contains, among other things, an OC4J Web container.

This chapter contains the following sections:

OC4J Server Process

In a simple scenario, the Forms Servlet renders the start HTML file and provides the information about the Forms Listener Servlet to the client. An HTTP request is then received by the Oracle HTTP Listener, which passes it off to the Forms Listener Servlet running inside OC4J. The Forms Listener Servlet establishes a Forms Server runtime process and is responsible for on-going communication between the client browser and the runtime process. As more users request Oracle9i Forms sessions, the requests are received by the HTTP Listener. The HTTP Listener again passes them off to the Forms Listener Servlet, which will establish more runtime processes. The Forms Listener Servlet can handle many Forms runtime sessions simultaneously. While there is, of course, a limit to the number of concurrent users, the architecture presents a number of opportunities for tuning and configuration to achieve better performance (see Performance/Scalability Tuning).

OC4J runs using the following architecture:

Text description of mod_oc4j.gif follows.

Text description of the illustration mod_oc4j.gif

Performance/Scalability Tuning

The steps for tuning the Forms Listener Servlet are similar to steps for tuning any high throughput servlet application.

Limit the number of HTTPD processes

To avoid spawning too many HTTPD processes (which is memory consuming) set the following directive in the Oracle HTTP Listener configuration file (httpd.conf):

KeepAlive Off

If you must use KeepAlive On (for example, for another application), make sure that KeepAliveTimeout is set to a low number (for example, 15 seconds, which is the default).

Set the maxClient directive to a High value

It is best to let the HTTP Listener determine when to create more HTTPD daemons. Therefore, set the maxClient directive to a high value in the configuration file (httpd.conf). However, you need to consider the memory available on the system when setting this parameter.

MaxClient=256 means that the listener can create up to 256 HTTPD processes to handle concurrent requests.

If your HTTP requests come in bursts, and you want to reduce the time to start the necessary HTTPD processes, you can set MinSpareServers and MaxSpareServers (in httpd.conf) to have an appropriate number of processes ready. However, the default values of 5 and 10 respectively are sufficient for most sites.

Load Balancing OC4J

The Forms Listener Servlet architecture allows you to load balance the system using any of the standard HTTP load balancing techniques available.

The Oracle HTTP Listener provides a load balancing mechanism that allows you to run multiple OC4J instances on the same host as the HTTP process, on multiple, different hosts, or on any combination of hosts. The HTTP Listener then routes HTTP requests to the OC4J instances.

The following scenarios are just a few of the possible combinations available and are intended to show you some of the possibilities. The best choice for your site will depend on many factors.

For a complete description of this feature, refer to the OC4J chapter in the Oracle9i Application Server Performance Guide (available on Oracle9iAS Disk 1 CD or OTN at http://otn.oracle.com/docs/products/ias/content.html).

For more Forms-specific information, see the Oracle9i Forms Developer and Forms Services release notes.

In this section we take a look at four scenarios:

Case 1: Multiple OC4J engines on the same host as the Oracle HTTP Listener.

Text description of chap04a.gif follows

Text description of the illustration chap04a.gif

Case 2: Multiple OC4J engines on a different host to the Oracle HTTP Listener.

Text description of chap042.gif follows

Text description of the illustration chap042.gif

Case 3: Multiple OC4J engines and multiple Oracle HTTP Listeners on different hosts.

Text description of chap043.gif follows

Text description of the illustration chap043.gif

Case 4: Multiple Oracle HTTP Listeners on different hosts with multiple OC4J engines on one host

Text description of chap044.gif follows

Text description of the illustration chap044.gif


Go to previous page Go to next page
Oracle
Copyright © 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index