1 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. It also provides pointers to features and improvements in Forms Services.

This chapter contains the following sections:

1.1 Oracle Forms

Oracle Forms is a component of Oracle Fusion Middleware. To develop and deploy Forms applications Oracle Forms is used.

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.

1.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.

Refer to the following documentation for Oracle Forms Developer:

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

  • Obsolete features of Oracle Forms Developer and instructions for upgrading your Forms applications, as described in Preparing to Upgrade.

1.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 1-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 you can use to customize deployment of Forms applications. It also provides information on performance, logging and monitoring your deployment. You can use Oracle Fusion Middleware Control to manage the configuration files, and environment variables, and monitor the deployment.

1.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 Forms servlet reads the baseHTML file. 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 Fusion Middleware Control according to your requirements. You can also manually update the configuration files in those Oracle Forms installations that do not include the Fusion Middleware Control. Oracle Forms Services Architecture describes the processes that are involved in deploying and running a typical Forms application.

1.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 information about Oracle Database, see https://docs.oracle.com/en/database/database.html.

1.3 Oracle WebLogic Server

Oracle WebLogic Server 12c 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 information about Oracle WebLogic Server, see Introduction in Understanding Oracle WebLogic Server.

During configuration, a managed server for Oracle Forms is created (WLS_FORMS), as described in About Oracle WebLogic Managed Server and HTTP Server.

1.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 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 Fusion Middleware Control.

For a complete overview, list of components, and conceptual information about Oracle Fusion Middleware, see:

1.5 About Installing or Upgrading Oracle Forms

In the installer, you can selectively configure any one of these products or all of them.

To prepare for installing Oracle Forms, see Preparing for an Oracle Fusion Middleware Installation in Planning an Installation of Oracle Fusion Middleware.

To plan an upgrade of Oracle Forms, see Planning an Upgrade to Oracle Fusion Middleware 12c in Planning an Upgrade of Oracle Fusion Middleware.

To review the list of changed or obsolete features of Oracle Forms, see Preparing to Upgrade.

1.6 Oracle Forms Services Architecture

The Forms Services architecture is made up of three-tier.

The three tiers of the architecture are as follows:

  • The client tier, at the top of the image, may contain one of the following two configurations:

    1. A Web browser, where the application is displayed or from where it is launched, Java Development Kit (JDK) and Java Plug-In (JPI).

    2. The Forms Standalone Launcher (FSAL) and a Java Runtime Environment or Java Development Kit (JDK).

  • 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 1-1 Oracle Forms Services Architecture

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Forms Services Architecture "

1.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.

The three-tier configuration, as shown in Figure 1-2 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 1-2 Three-tier configuration for running a form

Description of Figure 1-2 follows
Description of "Figure 1-2 Three-tier configuration for running a form" Forms Listener Servlet

The Forms Listener servlet is a broker between the Java client and the Forms Runtime process.

Forms Listener servlet takes connection requests from Java client processes and initiates a Forms Runtime process on their behalf.

The Figure 1-3 shows 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 1-3 Architecture using the Forms Listener Servlet

Description of Figure 1-3 follows
Description of "Figure 1-3 Architecture using the Forms 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 12c, 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. To manage JVM usage and pooling, see Configuring and Managing Java Virtual Machines.