Oracle Forms

From Wikipedia, the free encyclopedia

Oracle Forms (part of the Oracle Developer Suite - formerly Developer 2000 or D2K) is a Rapid Application Development (RAD) environment for developing database applications. The language used inside is PL/SQL.

Oracle Forms is able to access the Oracle database and generate a default form that presents the data. The form is compiled into an executable (fmx), that is run by the forms runtime module. The form is used to view and edit data in business applications. Various GUI elements, such as buttons, menus, scrollbars, and graphics can be placed on the form.

The environment notably supplies built-in record creation, query, and update modes, each with its own default data manipulations. This eliminates the need to program common and tedious operations, such as creating dynamic SQL, sensing changed fields, and locking rows.

As is normal with event driven interfaces, the software implements a complex algorithm, consisting of special functions called triggers, which occur at critical steps in the processing of records, the receipt of keyboard strokes, and the receipt of mouse movements. Different triggers are called before, during, and after each critical step.

Each function is initially a stub, containing a default action or nothing. Programming Oracle Forms therefore generally consists of modifying the contents of these triggers in order to alter the default behavior. Some triggers, if provided by the programmer, replace the default action, others augment it.

As a result of this strategy, it is possible to create a number of default form layouts which possess complete database functionality yet contain no programmer-written code at all.

[edit] History

Oracle Forms had its origin in the character-cell video tool called Interactive Application Facility (IAF), subdivided in two components (Interactive Application Generator (IAG) and Interactive Application Processor (IAP)) which accompanied Oracle Version 2, the first commercial version of Oracle. The character-cell video tool called FastForms was introduced with Oracle version 4 - an additional tool to help the programmer to generate a default form to edit with standard tool (IAG).

With Oracle version 5 the tool was renamed SQL*Forms version 2. Prior to Forms version 3, Forms used its own primitive built-in language, augmented by user exits--compiled language code linked to the binary of the Oracle-provided run-time code. In version 3 this built-in language was replaced by PL/SQL, which vastly increased its power and ease of programming.

Oracle Forms version 4, which accompanied Oracle version 6, featured a common graphical interface designed to operate under Windows and X. Due to conflicting operational paradigms, Oracle Forms version 5, which accompanied Oracle version 7, featured custom graphical modes tuned especially for each of the major systems. However, its internal programmatic interface remained system-independent.

In the Internet era, Oracle Forms version 6, which accompanied Oracle version 8, included a Forms Server which solved the problem of adapting Oracle Forms to a three-tier, browser-based delivery, without incurring major changes in its programmatic interface. The complex, highly interactive form interface was provided by a Java applet which communicated directly with the Forms server.

The naming and numbering system applied to Oracle Forms subsequently underwent several changes due to marketing factors, without altering the essential nature of the product. The ability to code in Java, as well as PL/SQL, was added in this period.

Recent versions of Oracle Forms, from 9i onwards, no longer support the client-server or character-based interfaces, with three-tier, browser-based delivery being the only deployment choice.

[edit] Current Status

Whilst Oracle's preferred approach for new development is its Java based Oracle Application Development Framework, Oracle's development tools statement of direction is quite clear in its commitment to continuing to support Oracle Forms and continue to develop and enhance it in the following areas:

  • Making the upgrade to the web and to new releases as smooth as possible
  • Allowing Forms and Reports applications to take full advantage of the application server services and inter-operate with J2EE applications.

[edit] External links