Home » Oracle » Oracle Ebuisness Suite » Socket mode for forms in R12

Socket mode for forms in R12

Socket mode for forms in R12

Introduction of Socket mode for forms

  • Forms by default run in Servlet mode in R12 and above 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 Services.
  • The 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.
  • Please read below post to learn  about Servlet Architecture
    Important Oracle Forms Architecture Features in R12
  • Some times we may require to change it socket mode for better performance.

How to start Apps R12 in forms socket

(1) Run the following command to enable Forms Socket Mode on Forms/web nodes (Place correct context file name and port value)

$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile=$CONTEXT_FILE -mode=socket -port=8000 -runautoconfig=yes

Where port = forms port and contextfile=your environment contextfile
The above script will also run autoconfig to make all the configuration changes

We can run below command also if you want to run Autoconfig separately

$FND_TOP/bin/txkrun.pl -script=ChangeFormsMode -contextfile=$CONTEXT_FILE -mode=socket -port=8000 -runautoconfig=No

Now run the autoconfig

See also  Oracle partitioned table

(2) To Start/Stop/check Status of forms servers use following scripts

cd $ADMIN_SCRIPTS_HOME
./adformsrvctl.sh status/stop/start

The adopmnctl.sh script will not show forms running in 10giAS

How to start Apps R12 in forms socket mode for testing

Here are two methods (A and B) of starting the forms server for testing in R12.

A. Modify the existing adformsrvctl.sh script, that starts the forms servlet process, to start the forms server.
1. Create a new copy of the $ADMIN_SCRIPTS_HOME/adformsrvctl.sh, name it something like testformsocket.sh

chmod 755 testformsocket.sh 

2. In the new file testformsocket.sh,Change this line:
if [ “servlet” = “servlet” ]
to
if [ “servlet” = “socket” ]
Save your changes.

3. Now execute this script to start the forms socket listener.

testformsocket.sh start

4. At user level, set the profile ‘ICX: form launcher’ to http://<hostname:port#>/OA_HTML/frmservlet?serverURL=&connectMode=socket

5. Login as the above user and test the issue.
Enable the java console and review the log to verify that the user has connected using the Socket Mode.

6. To verify that the forms server is running, you can run something like the following on Unix

testformsocket.sh status

or

lsof|grep <forms port #>

B. you can start the forms server the old way, by running frmsrv.

1. Change to form server directory

cd $ORACLE_HOME/forms/server 

2. Source socket.env

. ./socket.env

3. To start the forms server, run

frmsrv host=<enter your host name> port=<enter your forms port> & Example: frmsrv host=tech.com port=9005 & Note: You can use any available port

4. At the user level, set the ICX: Forms Launcher to

http://<your host.domain:webport>/OA_HTML/frmservlet?serverURL=&serverPort=<forms server port>&connectMode=socket

5. Login as the above user and test the issue.
Enable the java console and review the log to verify that the user has connected using the Socket Mode.

See also  Table Monitoring in Oracle and Relationship with STATISTICS_LEVEL

Note: Make sure to pass the serverPort= or it will use the port defined in FORMS_WEB_CONIG_FILE.

7. To check to see if the forms server is running, you can run something like the following on

Linux:
lsof | grep <forms port #>
or
lsof | grep frmsrv

How to check for Socket or Servlet Configuration

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 
serverURL=/forms/lservlet
connectMode=servlet

In Socket mode

serverURL=(should be blank)
connectMode=Socket

I hope this post provided detailed steps for implementing Socket mode for forms in R12. Please do let me know if you find any issue and please provide the feedback

Also Read
https://docs.oracle.com/cd/E14269_01/doc.451/e13494/modetest.htm

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top