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.
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.
Also Read
Forms in R12
Socket mode in Forms R12
what is oc4j in oracle apps r12