Oracle Forms State Information Oracle Forms Database Requirements Oracle Forms Configuration Persistence

Configuring High Availability for Oracle Portal, Forms, Reports, and Discoverer 14-15 The Diagram above includes the Web Logic Administration Server and shows how it can be positioned on APPHOST2. To determine how to do this refer to the appropriate chapter elsewhere in this guide.

14.3.2.1 Oracle Reports Process Failures

If the Reports Server hangs or fails to respond, but the WebLogic Managed Server does not, the WebLogic Managed Server must be restarted manually.

14.3.2.2 Oracle Reports Node Failures

For information about Oracle Reports Node failure, see Section 14.1.3.2, Common Component Node Failures.

14.3.2.3 Oracle Reports WebLogic Managed Server Failures

For information about Oracle Reports WebLogic Managed Server failure, see Section 14.1.3.3, Common Component WebLogic Managed Server Failures.

14.3.2.4 Oracle Reports Database Failures

For information about Oracle Reports database failure, see Section 14.1.3.4, Common Component Database Failures.

14.4 Oracle Forms and High Availability Concepts

This section describes single-instance information, as well as high availability concepts specific to Oracle Forms. This section guides you through the concepts and considerations necessary for creating a successful high availability Oracle Forms deployment.

14.4.1 Oracle Forms Single-Instance Component Characteristics

In the Oracle Fusion Middleware Forms Services architecture there is only one connection between the client and the HTTP Listener, much like any Web-based application. The HTTP Listener routes the request to the Forms Listener Servlet, which controls routing the requests from the Forms client to the Forms runtime. The communication between the Forms client and the Forms runtime always goes through the HTTP Listener, leaving the application with only one port open to the network. The client sends HTTP requests and receives HTTP responses from the HTTP Listener process. With the HTTP Listener acting as the network endpoint for the client, the other server machines and ports are not exposed at the firewall.

14.4.1.1 Oracle Forms State Information

Oracle Forms employs a stateful architecture. Each Runtime process keeps the state for the client it serves in working memory. No state is ever, or can ever be, serialized or shared between runtime processes

14.4.1.2 Oracle Forms Database Requirements

Oracle Forms only requires access to the databases with which it will interact. There are no special requirements for Oracle Forms itself. 14-16 Oracle Fusion Middleware High Availability Guide

14.4.1.3 Oracle Forms Request Flow

The Oracle Forms request flow is as follows:

1. The user chooses a Link from a Web page, or types a URL directly in the Browser.

2. The HTTP Listener interprets the URL that is passed and displays an HTML page

containing an EMBED or OBJECT tag depending on which browser is used that describes the Forms Java Client to the Browser. The URL that is passed calls the Forms Servlet to create an HTML page dynamically based on the base.html files located on the web server.

3. The Client receives the HTML file served by the HTTP Listener. The tag in the

HTML file supples the information required to locate the Java Class files that make up the Forms Java Client. Within the tag in the HTML file you supply information about the Form that should run, and any other parameters that you want to pass to your Forms session, such as the Login information. The tag definition also contains instructions on what Forms Services to run and many parameters which help to customize aspects of the Java Client, including the look-and-feel, and color schemes. The HTML file might also contain other HTML attributes such as those to tell the browser to run this particular applet using a particular version of the JRE on the client. 4. The Browser then asks the HTTP Listener for the Java Class files from the location specified in the HTML file. The CODEBASE parameter in the HTML file is used to define this. The files may be downloaded individually or as an Archive. This archive has an extension of .JAR and can be best thought of as a .ZIP file containing all of individual CLASS files required by the applet. The use of a JAR file speeds up the download of the Java Client and enables caching on the client for subsequent calls. The ARCHIVE parameter defines which if any .JAR file should be used. The JRE plug-in carries out the additional step of checking the version of the Forms Client Java code available on the HTTP Listener and only downloads it if it turns out to be newer that any version that the plug-in currently has cached. 5. The CLASS or JAR files are downloaded if not already present to the Browser and the Java applet starts. 6. The Java Client applet sends a request to start a Forms session through the HTTP Listener to the Forms Listener Servlet. The Forms Listener Servlet is defined by the serverURL parameter in the HTML files tag. 7. After receiving the connection request from the Java Client, the Forms Listener Servlet starts a new Forms Runtime process for this client. You can define user specific environments for each runtime process by setting the Servlet initialization envFile parameter in the formsweb.cfg configuration file to a specific environment file. 8. The Forms Runtime process allocated to this client, loads the module specified in the HTML file and any libraries and menus that are required by that form. All communication between the Forms Client and the Forms Runtime process is passed through the Forms Listener Servlet. 9. The user is prompted for database login information, if this had not already been supplied, and the connection to the database server is established. 10. The user is now ready to work. Configuring High Availability for Oracle Portal, Forms, Reports, and Discoverer 14-17

14.4.1.4 Oracle Forms Configuration Persistence

Oracle Forms uses several files for startup configuration: ■ formsweb.cfg holds the Forms specific startup parameters for the runtime process that used to be expressed on the command line. It consists of a default section that is used if no specific section is used and one or more user sections that holds parameters specific to that section. These sections correspond to what is referred to as an application, a set of forms that belong to the same logical unit. formsweb.cfg is located in the following directory: DOMAIN_HOME configfmwconfigserversFORMS_MANAGED_ SERVERapplicationsformsapp_11.1.1config ■ default.env holds startup parameters that used to be expressed in environment variables. On Windows these variables can also be put in the system registry. This file is located in the same directory as formsweb.cfg: DOMAIN_HOME configfmwconfigserversFORMS_MANAGED_ SERVERapplicationsformsapp_11.1.1config It is possible to create customized .env files with different names. If such files exist, they are specified in the formsweb.cfg and are thus discoverable. ■ base.html and basejpi.htm or a customized version of either, holds the template structure for the HTML code that launches the Forms client applet. These files are located in the following directory: ORACLE_INSTANCE configFormsComponentformsserver ■ Registry.dat holds the default location and search paths for fonts, icons, and images. Find this file in: DOMAIN_HOME configfmwconfigserversFORMS_MANAGED_ SERVERapplicationsformsapp_ 11.1.1configformsregistryoracleformsregistry ■ frmweb.res holds key binding definitions for the Forms client. The bindings define the relationships between keyboard keys and the internal Forms functions they can trigger. For UNIX this bindings file is located at: ORACLE_INSTANCE configFormsComponentformsadminresourcelanguage Where language is a two character language denominator. For Windows this file is available at: ORACLE_INSTANCE configFormsComponentforms On Windows, the language is defined by putting the language abbreviation at the end of the file name: frmwebf.res for French for example. ■ jvmcontroller.cfg is the file for configuring JVM Controllers. Any controllers configured for the system will have been defined in this file. This file is located in the following directory: ORACLE_INSTANCE configFRComponentfrcommontoolsjvm 14-18 Oracle Fusion Middleware High Availability Guide

14.4.1.5 Oracle Forms Runtime Considerations