Sunday, 31 May 2015

compile jsp in EBS R12

How to compile JSP in R12/11i?



How to compile JSP in R12


In Linux/Unix


Login as applmgr user and source the environment by running the script:

[applmgr@sujeet ~]$ cd /u02/sujeetapps/apps/apps_st/appl/

[applmgr@sujeet appl]$ . APPSCHTLPROD_sujeet.env

[applmgr@sujeet appl]$ cd $FND_TOP/patch/115/bin

[applmgr@sujeet bin]$ pwd

/u02/sujeetapps/apps/apps_st/appl/fnd/12.0.0/patch/115/bin

[applmgr@sujeet bin]$ perl ojspCompile.pl --compile --flush -p 2
( -p means parallel execution)

In Windows

cd %FND_TOP%\patch\115\bin
perl -x ojspCompile.pl –compile –flush


Restart the Apache services or Middle-ware services.


How to compile individual JSP in R12:


[applmgr@sujeet ~]$ cd $COMMON_TOP/_pages

[applmgr@sujeet  _pages]$ pwd

/u02/sujeetapps/apps/apps_st/comn/_pages

Delete the class files (abcdef.class) for the JSP that you want to compile manually.
Eg. JSP File abcdef_12.jsp 
Class File: abcdef_12.class ------------- Delete this file.

Navigate to the OA_HTML (Location for all the Jsp pages). if the JSP pages do not exist, copy the JSP to the location & run the below command.

[applmgr@sujeet ~]$ FND_TOP/patch/115/bin/ojspCompile.pl --compile -s 'abcdef_12.jsp' --flush

or

Compile a jsp page:
 [applmgr@sujeet ~]$ cd $OA_HTML
 [applmgr@sujeet ~]$ $FND_TOP/patch/115/bin/ojspCompile.pl --compile -s 'xxxx.jsp' -log err.log --flush

Compile all jsp pages:
 $FND_TOP/patch/115/bin/ojspCompile.pl --compile  --flush -p 4

Restart the Apache services or Middle-ware services. 
Check whether the respective class files have been created under 

cd $COMMON_TOP/_pagesCheers!

Enable Automatic Compilation of JSP pages in R12

edit the $CONTEXT_FILE
Change value for the entry s_jsp_main_mode from justrun to recompile

run AutoConfig, restart the web tier services.

***************************************************************************************************************************
For help use below cmd.
[applmgr@sujeet comn]$  $FND_TOP/patch/115/bin/ojspCompile.pl

syntax: /apps/vision/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/ojspCompile.pl COMMAND {ARGS}

COMMAND --compile               update dependency, compile delta
        --create                rebuild entire dependency file
        -delta.out <file>       update dependency, list delta to file
        -dep.out <xmlfile>      update dependency, output heirarchy to file

ARGS    -s <regex>      matching condition for JSPs filenames
        -p <procs>      number of parallel compilations
        -log <file>     to override logfile from ojspCompile.conf

You are recommended to set the log file location

 outside of any network file system shared (NFS) area/drive.
        -conf <file>    to override ojspCompile.conf
        --retry         retry previously failed compilation attempts
        --flush         forces recompilation of all parent JSPs
        --quiet         do not provide an actively running progress meter
        --fast          instantly fail jsps that are *possibly* invalid

Thursday, 21 May 2015

Load balancing in oracle apps r12

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.

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:

Load Balancer

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:
  1. The database tier, which supports and manages the Oracle database
  2. The application tier, which supports and manages the various Applications components, and is sometimes known as the middle tier
  3. 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:
  1. Load-Balancer Hardware Requirements
  2. DNS Resolution Requirements
The Use of Software Load Balancer is supported with Oracle E-Business Suite but Oracle does not endorse or perform explicit certification with any third party software load balancing solutions. Most of the software load balancing solutions are based on a single process/interceptor and is not reliable for a fault tolerant environment.

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, and employees.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.  The employees.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:
  1. 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.
     
  2. 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 from OAInfo.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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_webentryurlprotocolProtocol that desktop clients use to communicate with the web entry point serverhttphttps
s_webentryhostName of the host that receives the first HTTP request from the desktop clientappstier1 on Application Server 1
appstier2 on Application Server 2
store
s_webentrydomainDomain name of the host that receives the first HTTP request from the desktop clientcompany.comcompany.com
s_active_webportPort on the web server or load balancer that listens for HTTP requests8050443
s_login_pageURL used to access the Applications logon pagehttp://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_urlURL 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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. 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 ParameterValue
Load Balancing MethodPredictive Node Address
Persistence TypeActive 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 AgentAPPS_WEB_AGENT
2. Applications Servlet AgentAPPS_SERVLET_AGENT
3. Applications JSP AgentAPPS_JSP_AGENT
4. Applications Framework AgentAPPS_FRAMEWORK_AGENT
5. ICX:Forms LauncherICX_FORMS_LAUNCHER
6. ICX: Oracle Discoverer LauncherICX_DISCOVERER_LAUNCHER
7. ICX: Oracle Discoverer Viewer LauncherICX_DISCOVERER_VIEWER_LAUNCHER
8. Applications Help Web AgentHELP_WEB_AGENT
9. Applications PortalAPPS_PORTAL
10. BOM:Configurator URL of UI ManagerCZ_UIMGR_URL
11. QP: Pricing Engine URLQP_PRICING_ENGINE_URL
12. TCF:HOSTTCF:HOST
Table 1
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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_webentryurlprotocolProtocol that desktop clients use to communicate with the entry point serverhttphttps for store.company.com
http for recruitment.company.com
s_webentryhostName of the host that receives the first HTTP request from the desktop clientappstier1 on Application Server 1
appstier2 on Application Server 2
appstier3 on Application Server 3
appstier4 on Application Server 4 
store as the entry web entry host for
appstier1 and appstier2
recruitment as the web entry host for
appstier3 and appstier4
s_webentrydomainDomain name of the host that receives the first HTTP request from the desktop clientcompany.comcompany.com
s_active_webportPort on the web server or load balancer that listens for HTTP requests8050 on appstier1 and appstier2
8060 on appstier3 and appstier4
443 for store.company.com
80 for recruitment.company.com
s_login_pageURL used to access the Applications logon pagehttp://appstier1.company.com:8050/OA_HTML/AppsLoginon appstier1
http://appstier2.company.com:8050/OA_HTML/AppsLoginon appstier2
http://appstier3.company.com:8060/OA_HTML/AppsLoginon appstier3
http://appstier4.company.com:8060/OA_HTML/AppsLoginon appstier4
https://store.company.com/OA_HTML/AppsLogin as the login page for appstier1 and appstier2
http://recruitment.company.com/OA_HTML/AppsLoginas the login page for appstier3 and appstier4
s_external_urlURL 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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. 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 ParameterValue
Load Balancing MethodPredictive Node Address
Persistence TypeActive 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 , mfg1mfg2 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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_webentryurlprotocolProtocol that desktop clients use to communicate with the web entry point serverhttphttps
s_webentryhostName of the host that receives the first HTTP request from the desktop clientappstier1 on Application Server 1
appstier2 on Application Server 2
appstier3 on Application Server 3
appstier4 on Application Server 4
appstier5 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_webentrydomainDomain name of the host that receives the first HTTP request from the desktop clientcompany.comcompany.com
s_active_webportPort on the web server or load balancer that listens for HTTP requests8050 on appstier1.company.com andappstier2.company.com
8060 on appstier3.company.com and
appstier4.company.com

8070 on appstier5.company.com
443 for all web entry points
s_login_pageURL used to access the Applications logon pagehttp://appstier1.company.com:8050/OA_HTML/AppsLoginon appstier1.company.com
http://appstier2.company.com:8050/OA_HTML/AppsLoginon appstier2.company.com
http://appstier3.company.com:8060/OA_HTML/AppsLoginon appstier3.company.com
http://appstier4.company.com:8060/OA_HTML/AppsLoginon appstier4.company.com
http://appstier5.company.com:8070/OA_HTML/AppsLoginon appstier5.company.com
https://ebiz.company.com/OA_HTML/AppsLoginas the login page for appstier1.company.com andappstier2.company.com
https://mfg.company.com/OA_HTML/AppsLoginas the login page for appstier3.company.com andappstier4.company.com
https://hrms.company.com/OA_HTML/AppsLoginas the login page for appstier5.company.com
s_external_urlURL 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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. 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 ParameterValue
Load Balancing MethodPredictive Node Address
Persistence TypeActive 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:
  1. Login to Oracle E-Business Suite as sysadmin user using the main web entry point URL
  2. Select the System Administrator Responsibility
  3. Select Profile > System
  4. From the 'Find system profile option Values' window, select the responsibility
  5. 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:
  1. Execute the SQL script afservrespval.sql
    sqlplus <apps-schema-name>/<apps-passwd> @<FND_TOP>/patch/115/sql/afservrespval.sql
  2. The script will prompt for the following values:
    • prof_name: profile option name (the value of PROFILE_OPTION_NAME column in the fnd_profile_options table)
    • resp_key: responsibility key (value of RESPONSIBILITY_KEY column in fnd_responsibility table)
    • appl_short_name: application short name (value of APPLICATION_SHORT_NAME column in fnd_application table)
    • node_name: node name (value of NODE_NAME column in fnd_nodes table)
    • prof_level_value: profile option value to be set
After completing the changes shown above, do the following:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. 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.
dns
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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_webentryurlprotocolProtocol that desktop clients use to communicate with the web entry point serverhttphttps
s_webentryhostName of the host that receives the first HTTP request from the desktop clientappstier1 on Application Server 1
appstier2 on Application Server 2
dnslbr
s_webentrydomainDomain name of the host that receives the first HTTP request from the desktop clientcompany.comcompany.com
s_active_webportPort on the web server or load balancer that listens for HTTP requests443443
s_login_pageURL used to access the Applications logon pagehttp://appstier1.company.com:8050/OA_HTML/AppsLoginon Application Server 1
http://appstier2.company.com:8050/OA_HTML/AppsLoginon Application Server 2
https://dnslbr.company.com/OA_HTML/AppsLogin
s_external_urlURL 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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. 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.
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 NumberPatch DescriptionComments
9386653R12.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 oacoreforms and oafm configured to run on all application tier servers.

Cluster311

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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_oc4j_cluster_nodes
List of Servers that are participating in the cluster configurationappstier1.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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. Test sign on from the web entry point.
  4. 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.
Cluster312

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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_oc4j_cluster_nodes
List of Servers that are participating in the cluster configurationappstier1.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_oacorestatusOacore OC4J statusenabled onappstier1.company.com
enabled on appstier2.company .com
enabled on appstier1.company.com
disabled on appstier2.company.com
s_formsstatusForms OC4J Statusenabled onappstier1.company.com
enabled on appstier2.company.com
disabled on appstier1.company.com
enabled on appstier2.company.com
s_oafmstatusOafm OC4J Statusenabled 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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. Test sign on from the web entry point
  4. 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.
Cluster32

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.

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 NameContext Variable DescriptionOld Context ValueNew Context Value
s_oc4j_cluster_nodes
List of Servers that are participating in the cluster configurationappstier1.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_oacorestatusOacore OC4J statusenabled 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_formsstatusForms OC4J Statusenabled 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_oafmstatusOafm OC4J Statusenabled 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.comappstier3.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:
  1. Run the AutoConfig utility on all the application tier Servers
  2. Restart application server processes
  3. Test sign on from different web entry points.
  4. Test the status of various processes in the instance cluster by running the command $INST_TOP/admin/scripts/adopmnctl.sh @cluster status