Oracle Forms
   HOME

TheInfoList



OR:

Oracle Forms is a
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
product for creating screens that interact with an Oracle database. It has an IDE that includes an object navigator, property sheet, and code editor that uses
PL/SQL PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since ...
. It was originally developed to run
server-side In the client–server model, server-side refers to programs and operations that run on the server. This is in contrast to client-side programs and operations which run on the client. General concepts Typically, a server is a computer applicati ...
in character-mode terminal sessions. It was ported to other platforms, including Windows, to function in a client–server environment. Later versions were ported to
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
where it runs in a
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
container and can integrate with Java, and web services that can be launched from a URL. Recent versions provide a means to run the forms from a desktop computer without requiring a browser. The primary focus of Forms is to create data entry systems that access an Oracle database.


How it works

Oracle Forms accesses the Oracle database and generates a screen that presents the data. The source form (*.fmb) is compiled into a platform-specific "executable" (*.fmx), that is run (interpreted) by the forms runtime module. The form is used to view and edit data in database-driven applications. Various GUI elements, such as buttons, menus, scrollbars, and graphics can be placed on the form. Source code may also be placed in library files (*.pll) which are compiled into library executables (*.plx) used at runtime. The environment supplies built-in record creation, query, and update modes, each with its own default data manipulations. This minimizes 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 event-handling functions called triggers which are automatically invoked at critical steps in the processing of records, the receipt of keyboard strokes, and the receipt of mouse movements. Different triggers may be called before, during, and after each critical step. Each trigger 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 while 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.


History

Oracle Forms is sold and released separately from the Oracle Database. However, major releases of an Oracle database usually result in a new major
version Version may refer to: Computing * Software version, a set of numbers that identify a unique evolution of a computer program * VERSION (CONFIG.SYS directive), a configuration directive in FreeDOS Music * Cover version * Dub version * Remix * ''Ve ...
of Oracle Forms to support new features in the database.


Interactive Application Facility (IAF)

Oracle Forms started as Interactive Application Facility (IAF), which had two main components: the
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
(Interactive Application Generator - IAG) and the runtime interpreter (Interactive Application Processor - IAP). Released with the first Oracle Database version 2 (there was no version 1), IAF provided a character mode
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Int ...
to allow users to enter and query data from an Oracle database. It was renamed to FastForms with Oracle Database version 4 and added an additional tool to help generate a default form to edit with IAG, the form editor. It was renamed a third time to SQL*Forms version 2 along with the Oracle 5 database version.


Forms 2.x

Forms 2.0 did not have a form editor with a screen painter so forms were maintained by editing the text based *.INP file Forms 2.3 was a major improvement as it added a screen painter. This release was character-based and the development and runtime was typically in a terminal. The
source file In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
was an *.INP
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
file and was edited using the screen painter, however the file was an ASCII file and editing this file directly in a text editor was a common practise due to the limitations of the form editor. This version of Forms did not include the
PL/SQL PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since ...
language and instead it used its own custom language based on trigger steps. The language was more primitive than the PL/SQL language that was available in SQL*Plus. The limited language was augmented by
user exit A user exit is a subroutine invoked by a software package for a predefined event in the execution of the package. In some cases the exit is specified by the installation when configuring the package while in other cases the users of the package can ...
s that compiled language code linked to the
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that ta ...
of the Oracle-provided run-time. Forms 2.3 was used as the basis for the Oracle Financials accounting package. As a result, 2.3 remained in use long after Forms 3 and 4 became available in order to support customer forms that were created to integrate with Oracle Financials.


Forms 3.x

Oracle Forms 3 was the first version to allow PL/SQL to be used within Forms triggers and procedures. PL/SQL Functions could also used as an undocumented feature. Forms 3 was a character mode application and was primarily used in terminals such as Digital VT220 and PCs running Microsoft DOS. It could run under X but did not support any X interface-specific features such as
checkbox A checkbox (check box, tickbox, tick box) is a graphical widget that permits the user to make a binary choice, i.e. a choice between one of two possible mutually exclusive options. For example, the user may have to answer 'yes' (checked) or 'n ...
es, so it was basically a character mode application running in a GUI window. Although a mouse could be used to click on fields, there were no mouse specific triggers (such as when-mouse-doubleclick) available in this release The source file was an *.INP ASCII file. The runtime file was an *.FRM binary file. The IDE was greatly improved to allow editing of PL/SQL code and this reduced the common practise of editing the INP source file directly. Forms 3 automatically generated Forms triggers and code to support some
database constraint A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
s such as primary keys and foreign keys. Constraints could be defined, but not
enforce Enforcement is the process of ensuring compliance with laws, regulations, rules, standards, or social norms. Enforcement may also refer to: * Law enforcement, a system organized to enforce the law * Enforcement of foreign judgments, the recogn ...
d in the Oracle 6 database at this time, so Oracle used Forms 3 to claim that it supported constraints in its technology stack.


Forms 4.0

Oracle Forms version 4.0 was the first true GUI based version of the product that supported GUI elements such as checkboxes and radio groups in the Forms editor and at runtime. Although not publicly advertised, a character-based runtime was still available for certain customers on request. The arrival of
Microsoft Windows 3 Windows 3.0 is the third major release of Microsoft Windows, launched in 1990. It features a new graphical user interface (GUI) where applications are represented as clickable icons, as opposed to the list of file names seen in its predeces ...
and competitive products running under Windows forced Oracle to release this GUI version of Forms for commercial reasons. Forms 4.0 accompanied Oracle database version 6 with support for Microsoft Windows and X Windows. A new IDE was introduced in this version. Each type of object had an editor window that was optimised for it, so the field editor looked quite different to the window editor. These would be abandoned in the next release and replaced with property sheets that were made popular with Visual Basic. The 4.0 source files were *.FMB for forms, *.PLL for libraries and *.OLB for object libraries The 4.0 runtime files were *.FMX for forms, *.PLX for libraries. *.OLB files were compiled into the FMX. The
Oracle Financials Oracle Applications comprise the applications software or business software of the Oracle Corporation both in the cloud and on-premises. The term refers to the non-database and non-middleware parts. The suite of applications includes enterprise res ...
software suite did not use this version of Forms and instead continued to use Forms 2.3.


Forms 4.5

Oracle Forms version 4.5 was really a major release rather than a "
point release A point release (also a dot release) is a minor release of a software project, especially one intended to fix bugs or do small cleanups rather than add significant features. Often, there are too many bugs to be fixed in a single major or minor ...
" of 4.0 despite its ".5" version number. It was named 4.5 in order to meet contractual obligations to support Forms 4 for a period of time for certain clients so it could market 4.5 as being a patch to 4.0, even though a full install was required, rather than upgrading 4.0 to 4.5 with a patch. This version contained significant functional changes and a brand new IDE, replacing the IDE that was introduced in 4.0. It added GUI-based triggers, and provided a modern IDE with an object navigator, property sheets and
code editor A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. Source-code ed ...
. This design had become popular at the time due to its use by Microsoft Visual Basic. The development environment has changed very little since this release, so a software developer that is experienced with Forms 4.5 can easily work on any version of Forms up to the latest version.


Forms 5.x

Oracle Forms version 5 accompanied Oracle database version 7.


Forms 6.x

Forms 6 was released with Oracle 8.0 database and was rereleased as Forms 6i with Oracle 8i. This version was basically Forms 4.5 with some extra wizards and bug-fixes. It included the facility to run inside a web server. A Forms Server was supplied to solve 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 Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a ...
which communicated directly with the Forms server. However the web version did not work very well over
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
. A fix from Forms 9i was retrofitted to later versions of 6i to address this. The naming and numbering system applied to Oracle Forms 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.


Forms 9.x

The version number jumped straight from 6 to 9 in order to keep the number the same as the Oracle database version released at a similar time. Forms 9i included many bug fixes to 6i and was known as a good stable version. Support was removed for Windows client-server runtime, character-based interfaces and instead the three-tier, web browser based user interface is the only deployment option. The ability to import java classes means that it can act as a web service client. Starting with this release the version number of Oracle Forms moving forward would keep in synch with the Oracle database version. As a result, version 8 as skipped and the version number jumped to 9 After this release, there were very few product changes made besides keeping the version number in sync with the Oracle database.


Forms 10.x

Forms 10g is actually Forms version 9.0.4, so is merely a rebadged Forms 9i.


Forms 11.x

Forms 11 included some new features, relying on Oracle AQ to allow it to interact with JMS.


Forms 12.x

Java Web Start allows users to run Oracle Forms applications without having a parent web browser. Although a browser may be used to initially obtain the application's Java Web Start launcher file (.jnlp), the browser is not responsible for hosting the application and can be closed after the application has been started. JWS supports Internet Explorer, Firefox ESR, Chrome, Edge.


Version Summary

(*1) Each version of Oracle Forms can connect to numerous versions of the ORACLE database and is sold and released separately from the ORACLE Database. Oracle Forms is generally forward and backward compatible with the Oracle database - for example: Oracle Forms 9 can connect to at least Oracle 8,9, 10 and 11. The database versions listed here are the primary version that was available at the time of the Form release (*2) Oracle products have historically followed their own release-numbering and naming conventions. This changed with Oracle RDBMS 9i release when Oracle Corporation started to standardize Oracle Forms (and Reports and Developer) to use the same major version number as the database. This explains the jump in Oracle Forms versions from 6i to 9i (there was no v7 or v8)


Integration with Oracle Designer CASE Tool

Oracle Designer is a
Computer aided software engineering Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications. CASE tools are similar to and were partly inspired by Computer-Aided Design (CAD) tools used for designing hardware products. CAS ...
(CASE) tool that was sold by Oracle. It was able to generate various software modules including Oracle Forms and Oracle Reports. The last release of Oracle Designer was in 2010 and it has since been discontinued.


Current status

Whilst Oracle's preferred approach for new development is its
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
based
Oracle Application Development Framework In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application ...
or Oracle Application Express, 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
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web ser ...
applications. An alternative to
Oracle Application Development Framework In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application ...
is also Oracle Application Express. One of the advantages of Oracle Application Express is that it is more closely related to Forms as it also relies heavily on
PL/SQL PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since ...
.


External links


Official Oracle Forms HomeStatement of Direction (March 2012)Oracle FORMS FAQLive Demo Server with version 12.2.1.3


References

{{Oracle Oracle software Integrated development environments