What is load balancing.
Load balancing involves allocating the request between processes. A couple of important features makes Load balancing possible.
Allocating/Routing Algorithm:
Algorithm (popular ones are round robin, random, hash, allocating based on priority) to route the requests to different process(es).
Failure detection:
Requests which are broke-down/dead should be recognized and mark the corresponding processes as 'unused'.
Using Load-Balances with Oracle E-Business Suite Release 12 (Doc ID 380489.1)
The most current version of this document can be obtained in Oracle Metalink Note 380489.1.
The table below describes how the context values should be changed for the above configuration.
In the example given above, appstier1.company.com and appstier2.company.com are the application tier servers running OPMN/OHS/OC4J services, and port 6000 is theOracle Notification Server Remote port .You can determine the value of Oracle Notification Server Remote port in each of the context files by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variable s_oc4j_cluster_nodes are separated by a comma.
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
The table below describes how the context values should be changed for the above configuration.
In the example given above appstier1.company.com and appstier2.company.com are the application tier servers running OPMN/OHS/OC4J services and port 6000 is the Oracle Notification Server Remote port . You can find the value of Oracle Notification Server Remote port in each of the context file by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variable s_oc4j_cluster_nodes are separated by a comma.
In this configuration, application tier Servers appstier1.company.com and appstier2.company.com serve store.company.com, and run the Oacore OC4J service. Application tier Servers appstier3.company.com and appstier4.company.com serve mfg.company.com, and run the Forms and Oafm OC4J service.
The following example will illustrate this.
The table below describes how the context values should be changed for the following configuration.
In the example given above, appstier1.company.com, appstier2.company.com, appstier3.company.com and appstier4.company.com are the application tier servers running the OPMN/OHS/ OC4J services, and port 6000 is the Oracle Notification Server Remote port . You can find the value of Oracle Notification Server Remote port in each of the context files by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variables_oc4j_cluster_nodes are separated by a comma.
Load balancing involves allocating the request between processes. A couple of important features makes Load balancing possible.
Allocating/Routing Algorithm:
Algorithm (popular ones are round robin, random, hash, allocating based on priority) to route the requests to different process(es).
Failure detection:
Requests which are broke-down/dead should be recognized and mark the corresponding processes as 'unused'.
Using Load-Balances with Oracle E-Business Suite Release 12 (Doc ID 380489.1)
The most current version of this document can be obtained in Oracle Metalink Note 380489.1.
Introduction
This section examines the terminology used in load-balancing, then describes the relevant E-Business Suite architecture and related network configuration strategies and options.
Tier
A tier is a logical grouping of services, potentially spread across more than one physical machine.
Client Tier
The client interface is provided through HTML for the HTML-based applications, and via a Java applet in a Web browser for the traditional Forms-based interface. In Oracle Applications Release 12, each user logs in to Oracle Applications through the E-Business Suite Home Page on a desktop client web browser. The E-Business Suite Home Page provides a single point of access to HTML-based applications, Forms-based applications, and Business Intelligence applications.
Application Tier
The application tier hosts the various services that process the business logic and manage communication between the desktop tier and the database tier. This tier runs the web server and the associated processes, concurrent processing server, Interaction and Oracle fulfillment server.
Database Tier
The database tier contains the Oracle database server which stores all the data maintained by Oracle Applications. This tier has the Oracle data server files and Oracle Applications database executables that physically store the tables, indexes, and other database objects in the system.
OPMN
Oracle Process Manager and Notification Server (OPMN) is installed and configured on every tier designated to run the web application. OPMN provides an integrated way to manage all Oracle Application Server components. OPMN consists of two main pieces: the Process Manager and the Notification Server. The Process manager (PM) is the centralized process management mechanism in Oracle Application Server and is used to manage all Oracle Application Server processes. The PM starts, restarts, stops, and monitors every process it manages. It also performs death-detection and automatic restart of the processes. Oracle Notification Server (ONS) is the transport mechanism for failure, recovery, startup, and other related notifications between components in Oracle Application Server.
OHS
Oracle HTTP Server (OHS) is installed and configured on every tier that is designated to run the web application . It provides the key infrastructure required for serving the static and dynamic content generated by Oracle E Business Suite products.
OC4J
Oracle Containers for J2EE (OC4J) is the core Java 2 Platform Enterprise Edition (J2EE) runtime component of Oracle Application Server. It is installed and configured on every tier that is designated to run the web application. It is a fully J2EE 1.5 compliant container that runs on a standard file based JDK 1.5 Java Virtual Machine and provides complete support for Java Server Pages (JSP) , Servlets, Enterprise Java Beans (EJB), Web Services and all J2EE services.
Web Entry Point
Web Entry Point refers to the host name which is designated to be used by all users to access the Oracle E-Business Suite Release 12 system. By default, the web entry point is set to the hostname of the application server where Oracle E-Business Suite is installed. In the case where a load-balancer is used, the Web Entry Point becomes the load-balancer's host name.
Session Persistence
Session Persistence is the act of keeping a specific user's traffic going to the same server that was initially hit when the site was contacted for the first HTTP transaction. This is especially important for E-Business Suite as various modules bundled with the suite need to maintain session state. Session persistence is sometimes referred to as "server stickiness."
Server Load Balancer
Load balancing can be defined as the technology and associated processes that distribute a website's traffic among several machines in a cluster using a network-based device called a server load balancer. Cluster architectures allow all members of a group of machines to run the same web application, appearing to the outside world as a single machine.
A server load balancer intercepts traffic destined for a site, and redirects it to various machines in the cluster according to the particular load-balancing method chosen. This optimizes use of system resources, resulting in higher performance, availability and scalability. Load balancers are recommended for mission-critical enterprise deployments of web-based applications such as Oracle E-Business Suite.
A typical load balanced architecture is shown in the diagram below:
To summarize , a server load balances performs the following functions:
- Intercepts network traffic destined for a site.
- Splits the traffic into individual requests and decides which machines in the cluster are to receive these requests.
- Maintains a watch on the available machines, ensuring that they are responding to the traffic; if they are not, they are taken out from the load-balancing pool so that traffic can be routed to the machines that are available.
- Provides redundancy by employing more than one machine for fail-over scenarios.
- Provides context-aware load distribution, so that applications that need to maintain session-persistent connections do not fail. This feature of load balancer is very important for Oracle E-Business Suite as the various modules require session-persistent connections. To support this feature, the load balancer reads the cookies set on each request made by the client, and, based on the information in the cookie, it can rewrite the header information, then send the request to the appropriate machine in the cluster, where its session is maintained.
General Architecture of Oracle E-Business Suite Release 12
The Oracle E-Business Suite Release 12 architecture, as shown in the figure below, is a framework for multi-tiered, distributed computing that supports various Oracle Applications products. In this model, various servers are distributed among multiple levels, or tiers.
A server is a process or group of processes that runs on a single machine and provides a particular class of functionality, often referred to as a service. For example, the Oracle HTTP server is a process that listens for and processes HTTP requests; a Concurrent Processing server is a server that process batch jobs submitted through concurrent requests.
The three-tier architecture that comprises an Oracle E-Business Suite installation is made up of:
- The database tier, which supports and manages the Oracle database
- The application tier, which supports and manages the various Applications components, and is sometimes known as the middle tier
- The client tier, which provides the user interface via a supported web browser, either natively in HTML or via Forms running in the Sun Java Runtime Engine
Network Configuration Requirements for Load-Balancers
In a load-balanced configuration, a load-balancer device serves requests from clients and redirects them to multiple E-Business Suite application tier servers. The load-balancer acts as a single entry point to the E-Business Suite environment. Two sets of major requirements must be met to ensure successful configuration of hardware-based load-balancers with the E-Business Suite:
- Load-Balancer Hardware Requirements
- DNS Resolution Requirements
1. Load Balancer Hardware Requirements
Virtual Servers and Port Configuration
For product functionality and to meet high availability requirements, Oracle E-Business Suite code running on the application tier servers may need to establish a connection to itself, to external servers, or to the database server. This requires the load-balancing device to accept connections from the application tier servers behind the device, and to route the request to the appropriate server. In certain network configurations, the load balancing device may not be support such connections, and the request may either hang or be dropped. Such a scenario requires contacting the hardware load balancer vendor, to discuss either the feasibility of either reconfiguring the load balancer device to accept the connections originating from the servers behind it, or, alternatively and preferably, upgrading to devices that can support these types of loopback connections.
Depending upon the networking device, it may be feasible to alias load-balancer virtual host names directly to the IP addresses of specific application tier servers. Such mappings may not be technically feasible in all configurations. Oracle does not certify or recommend such configurations, but will support them on a best-efforts basis, subject to available resources and expertise. Although machine mappings may be supported, technical limitations inherent in DNS layer devices may prevent port and protocol mappings.
For example, a load-balancer with SSL acceleration capabilities may be configured to listen for HTTPS traffic on port 443, and forward unencrypted traffic to the pool of application tier servers listening for HTTP traffic on port 8000. Mapping HTTPS services to the application tier servers instead of the load-balancer/SSL accelerator will result in failures, as the application tier servers are not configured to handle HTTPS traffic, and will reject traffic for port 443.
It is also possible to configure a single E-Business Suite environment to be accessed via multiple domain names, each with its own pool of application tier servers. For example: A single E-Business Suite environment might have the following two domains:partners.company.com
, andemployees.company.com
. Thepartners.company.com
domain uses a pool of application servers (e.g. apptier1 and apptier2) secured and used exclusively for external access by partners and supplies. Theemployees.company.com
domain uses a different pool of application servers (e.g. apptier3 and apptier4) that may be used only by company employees. Both environments use the same E-Business Suite database.
Depending on the load-balancer used, it is technically possible to use a single physical load-balancer to handle client requests for both domains. To support this configuration, the load-balancer must:
- Allow configuration of multiple virtual server names and multiple ports
- Associate each virtual server name with its own IP address, each of which are accessible via your DNS
- Allow clients to address the virtual server names, which the load-balancer uses to redirect traffic to the appropriate pool of application tier servers
Resource Monitoring, Port Monitoring & Process Failure Detection
Oracle recommends that the load-balancer be configured to detect service and Server failures, through heartbeat monitors, notification, or some other mechanism. If a Server in the pool fails, the load-balancer must stop directing traffic to the failed Server.
Fail-Over Capabilities
It is possible to set up offsite fail-over environments that can be switched to if the primary environment fails. For example, a load-balancer may be configured to direct E-Business Suite traffic to a primary pool of application servers in Austin, Texas. If that primary site fails for some reason, the load-balancer should be able to detect the failure and redirect all traffic to identically-named application tier servers running in an offsite disaster recovery site.
Oracle recommends that load-balancers be configured to support fail-over configurations.
Returning Traffic on Failures
Oracle recommends configuring load-balancers to return immediately to the calling client when the application server to which it forwards traffic is unavailable. This is preferred over the client disconnecting on its own after a timeout based on the TCP/IP settings on the client machine.
2. DNS Resolution Requirements
All clients must be able to resolve the hostname of the load-balancer. In the case where a single load-balancer hosts multiple virtual servers, clients must be able to resolve the hostname of each of the virtual server names. Note that "clients" also include E-Business Suite application tier server, which perform loopback queries to the load-balancer's virtual server name.
You can perform the following tests from desktop clients and each application tier server to ensure that DNS resolution is working:
- Use ping
>ping <LbrDeviceHostname>.<domain>
For example:>ping employees.company.com
If successful, this command will return the IP address of the load-balancer, along with information about ping latency and response times.
- Use telnet
>telnet <LbrDeviceHostname>.<domain> [http/https port]
For example:>telnet employees.company.com 443
>GET /OA_HTML/OAInfo.jsp
If successful, this command will connect to the load-balancer using the specified port and will return the HTML output fromOAInfo.jsp
Section 2: Planning Deployment Options
2.1: Using Hardware Load Balancers with Single Web Entry Point
The diagram shown below represents a hardware load balancer configuration with a single entry point to load balance the web application running on application servers 1 and 2. In this configuration, all users access E-Business Suite application via a single URL.
2.1.1: Configuration Details
The steps described in this section assume that you already have a multi-node Oracle E-Business Suite Release 12 installation. Application Servers 1 and 2 will be configured to run the web application behind a hardware-based load-balancer.
2.1.2: Configuration Changes on the Application Tier
2.1.3: Update Applications Context File
Use the AutoConfig Context Editor to set the configuration values in the applications context file on server 1 and 2 . The table below describe how the context value should be changed when a load balancer is configured in front of application servers. For example:
- Load Balancer Entry Point: store.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: http
- Application Tier Web Port: 8050
- Active Web Port:443
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_webentryurlprotocol | Protocol that desktop clients use to communicate with the web entry point server | http | https |
s_webentryhost | Name of the host that receives the first HTTP request from the desktop client | appstier1 on Application Server 1appstier2 on Application Server 2 | store |
s_webentrydomain | Domain name of the host that receives the first HTTP request from the desktop client | company.com | company.com |
s_active_webport | Port on the web server or load balancer that listens for HTTP requests | 8050 | 443 |
s_login_page | URL used to access the Applications logon page | http://appstier1.company.com:8050/OA_HTML/AppsLoginon Application Server 1 http://appstier2.company.com:8050/OA_HTML/AppsLoginon Application Server 2 | https://store.company.com/OA_HTML/AppsLogin |
s_external_url | URL that third party tools use to connect to the E-Business Suite System. This is used only by the Oracle Web Services product. | http://appstier1.company.com:8050/ on Application Server 1 http://appstier2.company.com:8050/ on Application Server 2 | https://store.company.com |
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from the load balancer entry point
If you are using your load balancer for SSL termination/acceleration, be sure to follow the steps outlined in Oracle MetaLink Note 376700.1 (Enabling SSL in Oracle Applications Release 12)
2.1.4: Configuration Changes on the Load Balancer
The Hardware Load Balancer must be configured for session persistence: various modules shipped with Oracle E-Business Suite need to maintain session state. If this property is not set, the loss of transaction state may result in users experiencing unpredictable errors.
Oracle supports session persistence technology that is transparent to the Oracle E-Business Suite; that is, session persistence approaches which do not require additional programmatic changes to the underlying E-Business Suite modules. For successful integration of your load balancer with Oracle E-Business Suite application tiers, refer to your load balancer's documentation for details on how to configure the load balancing pool, virtual host configuration, and session persistence parameters. Networking hardware vendors offer products with a range of technical solutions for session persistence, but it is beyond the scope of this document to make comparative assessments of the various approaches.
As an example, the following table summarizes the key parameters that Oracle Development uses for its standardized load balancer configuration tests:
Load Balancer Parameter | Value |
---|---|
Load Balancing Method | Predictive Node Address |
Persistence Type | Active HTTP Cookie with Method Insert and Cookie Expiration 12 hrs |
2.2: Using Hardware Load Balancers with Multiple Web Entry Points
The diagram shown below represents a hardware load balancer configuration with multiple entry points to load balance the web application running on application server 1, 2, 3 and 4. In this configuration, users access E-Business Suite application with two different URLs.
2.2.1: Configuration Details
2.2.2: Configuration Changes on the Application Tier
2.2.3: Update Ebusiness Suite Profile Options Hierarchy Type
There are a number of user profiles that are used to construct various URLs in an E-Business Suite Release 12 environment. These user profiles are as follows:
User Profile Name
|
Internal Name
|
---|---|
1. Applications Web Agent | APPS_WEB_AGENT |
2. Applications Servlet Agent | APPS_SERVLET_AGENT |
3. Applications JSP Agent | APPS_JSP_AGENT |
4. Applications Framework Agent | APPS_FRAMEWORK_AGENT |
5. ICX:Forms Launcher | ICX_FORMS_LAUNCHER |
6. ICX: Oracle Discoverer Launcher | ICX_DISCOVERER_LAUNCHER |
7. ICX: Oracle Discoverer Viewer Launcher | ICX_DISCOVERER_VIEWER_LAUNCHER |
8. Applications Help Web Agent | HELP_WEB_AGENT |
9. Applications Portal | APPS_PORTAL |
10. BOM:Configurator URL of UI Manager | CZ_UIMGR_URL |
11. QP: Pricing Engine URL | QP_PRICING_ENGINE_URL |
12. TCF:HOST | TCF:HOST |
The default hierarchy type value for the above profile options is of Security type as shown in the sample diagram below:
Configuration of the E-Business Suite environment for access from multiple entry point requires the profile options hierarchy type to be changed to SERVRESP. To change the profile options hierarchy type values to SERVRESP , execute the following SQL script as shown below:
>sqlplus <apps-schema-name>/<apps-passwd> @<FND_TOP>/patch/115/sql/txkChangeProfH.sql SERVRESP
After running the script, verify that the hierarchy type for the profile options was successfully changed to SERVRESP. For example, see the screenshot below:
2.2.4: Update Applications Context File
Use the AutoConfig Context Editor to set the configuration values in the applications context file on server 1, 2, 3 and 4. The table below describe how the context value should be changed when a load balancer is configured in front of application servers. For example:
- Load Balancer Entry Point 1: store.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: http
- Application Tier Web Port: 8050
- Active Web Port:443
- Load Balancer Entry Point 2: recruitment.company.com
- Application Server 3: appstier3.company.com
- Application Server 4: appstier4.company.com
- Web Entry protocol: http
- Application Tier Web Protocol: http
- Application Tier Web Port: 8060
- Active Web Port:80
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_webentryurlprotocol | Protocol that desktop clients use to communicate with the entry point server | http | https for store.company.com http for recruitment.company.com |
s_webentryhost | Name of the host that receives the first HTTP request from the desktop client | appstier1 on Application Server 1appstier2 on Application Server 2appstier3 on Application Server 3appstier4 on Application Server 4 | store as the entry web entry host forappstier1 and appstier2 recruitment as the web entry host forappstier3 and appstier4 |
s_webentrydomain | Domain name of the host that receives the first HTTP request from the desktop client | company.com | company.com |
s_active_webport | Port on the web server or load balancer that listens for HTTP requests | 8050 on appstier1 and appstier2 8060 on appstier3 and appstier4 | 443 for store.company.com 80 for recruitment.company.com |
s_login_page | URL used to access the Applications logon page | http://appstier1.company.com:8050/OA_HTML/AppsLogin on appstier1 http://appstier2.company.com:8050/OA_HTML/AppsLogin on appstier2 http://appstier3.company.com:8060/OA_HTML/AppsLogin on appstier3 http://appstier4.company.com:8060/OA_HTML/AppsLogin on appstier4 | https://store.company.com/OA_HTML/AppsLogin as the login page for appstier1 and appstier2 http://recruitment.company.com/OA_HTML/AppsLogin as the login page for appstier3 and appstier4 |
s_external_url | URL that third party tools use to connect to the E-Business Suite System. This is used only by the Oracle Web Services product. | http://appstier1.company.com:8050/ on appstier1 http://appstier2.company.com:8050/ on appstier2 http://appstier3.company.com:8060/ on appstier3 http://appstier4.company.com:8060/ on appstier4 | https://store.company.com for store.company.com http://recruitment.company.com forrecruitment.company.com |
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from different entry points.
If you are using your load balancer for SSL termination/acceleration, be sure to follow the steps outlined in Oracle MetaLink Note 376700.1 (Enabling SSL in Oracle Applications Release 12)
2.2.5: Configuration Changes on the Load Balancer
The Hardware Load Balancer must be configured for session persistence: various modules shipped with Oracle E-Business Suite need to maintain session state. If this property is not set, the loss of transaction state may result in users experiencing unpredictable errors.
Oracle supports session persistence technology that is transparent to the Oracle E-Business Suite; that is, session persistence approaches which do not require additional programmatic changes to the underlying E-Business Suite modules. For successful integration of your load balancer with Oracle E-Business Suite application tiers, refer to your load balancer's documentation for details on how to configure the load balancing pool, virtual host configuration, and session persistence parameters. Networking hardware vendors offer products with a range of technical solutions for session persistence, but it is beyond the scope of this document to make comparative assessments of the various approaches.
As an example, the following table summarizes the key parameters that Oracle Development uses for its standardized load balancer configuration tests:
Load Balancer Parameter | Value |
---|---|
Load Balancing Method | Predictive Node Address |
Persistence Type | Active HTTP Cookie with Method Insert and Cookie Expiration 12 hrs |
2.3: Using Hardware Load Balancers with Functional Redirection
In this configuration there is a primary web entry point URL. Users are directed to different servers based on the functional responsibilities that they choose after signing on.
In this configuration, users access the Oracle E-Business Suite using the primary entry point URL
https://ebiz.company.com
and depending on the responsibility they choose -- either manufacturing vs hrms -- they are redirected to the https://mfg.company.com
or https://hrms.company.com
pool of servers.2.3.1: Configuration Details
2.3.2: Configuration Changes on the Application Tier
2.3.3: Update E-Business Suite Profile Options Hierarchy Type
Please follow the instructions provided in Table 1 to set the profile hierarchy type to SERVRESP.
2.3.4: Update Applications Context File
Use the AutoConfig Context Editor to set the configuration values in the applications context file on server ebiz1, ebiz2 , mfg1, mfg2 and hrms. The table below describe how the context value should be changed when a load balancer is configured in front of application servers. For example:
- Load Balancer Entry Point 1: ebiz.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: http
- Application Tier Web Port: 8050
- Active Web Port:443
- Load Balancer Entry Point 2: mfg.company.com
- Application Server 1: appstier3.company.com
- Application Server 2: appstier4.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: http
- Application Tier Web Port: 8060
- Active Web Port:443
- Load Balancer Entry Point 3: hrms.company.com
- Application Server 1: appstier5.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: https
- Application Tier Web Port: 8070
- Active Web Port:443
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_webentryurlprotocol | Protocol that desktop clients use to communicate with the web entry point server | http | https |
s_webentryhost | Name of the host that receives the first HTTP request from the desktop client | appstier1 on Application Server 1appstier2 on Application Server 2appstier3 on Application Server 3appstier4 on Application Server 4appstier5 on Application Server 5 | ebiz as the web entry host forappstier1.company.com and andappstier2.company.com mfg as the web entry host forappstier3.company.com andappstier4.company.com hrms as the web entry hostappstier5.company.com |
s_webentrydomain | Domain name of the host that receives the first HTTP request from the desktop client | company.com | company.com |
s_active_webport | Port on the web server or load balancer that listens for HTTP requests | 8050 on appstier1.company.com andappstier2.company.com 8060 on appstier3.company.com and
8070 on appstier5.company.com | 443 for all web entry points |
s_login_page | URL used to access the Applications logon page | http://appstier1.company.com:8050/OA_HTML/AppsLogin on appstier1.company.com http://appstier2.company.com:8050/OA_HTML/AppsLogin on appstier2.company.com http://appstier3.company.com:8060/OA_HTML/AppsLogin on appstier3.company.com http://appstier4.company.com:8060/OA_HTML/AppsLogin on appstier4.company.com http://appstier5.company.com:8070/OA_HTML/AppsLogin on appstier5.company.com | https://ebiz.company.com/OA_HTML/AppsLogin as the login page for appstier1.company.com andappstier2.company.com https://mfg.company.com/OA_HTML/AppsLogin as the login page for appstier3.company.com andappstier4.company.com https://hrms.company.com/OA_HTML/AppsLogin as the login page for appstier5.company.com |
s_external_url | URL that third party tools use to connect to the E-Business Suite System. This is used only by the Oracle Web Services product. | http://appstier1.company.com:8050/ onappstier1.company.com http://appstier2.company.com:8050/ onappstier2.company.com http://appstier3.company.com:8060/ onappstier3.company.com http://appstier4.company.com:8060/ onappstier4.company.com http://appstier5.company.com:8070/ onappstier5.company.com | https://ebiz.company.com forebiz.company.com https://mfg.company.com for mfg.company.com https://hrms.company.com forhrms.company.com |
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from different entry points.
If you are using your load balancer for SSL termination/acceleration, be sure to follow the steps outlined in Oracle MetaLink Note 376700.1 (Enabling SSL in Oracle Applications Release 12)
2.3.4.1: Configuration Changes on the Load Balancer
The Hardware Load Balancer must be configured for session persistence: various modules shipped with Oracle E-Business Suite need to maintain session state. If this property is not set, the loss of transaction state may result in users experiencing unpredictable errors.
Oracle supports session persistence technology that is transparent to the Oracle E-Business Suite; that is, session persistence approaches which do not require additional programmatic changes to the underlying E-Business Suite modules. For successful integration of your load balancer with Oracle E-Business Suite application tiers, refer to your load balancer's documentation for details on how to configure the load balancing pool, virtual host configuration, and session persistence parameters. Networking hardware vendors offer products with a range of technical solutions for session persistence, but it is beyond the scope of this document to make comparative assessments of the various approaches.
As an example, the following table summarizes the key parameters that Oracle Development uses for its standardized load balancer configuration tests:
Load Balancer Parameter | Value |
---|---|
Load Balancing Method | Predictive Node Address |
Persistence Type | Active HTTP Cookie with Method Insert and Cookie Expiration 12 hrs |
2.3.5: Set Profile Option Values at Responsibility Level
Follow the instructions given below to set profile option values for the required responsibilities at the responsibility level. These values have to be set for all the profile options mentioned in Table 1
2.3.5.1: Using the Forms Interface
For example, to change the value for responsibility Manufacturing and Distribution Manager, perform the following steps:
- Login to Oracle E-Business Suite as sysadmin user using the main web entry point URL
- Select the System Administrator Responsibility
- Select Profile > System
- From the 'Find system profile option Values' window, select the responsibility
- To change values for all agent profile options, Query for
%AGENT%
and set the appropriate value to redirect the user to the manufacturing pool of servers. Refer to the example shown below:
2.3.5.2: Using the Command Line Interface
To change the value for a responsibility , perform the following steps:
- Execute the SQL script
afservrespval.sql
sqlplus <apps-schema-name>/<apps-passwd> @<FND_TOP>/patch/115/sql/afservrespval.sql
- The script will prompt for the following values:
prof_name
: profile option name (the value ofPROFILE_OPTION_NAME
column in thefnd_profile_options
table)resp_key
: responsibility key (value ofRESPONSIBILITY_KEY
column infnd_responsibility
table)appl_short_name
: application short name (value ofAPPLICATION_SHORT_NAME
column infnd_application
table)node_name
: node name (value ofNODE_NAME
column infnd_nodes
table)prof_level_value
: profile option value to be set
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from different entry points.
2.4: Using Domain Name Server (DNS) Load Balancing with Single Web Entry Point
The diagram shown below represents a DNS load balancing configuration with a single entry point to load balance the web application running on application tier serversappstier1.company.com and appstier2.company.com. In this configuration, all users access E-Business Suite application via a single URL.
This configuration employ a load balancing process known as DNS round robin and it utilize a function of DNS that allows more than one Internet Protocol (IP) address to be associated with a hostname. With DNS round robin, it is possible to assign multiple IP addresses to a hostname and it will distribute the traffic to the list of IP addresses associated with that hostname. For instance, let's say you had two application tier servers with IP addresses of 190.35.4.170 and 190.35.4.154 that you wanted to share the load for the sitednslbr.company.com .The configuration in the DNS server for the two IP addresses would look like the following:
$ dig dnslbr.company.com ;; QUESTION SECTION: ;dnslbr.company.com. IN A ;; ANSWER SECTION: dnslbr.company.com. 10800 IN A 190.35.4.154 dnslbr.company.com. 10800 IN A 190.35.4.170 $ nslookup dnslbr.company.com Name: dnslbr.company.com Address: 190.35.4.170 Name: dnslbr.company.com Address: 190.35.4.154 To verify whether DNS is routing the requests correctly, type the following commands in sequence $ telnet dnslbr.company.com Trying 190.35.4.170... Connected to dnslbr.company.com. $ telnet dnslbr.company.com Trying 190.35.4.154... Connected to dnslbr.company.com From the above output, you can see that the first request was routed to machine with IP address190.35.4.170 and the next went to the server with IP address 190.35.4.154 |
Although DNS round robin load balancing is a simple way to distribute traffic among several servers, it has several limitations which includes unpredictable load distribution, DNS caching issues by the browser, lack of fault tolerance, Local DNS servers not conforming to the standards and ignore Time to Live values specified by the authoritative DNS servers etc.
2.4.1: Configuration Details
The steps described in this section assume that you already have a multi-node Oracle E-Business Suite Release 12 installation. Application Servers 1 and 2 will be configured to run the web application behind a DNS based load-balancer.
2.4.2: Configuration Changes on the Application Tier
2.4.3: Update Applications Context File
Use the AutoConfig Context Editor to set the configuration values in the applications context file on server 1 and 2 . The table below describe how the context value should be changed when a load balancer is configured in front of application servers. For example:
- Load Balancer Entry Point: dnslbr.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
- Web Entry protocol: https
- Application Tier Web Protocol: https
- Application Tier Web Port: 443
- Active Web Port:443
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_webentryurlprotocol | Protocol that desktop clients use to communicate with the web entry point server | http | https |
s_webentryhost | Name of the host that receives the first HTTP request from the desktop client | appstier1 on Application Server 1appstier2 on Application Server 2 | dnslbr |
s_webentrydomain | Domain name of the host that receives the first HTTP request from the desktop client | company.com | company.com |
s_active_webport | Port on the web server or load balancer that listens for HTTP requests | 443 | 443 |
s_login_page | URL used to access the Applications logon page | http://appstier1.company.com:8050/OA_HTML/AppsLoginon Application Server 1 http://appstier2.company.com:8050/OA_HTML/AppsLogin on Application Server 2 | https://dnslbr.company.com/OA_HTML/AppsLogin |
s_external_url | URL that third party tools use to connect to the E-Business Suite System. This is used only by the Oracle Web Services product. | http://appstier1.company.com:8050/ on Application Server 1 http://appstier2.company.com:8050/ on Application Server 2 | https://dnslbr.company.com/ |
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
DNS Load Balancing configuration requires OC4J clustering feature to be enabled to avoid transaction state context loss ( session loss) errors. Please follow instructions from the appropriate section under Section 3:Configuring Oracle Application Server OC4J Clusters to enable OC4J clustering.
|
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from the web entry point
3: Configuring Oracle Application Server OC4J Clusters
An Oracle Application Server Cluster is a software concept, wherein a set of application tier servers are configured to deliver greater scalability and availability that can not be potentially obtained using a single server. This model offers a highly available infrastructure, with no single point of failure.
Oracle E-Business Suite Release 12 uses the static node-to-node clustering model. In this configuration, all servers in an Oracle Application Server cluster have identical configurations and applications deployed. Refer to Oracle Containers for J2EE Configuration and Administration Guide 10g Release 3 (10.1.3) Administrator's Guide to learn more about OC4J Clustering.
Oracle E-Business Suite Release 12 uses the static node-to-node clustering model. In this configuration, all servers in an Oracle Application Server cluster have identical configurations and applications deployed. Refer to Oracle Containers for J2EE Configuration and Administration Guide 10g Release 3 (10.1.3) Administrator's Guide to learn more about OC4J Clustering.
In this configuration, SSL is turned on by default to secure the cluster so that only trusted Oracle Application Server instances can join the cluster. This happens during the install/clone and OPMN use a default wallet containing a default SSL certificate that is shipped with oracle Application Server. Refer to A.3.2.2 Securing OPMN Communication in an Oracle Application Server Cluster for more information.
There are various deployment options, the main difference being the number of OC4J applications running on the application tier servers and the use of either single or multiple web entry points. This configuration requires the following patches to be applied to your system:
Patch Number | Patch Description | Comments |
---|---|---|
9386653 | R12.TXK.A.DELTA.7 |
3.1: Deployment Option with Single Web Entry Point
3.1.1: Deployment Option with OC4J Applications running on all application tier servers
The diagram shown below represents a deployment model with a single web entry point for all OC4J applications, namely oacore, forms and oafm configured to run on all application tier servers.
3.1.1.1: Configuration Details
Configuration details discussed in this section assume that you have already configured the webentry point by following the instructions provided in Section 2.1: Using Hardware Load Balancers with Single Web Entry Point. If those instructions were successfully completed, use the AutoConfig Context Editor to set additional configuration parameters in the applications context file on server 1 and 2 to enable OC4J clustering. In this configuration, all the application tier Servers, along with their ONS remote server ports, have to be listed in each of the applications context files. The following example will illustrate this.- Load Balancer Entry Point: ebiz.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
The table below describes how the context values should be changed for the above configuration.
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_oc4j_cluster_nodes | List of Servers that are participating in the cluster configuration | appstier1.company.com:6000 on appstier1.company.com appstier2.company.com:6000on appstier2.company.com | appstier1.company.com:6000,appstier2.company.com:6000 on both the application tier servers |
In the example given above, appstier1.company.com and appstier2.company.com are the application tier servers running OPMN/OHS/OC4J services, and port 6000 is theOracle Notification Server Remote port .You can determine the value of Oracle Notification Server Remote port in each of the context files by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variable s_oc4j_cluster_nodes are separated by a comma.
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from the web entry point.
- Test the status of various processes in the instance cluster by running the command $INST_TOP/admin/scripts/adopmnctl.sh @cluster status
3.1.2: Deployment Option with OC4J Applications running on selected application tier servers
The diagram shown below represents a deployment model with a single web entry point with some OC4J applications running on selected application tier servers.
3.1.2.1: Configuration Details
Configuration details discussed in this section assume that you have already configured the webentry point by following the instructions provided in Section 2.1: Using Hardware Load Balancers with Single Web Entry Point. If those instructions were successfully completed, use the AutoConfig Context Editor to set additional configuration parameters in the applications context file on server 1 and 2 to enable OC4J clustering . In this configuration, all the application tier Servers, along with their ONS remote server ports, have to be listed in each of the applications context files. The following example will illustrate this.- Load Balancer Entry Point: ebiz.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
The table below describes how the context values should be changed for the above configuration.
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_oc4j_cluster_nodes | List of Servers that are participating in the cluster configuration | appstier1.company.com:6000 on appstier1.company.com appstier2.company.com:6000on appstier2.company.com | appstier1.company.com:6000,appstier2.company.com:6000 on both the application tier servers |
s_oacorestatus | Oacore OC4J status | enabled onappstier1.company.com enabled on appstier2.company .com | enabled on appstier1.company.com disabled on appstier2.company.com |
s_formsstatus | Forms OC4J Status | enabled onappstier1.company.com enabled on appstier2.company.com | disabled on appstier1.company.com enabled on appstier2.company.com |
s_oafmstatus | Oafm OC4J Status | enabled onappstier1.company.com enabled on appstier2.company.com | disabled on appstier1.company.com enabled on appstier2.company.com |
In the example given above appstier1.company.com and appstier2.company.com are the application tier servers running OPMN/OHS/OC4J services and port 6000 is the Oracle Notification Server Remote port . You can find the value of Oracle Notification Server Remote port in each of the context file by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variable s_oc4j_cluster_nodes are separated by a comma.
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from the web entry point
- Test the status of various processes in the instance cluster by running the command $INST_TOP/admin/scripts/adopmnctl.sh @cluster status
3.2: Deployment Option with Multiple Web Entry Point
The diagram shown below represents a deployment model with multiple web entry points, and OC4J applications running on selected application tier servers.
3.2.1: Configuration Details
Configuration details discussed in this section assume that you have already configured the web entry point by following the instructions provided in 2.2: Using Hardware Load Balancers with Multiple Web Entry Points. If those instructions were successfully completed, use the AutoConfig Context Editor to set additional configuration parameters in the applications context file on server 1 through 4 to enable OC4J clustering .The following example will illustrate this.
- Load Balancer Entry Point 1: store.company.com
- Application Server 1: appstier1.company.com
- Application Server 2: appstier2.company.com
- Load Balancer Entry Point 2: mfg.company.com
- Application Server 1: appstier3.company.com
- Application Server 2: appstier4.company.com
The table below describes how the context values should be changed for the following configuration.
Context Variable Name | Context Variable Description | Old Context Value | New Context Value |
---|---|---|---|
s_oc4j_cluster_nodes | List of Servers that are participating in the cluster configuration | appstier1.company.com:6000 on appstier1.company.com appstier2.company.com:6000on appstier2.company.com appstier3.company.com:6000 on appstier3.company.com appstier4.company.com:6000on appstier4.company.com | appstier1.company.com:6000,appstier2.company.com:6000, appstier3.company.com:6000, appstier4.company.com:6000 on all the application tier servers |
s_oacorestatus | Oacore OC4J status | enabled onappstier1.company.com enabled on appstier2.company .com enabled onappstier3.company.com enabled on appstier4.company.com | enabled on appstier1.company.com enabled on appstier2.company.com disabled on appstier3.company.com disabled on appstier4.company.com |
s_formsstatus | Forms OC4J Status | enabled onappstier1.company.com enabled on appstier2.company.com enabled onappstier3.company.com enabled on appstier4.company.com | disabled on appstier1.company.com disabled on appstier2.company.com enabled on appstier3.company.com enabled on appstier4.company.com |
s_oafmstatus | Oafm OC4J Status | enabled onappstier1.company.com enabled on appstier2.company.com enabled onappstier3.company.com enabled on appstier4.company.com | disabled on appstier1.company.com disabled on appstier2.company.com enabled on appstier3.company.com enabled on appstier4.company.com |
In the example given above, appstier1.company.com, appstier2.company.com, appstier3.company.com and appstier4.company.com are the application tier servers running the OPMN/OHS/ OC4J services, and port 6000 is the Oracle Notification Server Remote port . You can find the value of Oracle Notification Server Remote port in each of the context files by looking up the value for the AutoConfig variable s_ons_remoteport . You must ensure that values entered for the AutoConfig variables_oc4j_cluster_nodes are separated by a comma.
The values listed for the context variables in the table above should only be used as a reference to change your applications context file. It is possible that system administrators may have changed the default values to perform other advanced configurations.
After completing the changes shown above, do the following:
- Run the AutoConfig utility on all the application tier Servers
- Restart application server processes
- Test sign on from different web entry points.
- Test the status of various processes in the instance cluster by running the command $INST_TOP/admin/scripts/adopmnctl.sh @cluster status