Friday, August 10, 2012

Enabling Forms Socket Mode In EBS/Apps

Oracle Applications Release12 by default configures Forms 10g stack in servlet mode, as this is the preferred and recommended deployment model for deploying forms on the web.  In this mode, there is a java servlet called the Forms Listener Servlet, manages the communication between the Forms Java Client and OracleAS Forms ServicesThe Forms Listener Servlet architecture operates through the HTTP server port alone and does not need extra ports to handle communication between the client and the application server. The servlet architecture is designed to work with industry standards, and also to be fully supported  for advanced network configurations with no additional ports or SSL configuration.

To check if forms is implemented in socket /servlet mode perform the following steps: 
Step 1: Source the middle-tier environment file from <Install_Home>/apps/apps_st/appl directory
Note:  Replace <Install_Home>  with the base directory where Oracle Application R12 is installed in your system
Step 2: Open the appsweb.cfg file pointed by environment variable "FORMS_WEB_CONFIG_FILE" and check the values for following parameters:

  • serverURL=
  • connectMode=
Note:  Refer the table below for the values that they must contain based on the implementation mode 
 

In servlet mode
In Socket mode
serverURL=/forms/lservlet
connectMode=servlet
serverURL=(should be blank)
connectMode=Socket

Although forms servlet is the preferred deployment method, there may be circumstances where customers need to switch from Forms servlet mode to socket mode, which allows desktop clients to access the Forms server directly. This may be required in the following situations:
  • Customers network topology is multinode and the Forms Services are configured on a node different from the node on which Web services(Web Entry Point and Web Applications) are configured.
  • Customers constrained by network bandwidth, or machine resources may consider socket mode as an alternative to improve performance. 
  • To reduce network traffic. The servlet mode uses http protocol on each transaction between a client and the Forms Server requiring the exchange of cookies and http headers which increases network traffic. 
  • To reduce consumption of resources use by the JVMS needed in servlet mode architecture. 
Forms10g
Comments
Listener executable name is frmsrv
Both executables are present in $ORACLE_HOME/bin.
Listener supports only non secure socketmode and servlet mode 
In Oracle Applications Release 12 customers who need http or https must use the servlet implementation.
Forms metric server configuration is obsolete in Forms10g
In Oracle Applications Release 12 customers who want  load balancing must use the servlet implementation in which forms servers can be balanced across multiple application servers by using a hardware load balancer along with the 10g Application Server.
CGI implementation is obsolete and executable is not present in 10g
Oracle Applications Release 12 the initial request that dynamically generates the html page to start the forms applet is processed by the Forms Servlet, although the servlet only receives one request per forms session.
Forms socket mode implements a default 40 bit encryption based on keys randomly generated at runtime
Oracle do not promote the default encryption as a "secure solution". Customers  who require high levels of security should use the Forms servlet configured for https.  If they need to use socket mode, they should use a secure VPN connection to provide the required level of security.

Imp Note - Forms Socket mode in Oracle Applications Release 12 is currently not supported on Windows platforms.


Process for Enabling Forms Socket Mode



Execute the following steps to switch from Forms Servlet mode to Forms Socket mode:

-- Source the environment on the application tier.
-- Stop all the application tier services:
$INST_TOP/admin/scripts/adstpall.sh

-- Run the following command to enable Forms Socket Mode:
$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode \
[-contextfile=<CONTEXT_FILE>] \
-mode=socket \
[-port=<Forms port number>] \
-runautoconfig=<No or Yes> \
-appspass=<APPS password>


$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode \
-contextfile=$INST_TOP/appl/admin/mycontext.xml \
-mode=socket \
-port=9095 \
-runautoconfig=No

-- If Autoconfig was not automatically executed as part of the preceding step, then run AutoConfig on the application tier:
$INST_TOP/admin/scripts/adautocfg.sh

-- Start all the application tier services:
$INST_TOP/admin/scripts/adstrtal.sh

-- Check whether Forms Server is running:
$INST_TOP/admin/scripts/adformsrvctl.sh status

-- Log in to Oracle Applications and  launch a Forms-based application.
-- Open the Sun Java Console (from Tools Menu in Internet Explorer).
-- Check whether the "mode" directive displayed in Sun Java Console when launching forms-based applications is set to socket.

-- The direct launch URL for Forms Socket Mode is:
<web_protocol>://<web_host>.<web_domain>:<web_port>/OA_HTML/frmservlet

6601055STOPPING FORM SERVER (FRMSRV) DOES NOT STOP CHILD FRMWEB PROCESSES
  • Apply patch 6329757.

No comments:

Post a Comment