2 Introduction to Oracle Forms Services

This chapter introduces Oracle Forms. It provides an overview of the development and deployment environment for Oracle Forms, and provides references where you can find more information on associated components in Oracle Fusion Middleware.

This chapter contains the following sections:

2.1 Oracle Forms

Oracle Forms is a component of Oracle Fusion Middleware. Oracle Forms is used to develop and deploy Forms applications. The Forms applications provide a user interface to access Oracle Database in an efficient and tightly-coupled way. The applications can be integrated with Java and web services to take advantage of service oriented architectures (SOA).

Oracle Forms includes the following:

  • Oracle Forms Developer, used to develop and compile Forms applications.

  • Oracle Forms Services, a server component, used to deploy the applications.

2.1.1 Oracle Forms Developer

Oracle Forms Developer is used to develop a form that can access an Oracle database and present the data. Wizards and utilities are provided to speed up application development. The source form (*.fmb) is created and compiled into an "executable" (*.fmx). The Forms application is run (interpreted) by the Forms Runtime process.

For more information about the Oracle Forms Developer, refer to the following documentation:

  • Oracle Forms Builder Online Help, which is accessible from Oracle Forms Builder, provides information on how to use Oracle Forms Developer to develop and compile Forms applications.

  • Upgrading Oracle Forms 6i to Oracle Forms 11g: describes obsolete features of Oracle Forms Developer and instructions for upgrading your Forms applications.

2.1.2 Oracle Forms Services

Oracle Forms Services is a comprehensive application framework optimized to deploy Forms applications in a multitiered environment. It takes advantage of the ease and accessibility of the Web and elevates it from a static information-publishing mechanism to an environment capable of supporting complex applications.

The Form applications that you design and develop in Oracle Forms Developer are deployed on Oracle Fusion Middleware. These applications run on the middle tier (see Figure 2-2). The user interface is presented on the client tier as a Java applet in the client's browser.

This guide describes the configuration files, and environment variables that can be used to customize deployment of Forms applications. It also provides information on performance, logging and monitoring your deployment. You can use Oracle Fusion Middleware Enterprise Manager Control to manage the configuration files, and environment variables, and monitor the deployment.

2.1.3 How Oracle Forms Services Launches a Forms Application

When a user first starts an Oracle Forms application by clicking a link to the application's URL, the baseHTML file is read by the Forms servlet. Any variables (%variablename%) in the baseHTML file are replaced with the appropriate parameter values specified in the formsweb.cfg file, and from query parameters in the URL request (if any).

You can easily modify the configuration files with Oracle Enterprise Manager Fusion Middleware Control as your needs change. Section 2.6, "Oracle Forms Services Architecture" describes the processes that are involved in deploying and running a typical Forms application.

2.2 Oracle Database

Oracle Database is the latest generation of RDBMS. Among the numerous capabilities are unlimited scalability and industry-leading reliability with Oracle Real Application Clusters; high availability technology including advancements in standby database technology (Oracle Data Guard); and built-in OLAP, data mining and Extract, Transform and Load (ETL) functions.

For more information on Oracle Database, refer to http://www.oracle.com/technology/documentation/index.html.

2.3 Oracle WebLogic Server

Oracle WebLogic Server 11g Release 1 is an application server for building and deploying enterprise Java EE applications with support for new features for lowering cost of operations, improving performance and supporting the Oracle applications portfolio.

Regardless of whether you want to create a staging, production, or testing environment, you begin by creating a WebLogic domain. A WebLogic domain includes instances of WebLogic Server, of which one is configured as an Administration Server. The Administration Server maintains configuration data for a domain. You can deploy your application on Administration Server but it is recommended to create a managed server and deploy your application in managed server. For more information on Oracle WebLogic Server, refer to Oracle Fusion Middleware Introduction to Oracle WebLogic Server.

During configuration, a managed server for Forms is created (WLS_FORMS). For more information on WLS_FORMS, refer to Section 5.1, "About the Oracle WebLogic Managed Server."

2.4 Oracle Fusion Middleware

Oracle Fusion Middleware includes Web servers, application servers, content management systems, and developer tools that provide complete support for development, deployment, and management of software applications. Among the components are Oracle Forms Services, Oracle WebLogic Server, and Oracle Enterprise Manager Fusion Middleware Control, which together provide the technology to fully realize the benefits of Internet computing.

You can manage and monitor Oracle Forms using Oracle Enterprise Manager Fusion Middleware Control.

For a complete overview, list of components, and conceptual information about Oracle Fusion Middleware, refer to the following manuals:

2.5 About Installing or Upgrading Oracle Forms

Oracle Forms is installed from the Oracle Portal, Forms, Reports and Discoverer 11g ( DVD. In the installer, you can selectively configure any one of these products or all of them. For more information on installing Oracle Forms, refer to the following guides:

For upgrade information, refer to the following documents:

For information on upgrading Forms 6i to Oracle Forms 11g, see Chapter 13, "Upgrading to Oracle Forms Services 11g."

For information about changed or obsolete features, see the Oracle Forms Upgrading Oracle Forms 6i to Oracle Forms 11g Guide.


After you have installed Oracle Forms, you can use the following options to save RAM in a development-only environment:
  • You can choose to stop WLS_REPORTS (or other managed servers that may be running). To test Forms applications, only WLS_FORMS is required.

  • By default, formsapp and formsconfigmbeans run on WLS_FORMS. You can retarget these applications to run on the Administration Server and stop the Forms managed server (WLS_FORMS).

2.6 Oracle Forms Services Architecture

Figure 2-1 shows the three-tier architecture that makes up Forms Services:

  • The client tier, at the top of the image, contains the Web browser, where the application is displayed. In addition to the browser, Java Runtime Environment (JRE) and Java Plug-In (JPI) are required. For more information, see Appendix B, "Configuring Java Plug-ins" and http://java.sun.com/reference/docs/.

  • The middle tier, in the center of the image, is the application server, where application logic and server software are stored.

  • The database tier, in the lower portion of the image, is the database server, where database server software is stored.

Figure 2-1 Oracle Forms Services Architecture

This image describes the 3 tier Forms Services architecture.

2.6.1 Oracle Forms Services Components

Oracle Forms Services is a middle-tier application framework for deploying complex, transactional forms applications to a network such as an intranet or the Internet. Developers build Forms applications with Forms Developer and deploy them with Forms Services. Developers can also take current applications that were previously deployed in client/server and move them to a three-tier architecture. Some minor changes in application code may be required when moving to a three-tier architecture.

As shown in Figure 2-2, the three-tier configuration for running a form consists of:

  • The Client, at the top of the image, resides on the client tier

  • The Forms Listener servlet, in the center of the image, resides on the middle tier

  • The Forms Runtime process, also resides on the middle tier

Figure 2-2 Three-tier configuration for running a form

A 3 tier configuration running Forms Services. Forms Listener Servlet

The Forms Listener servlet is a broker between the Java client and the Forms Runtime process. It takes connection requests from Java client processes and initiates a Forms Runtime process on their behalf.

Figure 2-3 illustrates how the client sends HTTP requests and receives HTTP responses from Forms Services. Oracle Forms Services uses the Forms Listener servlet to start, stop, and communicate with the Forms Runtime process. In this image, the client is to the left. In the center of the image, the HTTP Listener acts as the network endpoint for the client, keeping the other server computers and ports from being exposed at the firewall.

The Forms Runtime process, in the right side of the image, executes the code contained in a particular Forms application. The Forms Listener servlet manages the creation of a Forms Runtime process for each client and manages the network communications between the client and its associated Forms Runtime process.


The Forms Listener servlet is configured for you during the Oracle Fusion Middleware installation process.

Figure 2-3 Architecture using the Forms Listener Servlet

Image shows a flow of HTTP calls to the Listener Servlet. Forms Runtime Process

The Forms Runtime process plays two roles: when it communicates with the client browser, it acts as a server by managing requests from client browsers and it sends metadata to the client to describe the user interface; when it is communicating with the database server, it acts as a client by querying the database server for requested data.

For each Oracle Forms session, there is one Oracle Forms Runtime process on the application server. This process is where Oracle Forms actually runs, and manages application logic and processing. It also manages the database connection; queries and updates data; runs any PL/SQL in the Form; executes triggers; and so on. It uses the same forms, menus, and library files that were used for running in client/server mode.

The Forms Runtime process also contains the Java Virtual Machine (JVM) to run Java in your application. As an optimization feature, the JVM is started if the Forms application uses the Java Importer. In 10g, the JVM pooling feature is used only by the Java Importer. In 11g, Forms Runtime Process no longer creates a separate JVM when it calls Reports. Instead, if a JVM controller is configured for a form, the form can use the shared JVM when calling Reports. This results in a reduction of memory consumption, freeing more resources on the server. For more information about managing JVM usage and pooling, see Chapter 10, "Configuring and Managing Java Virtual Machines."