Oracle Forms has undergone multiple modernization efforts throughout its lifetime. It is a tool that has truly demonstrated its resilience over time, evolving from coding in ASCII to XML, transitioning from Java 1 to Java 11, and adapting from Windows 3.1 to 2022, while also accommodating Linux, Solaris, and AIX.
Oracle Forms Modernization has been essential in the ever-evolving technological landscape and has continuously evolved to provide support across multiple platforms, languages, databases, and operating systems. Having been in existence for over 40 years, the tool has managed to keep pace with the ever-evolving technological landscape. Remarkably, all this progress has been achieved without imposing the need for users to rewrite their existing code, which stands as a significant advantage.
The present moment offers an opportune occasion to reflect upon the incredible journey of Oracle Forms, with a focus on Oracle Forms Modernization, aiming to gain insights into its creation and remarkable resilience.
Table of Contents
Oracle Forms Version History: Standing the Test of Time
Could a job seeker with no university degree and only basic experience in C develop a tool like Oracle Forms? The answer is yes. In 1979, Bill Friends, an intelligent and enthusiastic developer who was the second person to join Oracle, embraced this challenge and forever transformed the landscape of ‘application-database’ interactions.
How did it all start?
Four decades ago, Oracle was in its infancy, and specific projects were not yet on the horizon. Amidst this uncertainty, Bill was assigned the task of finding a user-friendly method for entering data into the database, essentially a substitute for the “INSERT” command. The immediate solution to this challenge was to create a “PROMPT.”
This idea proved successful and laid the foundation for what would later become Oracle Forms. The forms were subsequently assigned specific objectives to accomplish, including:
- Creating an interactive input “form design process.”
- Designing input forms to dynamically guide users during runtime.
- Developing a runtime engine capable of performing dynamic transactions with the database, eliminating the need for developers to manually write code for tasks such as Insert, Update, Delete, Locking, and transactions.
- Implementing relational operators in queries.
- Enabling user-friendly data input for establishing relationships among tables.
- Combining transaction management of dynamic SQL transactions with triggers for application logic.
- Ensuring portability across all operating systems.
Using the full-blown possibility of the C language, Bill developed the first Oracle Forms version – Interactive Application Facility (IAF).
The Timeline
Oracle Forms is an autonomous product released independently from the database. However, in most cases, major releases of the Oracle database coincide with major versions of Forms to ensure compatibility with newly added features. Let’s explore the chronological evolution of these tools.
Interactive Application Facility (IAF)
Oracle Forms Version History begins with IAF. It marked its release with the first Oracle database version 2. Its key features were:
- Two primary components: the Interactive Application generator (IAG), the compiler, and the Interactive Application Processor (IAP), the runtime interpreter.
- A character mode for entering and querying the database
- With the release of Oracle database version 4, IAF got an additional tool to generate and edit forms with IAG and a new name, FastForms. The company again renamed it to SQL Forms and, then, to Oracle Forms.
Form 2.X
Form 2.X came to life with Oracle version 5. At the time, databases were still a relatively new concept. The company was trying to persuade programmers to use procedural languages. Form 2.X offered the following key features:
- Achieving procedural logic depended upon the success and failure of a trigger step, which could only be a SELECT command.
- Working with block and query mode
- List of values displayed as rows within the field, one row at a time.
Another major release in the second phase was Form 2.3. This version was a huge step ahead of 2.0. It included a screen painter and procedural capabilities. Its defining features were:
- A character-based release with development and runtime typically being a terminal.
- Maintained by an *.INP ASCII source file
- Users could edit the source file using the screen painter.
- Procedural capabilities through a custom language based on trigger steps (The language was relatively primitive and disappeared within a year.)
- Form 2.3 stayed much after Form 3 and 4 as it laid the foundation for the Oracle Financials package.
Form 3.X
Released with Oracle 6, Form 3 was the first version to support PL/SQL. It was a character mode tool that could run in a GUI window, triggering a buzz about GUI. Users could click on a field but did not have mouse-based triggers.
It was a long-lived, stable version, and developers spent time writing applications rather than converting them into new versions. Oracle Forms 3 was superior to all other character-based applications that came after it. Key features:
- Support for PL/SQL. Users could use PL/SQL functions as an undocumented feature.
- Instead of editing the INP source file, users preferred to edit PL/SQL code using a much-improved IDE.
- Triggers and code to support some database constraints, such as primary and foreign key.
Form 4.X
Driven by the arrival of Windows 3 and competing products running under Windows, Oracle released a significant rewrite as Form 4.0. Accompanying Oracle version 6, Form 4.0 brought the most awaited GUI for the users. However, the company also retained its character mode on request. Its defining features were:
- A GUI-based version supporting elements like checkboxes and radio
- New IDE with optimized editor window for each object (Field editors were remarkably different from Windows editors and got abandoned in the next release)
- Optimized for client-server applications
- Source and runtime files for Forms were, .FMB and .FMX respectively.
4.5 was a quantum leap in the Oracle Forms Version History. Oracle released it as a ‘point version,’ a patch for 4.0, only due to contractual obligations. However, it was a major rewrite requiring a complete installation instead of an upgrade. It brought significant functional changes with key features:
- Brand new GUI that fixed the speed issues and bugs of 4.0
- Support for GUI-based triggers
- Modern IDE with property sheet, object navigator, and code editor (The IDE became quickly popular as Microsoft Visual Basic used it)
Form 5.X
Form 5.0 came with Oracle version 7. Following the footsteps of its predecessors, it maintained support for the character mode to provide a cushion to some users to make the shift to GUI. It was a short-lived version with some promising new features such as:
- Enhanced property palette for objects
- SmartTriggers on Object Navigator
- New block data sources: Views, Procedures, Triggers, the FROM clause, non-Oracle source
- New date environment variables
- New built-in subprograms
Form 6.X
The essential nature of Oracle Forms mainly stayed the same after 4.5. The release of Form 6, initially designed to work with Oracle 8.0, seemed a brief stopover. Oracle swiftly reintroduced it as Form 6i, aligning it with the newer Oracle 8i database. This iteration brought enhancements, offering some extra wizards and bug fixes while ensuring compatibility with the 8i infrastructure. The following are the defining features of the version:
- Ability to run inside a server through Form Server
- It allowed the adoption of Froms for three-tier, browser-based applications.
- Ability to code in Java and PL/SQL (added during continuous evolution)
Form 9.X (9i)
Starting from this point in the Oracle Forms Version History, the numbering of Form versions was in sync with the database versions, hence the jump from 6 to 9. Form 9’s defining traits are:
- No longer support character-based interface and Client-server runtime.
- Form Server (web interface) as the only runtime option
- Significant server-level changes
- Enhanced browser-server communication
Form 10.X and Form 11.X
Oracle Form 10 is just Form 9i rebadged. Oracle renamed Form 9 (specifically 9.0.4.0.19) to Form 10 to establish support with Oracle 10g. The only significant addition was the Menu-Help-About display (incompatible with Form 10gR2.) Upgrades in Form 10gR2 (version 10.1.2.0.2) include the registry home key moved and the maximum NUMBER length reduced from 40 to 38.
Form 11g came out in 2011 and has a few new features:
- Release 1 (version 11.1.1.X) has external events and JavaScript support.
- Release 2 (version 11.1.2.X) came with Access Manager, Real User Experience Interaction (RUEI), performance and monitoring.
Form 12.X
Powered with Java Web Start, Forms 12 allows Forms applications to run without a parent browser. Forms 12c, which came into existence in October 2015, had:
- BI Integration
- APPLET, JNLP, Web Start, and Standalone as client configuration options
- Oracle Access Managed (OAM) integration
Highlights of the latest 2023 releases
Continuing with Oracle Form 12c, Oracle released Form 12.2.1.19 on 14th Feb, 2023. Some of its new feature highlights are:
- Automatic language detection
- Web Form Configuration parameter to allow admins to enforce a specific Java version on user-tier.
- Launching Form applications from a web browser using fsal and fsals
- Output runtime information to a log for modules running on Builder.
Addressing the elephant in the room – The Death of Oracle Forms
The tech community continues to debate whether one should continue with Oracle Forms or focus towards Oracle Forms Modernization to a different solution. Reasons for this debate range from increasing License cost of Oracle Forms to shortage of trained resources to, a general trend of moving away from this stack. Adding to the app owner’s predicament is now a burgeoning rise of newer and more exciting SaaS options.
From the perspective of a software provider, here are some facts, Oracle provides indefinite sustaining support for Oracle Fusion Middleware 12c (including Oracle Forms). Premium support stretches up to Dec 2026 and extended support till Dec 2027.
The company has included Forms in Oracle Visual Builder Studio (formerly Oracle Developer Cloud Service). It also supports running Oracle Forms in Oracle’s cloud infrastructure (OCI).
Oracle continues to invest significantly to support Forms in all its next-gen cloud environments. However, Oracle Forms Modernization can create distinct new possibilities for the app owner and the organization.
Moving Forward
While Oracle Forms itself remains stable, many companies encounter challenges when it comes to maintaining legacy form applications. The optimal path ahead involves Oracle Forms Modernization, enabling you to step into the future by embracing cloud technology. The process of Oracle Forms Modernization introduces boundless possibilities, offering unparalleled scalability and flexibility.
Kumaran System specializes in transitioning legacy systems to contemporary environments, serving as a valuable addition to your team throughout the Oracle Forms Modernization process.
Feel free to reach out to us for a complimentary consultation on Oracle Forms Modernization options.