Home » Oracle » Oracle Ebuisness Suite » Forms Server Architecture in 11i

Forms Server Architecture in 11i

Forms Server Architecture

Forms Server use a three-tier architecture, consisting of the following components:
• Client – A Java Applet running on the client PC that handles the UI presentation.
• Middle tier – The Web Listener and the Form run-time that handles the logic.
• Database tier – Data-intensive logic and data management.

The Forms run-time consists of several components:
• The Forms Server listener (f60srvm) on the middle tier. There is one process per database instance; it is used by new users to connect, and by HTTP for re-connections.
• The Forms Server run-time processes (f60webmx) on the middle tier. There is one process per currently connected user session. There may also be a pool of pre-spawned processes, waiting to be allocated to new users; this improves startup performance. In addition, there may be processes left from terminated sessions, particularly where the client has been killed instead of exiting cleanly. These processes should timeout and be closed down in due course.
• The client Java code consists of the Forms and Extended Windowing Toolkit (EWT) classes. EWT is Oracle’s Java toolkit, used by Forms to create and manage Java UI components such as windows, text items, tree controls and tabs. Each version of Forms requires a specific version of EWT; the EWT version will often be upgraded in Forms patchsets.
• In Applications, standard Forms functionality on the client PC has been extended by using Java Beans, which allow Applications developers to execute their own Java code on the client.

How the connection works
Step 1
The URL is run from a browser session via an HTTP request. If using the dynamic HTML method, the Listener calls the Forms CGI Cartridge to generate the HTML page dynamically. This involves replacing tokens within a base HTML file with parameters passed in the URL, or defaulting to values specified in the appsweb.cfg file.
If Forms load balancing is used, the Forms CGI Cartridge requests load information from the Load Balancing Server process, and uses this to dynamically modify the serverHost HTML parameter, so the user connects to the least loaded middle tier.
Step 2
The HTML page is returned to the client browser. Viewing the HTML page source in a browser should show valid HTML/Javascript, with the tokens having been replaced by valid data. Using Single Sign-on, it is not easy to view the HTML source, as the browser window’s menu has been disabled for security reasons.
Steps 3 and 4
Next, the browser reads the applet tags, mime types and other elements in the HTML page. It then launches the JInitiator plug-in, as defined by the MIME type, to replace the browser’s default JDK. JInitiator then launches the Forms Applet specified by the applet tags. First, it downloads the jar files specified in the archive tag via the WebDB or Apache listener. Once the jar files have been downloaded, the Forms Applet is started up.
Step 5
The Forms Applet is started up. It reads the serverPort, serverHost, and connectMode HTML parameters, and connects to the Forms listener using the host, port and protocol specified.
A connection is established with the Forms Listener process. A new Forms runtime process is forked, or, if applicable, the next free pool process is used. The socket connection between the Forms Applet and Forms Listener is handed off to the Forms runtime process, so the Applet communicates directly with the runtime process.

See also  Awesome 24 Concurrent Manager Interview questions

Forms facts

(1)Forms run time trace

'http://test.com:/dev60cgi/f60cgi?play=&record=collect&log=/tmp/form1.frd'

(2) When-logon-Change error comes
a. Compile invalids
b. Compile all the pll and bounce the forms server

(3) Jinitiater Download URL

http://<web host name:port>:/jinitiator/oajinit.exe

(4) User-exit ere third generation languages which you can create and call during forms
Application include various USER+EXIT

(5) Core libraries

APPSTAND.fmb
APPCORE.pll
LOBE.pll
JE.pll
JA.pll
JL.pll
FNDSQF.pll
VERT.pll
APPDAYPK.pll
CUSTOm.pll

(6) f60webmx is the core executable used in forms run time.Sometimes forms may not be opening. Relinking may help
adrelink.sh force=y ranlib=y “FND f60webmx”

(7) Form listener mode is used in 11i.  Serlvet mode is also available,you will need to set various files to activate that.

(8) The About Oracle Applications Window
The About Oracle Applications Window displays a large amount of useful information to assist with problem diagnosis. From the menu select Help -> About Oracle Applications. In Release 11i, the information provided has been greatly enhanced.

Oracle Applications
Copyright © 1986-1999 Oracle Corporation,
Redwood Shores, California.
All Rights Reserved.

Login
Site : XYZ
Application : System Administration
Responsibility : System Administrator
Security Group : Standard
User Name : VISION

Database Server
RDBMS : 9.2.0.6
Oracle Applications : 11.5.10
Machine : aaaaa
User : APPS
Oracle SID : XYZ
System Date : 09/05/2007 06:46:58
Database process : 19812
Session SID : 2133
SERIAL# : 1462
AUDSID : 94824382

Forms Server
Oracle Forms Version : 6.XYZ
Application Object Library : 11.5.0
Machine : XYZ

Forms Server Environment Variables
AU_TOP : /xy/xy/xy
FDBDMCHK : OFF
FDFGCXDBG : [Unset]
FDSQLCHK : [Unset]
FDUDEBUG : [Unset]
FNDNAM : apps
FND_INTERACTION_MODE : BLOCKING
FND_TOP : xy/xy/xy
FORMS60_APPSLIBS : FNDSQF APPCORE APPDAYPK APPFLDR ARXCOVER HR_GEN HR_SPEC
FORMS60_CATCHTERM : [Unset]
FORMS60_ERROR_DATETIME_FORMAT : [Unset]
FORMS60_ERROR_DATE_FORMAT : [Unset]
FORMS60_FORCE_MENU_MNEMONICS : [Unset]
FORMS60_MAPPING : http://XYZ/OA_TMP
FORMS60_MMAP : [Unset]
FORMS60_OUTPUT : /XYZ/common/xyz11510/tmp
FORMS60_OUTPUT_DATETIME_FORMAT : [Unset]
FORMS60_OUTPUT_DATE_FORMAT : [Unset]
FORMS60_PATH :/xyz/au/zyz11510/resource:/xyz/fnd/xyz11510/resource:/xyz/au/xyz11510/forms/US:/xyz/fnd/xyzz11510/forms/US
FORMS60_RESOURCE : /xyz/8.0.6/forms60/admin/resource/US
FORMS60_TIMEOUT : 5
FORMS60_USER_DATETIME_FORMAT : MM/DD/RRRR HH24:MI:SS
FORMS60_USER_DATE_FORMAT : MM/DD/RRRR
FORMS60_USE_CBO : [Unset]
GWYUID : applsyspub/pub
NLS_DATE_FORMAT : DD-MON-RR
NLS_DATE_LANGUAGE : [Unset]
NLS_LANG : American_America.UTF8
NLS_NUMERIC_CHARACTERS : [Unset]
ORACLE_HOME : /Xyz/8.0.6
ORACLE_PATH : [Unset]
ORA_NLS_CHARSET_CONVERSION : [Unset]
TNS_ADMIN : [Unset]
TWO_TASK : Xyz11510

Current Form

Form Application : Application Object Library
Form Name : FNDSCAUS
Form Path : /Xyz/xyx/Xyz11510/forms/US/FNDSCAUS.fmx
Form Version : 11.5.XY
Form Last Modified : $Date: 2001/07/05 07:01 $

Forms

APPSTAND : 11.5.22
FNDSCAUS : 11.5.21
FNDSCSGN : 11.5.872

Form Menus
FNDMENU : 11.5.322

Forms PL/SQL
APPCORE : 11.5.567
CUSTOM : 11.5.4
FNDSQF : 11.5.23
GHR : 11.5.25
GLOBE : 11.5.43
OPM : 11.5.0
PQH_GEN : 11.5.5
PSAC : 11.5.3
VERT : 11.5.6

(9) Other useful features are the Examine window, which allows you to check the current block, item and value. From the menu, select Help -> Examine. The Examine window can also be used to view other items, such as the current value of profiles and environment variables.
The Display Error option can provide the SQL- and ORA- errors when a query on a base table block or LOV fails.

See also  How to check the java version in Unix & Windows

Also Read
Forms in R12
Socket mode in Forms R12
what is oc4j in oracle apps r12

Leave a Comment

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

Scroll to Top