Oracle Forms

Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE including an object navigator, property sheet and code editor that uses PL/SQL. It was originally developed to run server-side 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 where it runs in a Java EE container and can integrate with Java and web services.

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 of Oracle Forms to support new features in the database.

Original Version

Oracle Forms started as Interactive Application Facility (IAF), which had two main components: the compiler (Interactive Application Generator - IAG) and the runtime interpreter (Interactive Application Processor - IAP). Released with Oracle Database version 2, IAF provided a character mode interface 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 standard tool. The product saw one more name change before gaining its current moniker, called SQL*Forms version 2 with the Oracle 5 database.

Forms 2.x

Oracle Forms 2.3 was character-based, and did not use PL/SQL. The source file was an *.INP ASCII file, which meant it could be edited directly. This version used its own primitive and unfriendly built-in language, augmented by user exits—compiled language code linked to the binary of the Oracle-provided run-time.

Forms 3.x

Oracle Forms 3 was character-based, and by using PL/SQL was the first real version of Forms. All subsequent versions are a development of this version. It could run under X but did not support any X interface-specific features such as checkboxes. The source file was an *.INP ASCII file. The IDE was vastly improved from 2.3 which dramatically decreased the need to edit the INP file directly, though this was still a common practice. Forms 3 automatically generated triggers and code to support some database constraints. Constraints could be defined, but not enforced in the Oracle 6 database at this time, so Oracle used Forms 3 to claim support for enforcing constraints. There was a "GUI" version of Forms 3 which could be run in environments such as X Window, but not Microsoft Windows. This had no new trigger types, which made it difficult to attach PL/SQL to GUI events such as mouse movements.

Forms 4.x

Oracle Forms version 4.0 was the first "true" GUI based version of the product. A character-based runtime was still available for certain customers on request. The arrival of Microsoft Windows 3 forced Oracle to release this GUI version of Forms for commercial reasons. Forms 4.0 accompanied Oracle version 6 with support for Microsoft Windows and X Window. This version was notoriously buggy and introduced an IDE that was unpopular with developers. The 4.0 source files became binary and were named *.FMB. This version was not used by the Oracle Financials software suite.

Oracle Forms version 4.5 was really a major release rather than a "point release" of 4.0 despite its ".5" version number. It contained significant functional changes and a brand new IDE, replacing the unpopular IDE introduced in 4.0. It is believed to be named 4.5 in order to meet contractual obligations to support Forms 4 for a period of time for certain clients. It added GUI-based triggers, and provided a modern IDE with an object navigator, property sheets and code editor.

Forms 5.x

Due to conflicting operational paradigms, Oracle Forms version 5 accompanied Oracle version 7. It featured custom graphical modes tuned especially for each of the major systems, though its internal programmatic interface remained system-independent.

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 which communicated directly with the Forms server. However the web version did not work very well over HTTP. 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 7.x

Forms 7 was never released to the public and only existed internally as "Project Cherokee".[1][2]

Forms 8.x

Version 8 did not exist; this version number was jumped over in order to allow the Oracle Forms version number to match the database version in v9.

Forms 9.x

Forms 9i included many bug fixes to 6i and was a stable version, but it did not include either client–server or character-based interfaces, and three-tier, browser-based delivery is the only deployment option. The ability to import java classes means that it can act as a web service client.

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

Name Version (*1) Database Character/GUI Comments
IAF 2 Character No IDE
FastForms+IAG 4 Character
SQL*Forms 2 5 Character New IDE, No PL/SQL, User Exits, INP ASCII File, FRM Runtime File
SQL*Forms 2.3 5 Character Runtime improvements
SQL*Forms 3 6 Character Major Rewrite, Improved IDE, PL/SQL included, X Support, Generate code to enforce constraints
Oracle Forms 4.0 6-7 GUI / Character Major Rewrite, New IDE, FMB source binary file, FMX Runtime, optimized for Client-Server. New interface is slow, buggy and not popular with client base.
Oracle Forms 4.5 7 GUI / Character Major Rewrite, New IDE based on Object Navigator & Property Sheets. Good release, fast, popular with client base. Oracle wanted customers to upgrade from v4 quickly because v4 was very buggy and Oracle was contracted to support v4 for a period of time for some large, important customers. So, Oracle named this release 4.5 (rather than 5) which allowed Oracle to claim continued support for v4. This allowed some customers who were locked into v4 for the life of their project to upgrade from v4 to v4.5 by claiming that this was a patch release even though it was clearly a major release.
Oracle Forms 5 7 GUI / Character
Oracle Forms 6 8 GUI / Character Forms Server / Web Forms introduced. Client-Server still available and used by most clients. Forms Server mode is slow, buggy and uses a lot of memory per session.
Oracle Forms 6i 8 GUI / Character
Oracle Forms 9i (*2) 9i GUI Client-Server runtime removed leaving Forms Server (Web Interface) as only runtime option. Major Changes at the Server Level, more effective communication between user browser and the server.
Oracle Forms 10g 10g GUI This is a Forms 9 release (9.0.4.0.19). Renamed externally to indicate support for 10g database. Menu-Help-About displays v9.0.4.0.19. Not forward compatible with 10gr2 (can't open 10gr2 forms in 10g/904)
Oracle Forms 10gR2 10gR2 GUI version 10.1.2.0.2 - registry home key moved. Max NUMBER length reduced from 40 to 38
Oracle Forms 11g 11g GUI version 11.1.1.X External Events, JavaScript[3]
Oracle Forms 11gR2 11gR2 GUI version 11.1.2.X Oracle Access Manager Integration, Performance and Monitoring, Real User Experience Interaction[4]
Oracle Forms 12c 12c GUI Version 12.2.1.1 added support for Java Web Start and a fully browser-less solution. Version 12.2.1.2 Cache Function for browser-less solution. Since April 2017 BI/Publisher can also be used as an replacement for ORACLE Reports for Customers with IAS EE and Internet Developer licenses

(*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 CASE tool that is sold by Oracle. It is able to generate various software modules including Oracle Forms and Oracle Report

Current status

Whilst Oracle's preferred approach for new development is its Java based Oracle Application Development Framework 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 applications.

An Alternative to Oracle Application Development Framework 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.

External links

References

  1. ^ "[Oracle-l] (Fwd 1 of 2) Re: Forms going away? - Grokbase". grokbase.com. Retrieved 2017-03-03.
  2. ^ (BoivinP_at_mar.dfo-mpo.gc.ca), Boivin, Patrice J. "FW: Oracle Application Development Tools - Statement of Direction". www.orafaq.com. Retrieved 2017-03-03.
  3. ^ "Oracle White Paper: New Features in Oracle Forms 11g" (PDF). Oracle. 25 June 2009. Retrieved 18 May 2016.
  4. ^ Ronald, G (26 September 2011). "Oracle White Paper: Oracle Forms 11g Release 2 (11.1.2) New Features" (PDF). Oracle. Retrieved 18 May 2016.
Form

Form is the shape, visual appearance, or configuration of an object. In a wider sense, the form is the way something is or happens.

Form may also refer to:

Form (document), a document (printed or electronic) with spaces in which to write or enter data

Form (education), a class, set or group of students

Form (religion), an academic term for prescriptions or norms on religious practice

Form, a shallow depression or flattened nest of grass used by a hare

Form, or rap sheet, slang for a criminal record

Form (document)

A form is a document with spaces (also named fields or placeholders) in which to write or select, for a series of documents with similar contents. The documents usually have the printed parts in common, except, possibly, for a serial number.

Forms, when completed, may be a statement, a request, an order, etc.; a check may be a form. Also there are forms for taxes; filling one in is a duty to have determined how much tax one owes, and/or the form is a request for a refund. See also Tax return.

Forms may be filled out in duplicate (or triplicate, meaning three times) when the information gathered on the form needs to be distributed to several departments within an organization. This can be done using carbon paper.

Form (programming)

In component-based programming (Visual Basic, .NET WinForms, Delphi, Lazarus etc.), a form is a representation of a GUI window. A form contains components and controls typically including "OK" and "Cancel" buttons, these objects provide a high-level abstraction of standard or custom widgets which are typically much easier to manipulate than the GUI's underlying API.

At design time, visual controls (buttons, text boxes, and the like) and non-visual components (timers, database connections, layout aids and so on) are placed on the form. These controls and components are positioned and sized interactively, and their properties and event handlers are set with a special editor typically laid out as a grid.

At runtime, automatically generated code creates instances of these controls and components, and sets their properties.

Historically, forms were often implemented as screens on a block-oriented terminal connected to a mainframe computer. HTML forms are conceptually very similar.

Fourth-generation programming language

A fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.The concept of 4GL was developed from the 1970s through the 1990s, overlapping most of the development of 3GL. While 3GLs like C, C++, C#, Java, and JavaScript remain popular for a wide variety of uses, 4GLs as originally defined found narrower uses. Some advanced 3GLs like Python, Ruby, and Perl combine some 4GL abilities within a general-purpose 3GL environment. Also, libraries with 4GL-like features have been developed as add-ons for most popular 3GLs. This has blurred the distinction of 4GL and 3GL.

In the 1980s and 1990s, there were efforts to develop fifth-generation programming languages (5GL).

Free Software Foundation

The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on 4 October 1985 to support the free software movement, which promotes the universal freedom to study, distribute, create, and modify computer software, with the organization's preference for software being distributed under copyleft ("share alike") terms, such as with its own GNU General Public License. The FSF was incorporated in Massachusetts, US, where it is also based.From its founding until the mid-1990s, FSF's funds were mostly used to employ software developers to write free software for the GNU Project. Since the mid-1990s, the FSF's employees and volunteers have mostly worked on legal and structural issues for the free software movement and the free software community.

Consistent with its goals, the FSF aims to use only free software on its own computers.

Jinitiator

Jinitiator is a Java virtual machine (JVM) made and distributed by Oracle Corporation. It allows a web enabled Oracle Forms client application to be run inside a web browser. This JVM is called only when a web-based Oracle application is accessed. This behavior is implemented by a plugin or an activex control, depending on the browser.

The first two numbers of the version roughly follow the Sun Java numbering convention. It means that for instance Jinitiator 1.3.1.25 is based upon JDK 1.3 or later.

The main reason for Oracle to develop Jinitiator was to support Oracle Forms on the web in earlier releases due to bugs in earlier releases of the JDK.

In 2007 Oracle announced, that for the upcoming release of Forms version 11, Jinitiator would no longer be needed and that users should migrate to the Sun Java plug-in. In January 2010, a product obsolescence desupport notice was posted saying that JInitiator would no longer be supported and that all users should upgrade. Since version 10.1.2.0.2 of Forms in 2010, Oracle began working closely with Sun to completely phase out Jinitiator.The latest version (released in 2008) is 1.3.1.30 and is still available at the Oracle website. Obsolete versions of Jinitiator can be made to work under Windows 7 with Internet Explorer 9, but this approach is not supported or recommended by Oracle.

Kexi

Kexi is a visual database applications creator tool by KDE, designed to fill the gap between spreadsheets and database solutions requiring more sophisticated development. Kexi can be used for designing and implementing databases, data inserting and processing, and performing queries. It is developed within the Calligra project but is released separately.

The impetus for developing Kexi came from a noticeable lack of applications having the features of Microsoft Access, FoxPro, Oracle Forms or FileMaker while at the same time being powerful, inexpensive, open-standards-driven and sufficiently portable.

Kexi works natively under Linux/Unix (FreeBSD, OpenBSD, NetBSD, Solaris) and Microsoft Windows operating systems. Older versions were available for Mac OS X (using Homebrew). macOS version was not released but can be compiled.

Kexi application and its frameworks are available under the LGPL. User and developer documentation is available under the GFDL.

List of Java virtual machines

This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include a large number of Java ME vendors. Note that Java EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimized for Java EE applications. A large amount of Java development work takes place on Windows, Solaris, Linux and FreeBSD, primarily with the Oracle JVMs. Note the further complication of different 32-bit/64-bit varieties.

The primary reference Java VM implementation is HotSpot, produced by Oracle Corporation.

Mandar Agashe

Mandar Agashe (born 24 May 1969) is an Indian musician, music producer and businessman. He is the founder and vice chairman of Sarvatra Technologies. He is best known for the release of his Indian-pop album Nazar Nazar, in 1998.

Oracle Application Framework

Oracle Application Framework (OA Framework or OAF) is a proprietary framework developed by Oracle Corporation for application development within the Oracle E-Business Suite (EBS). The framework is also available to customers for personalizations, customizations and custom-application development.

The OA Framework is a Model-view-controller (MVC) framework built using Java EE technologies.

Oracle Application Server

The Oracle Application Server 10g (the "g" stands for grid) (short Oracle AS), consists of an integrated, standards-based software platform. It forms part of Oracle Corporation's Fusion Middleware technology stack. The heart of Oracle Application Server consists of Oracle HTTP Server (based on Apache HTTP Server) and OC4J (OracleAS Containers for Java EE) which deploys Java EE-based applications. The latest version of OC4J offers full compatibility with the Java EE 1.4 specifications.

Oracle Application Server became the first platform designed for grid computing as well as with full life-cycle support for service-oriented architecture (SOA).The current release of Oracle Application Server, 10g R3, does not feature a metadata repository tier, relying instead on metadata repositories provided in previous releases.

Following Oracle's acquisition of BEA Systems: “key features [will be] integrated with WebLogic Server with seamless migration”.

Oracle Application Testing Suite

Oracle Application Testing Suite is a comprehensive, integrated testing solution for Web applications, Web Services, packaged Oracle Applications and Oracle Databases.

Oracle Applications

Oracle Applications comprise the applications software or business software of the Oracle Corporation. The term refers to the non-database and non-middleware parts.

Oracle sells many functional modules which use the Oracle RDBMS as a back-end, notably Oracle Financials, Oracle HRMS, Oracle SCM, Oracle Projects, Oracle CRM and Oracle Procurement.

Oracle initially launched its application suite with financials software in the late 1980s. The offering as of 2009 extends to supply-chain management, human-resource management, warehouse-management, customer-relationship management, call-center services, product-lifecycle management, and many other areas. Both in-house expansion and the acquisition of other companies have vastly expanded Oracle's application software business.

Oracle released Oracle E-Business Suite (EBS/e-BS) Release 12 (R12) – a bundling of several Oracle Applications – in February 2007. The release date coincided with new releases of other Oracle-owned products: JD Edwards EnterpriseOne, Siebel Systems and PeopleSoft.

Oracle Corporation

Oracle Corporation is an American multinational computer technology corporation headquartered in Redwood Shores, California. The company sells database software and technology, cloud engineered systems, and enterprise software products—particularly its own brands of database management systems. In 2018, Oracle was the third-largest software company by revenue.

The company also develops and builds tools for database development and systems of middle-tier software, enterprise resource planning (ERP) software, customer relationship management (CRM) software, and supply chain management (SCM) software.

Oracle Developer Suite

Oracle Developer Suite is a suite of development tools released by the Oracle Corporation. The principal components were initially Oracle Forms and Oracle Reports, although the suite was later expanded to include JDeveloper amongst others.

Oracle Fusion Middleware

Oracle Fusion Middleware (FMW, also known as Fusion Middleware) consists of several software products from Oracle Corporation. FMW spans multiple services, including Java EE and developer tools, integration services, business intelligence, collaboration, and content management. FMW depends on open standards such as BPEL, SOAP, XML and JMS.Oracle Fusion Middleware provides software for the development, deployment, and management of service-oriented architecture (SOA). It includes what Oracle calls "hot-pluggable" architecture,

designed to facilitate integration with existing applications and systems from other software vendors such as IBM, Microsoft, and SAP AG.

Oracle Media Objects

Oracle Media Objects, formerly Oracle Card, was a software development tool for developing multi-media applications, with functionality and appearance similar to Apple Computer' HyperCard.

The program originates as Plus, a 1989 clone of HyperCard published by Format Verlag that added several highly-requested features. This was purchased by Spinnaker Software, who ported Plus to Windows NT and OS/2 Presentation Manager, becoming the first cross-platform HyperMedia solution. In 1994, Plus was purchased by ObjectPlus, who focussed on the Windows version, renaming it WinPlus. They also licensed the system to Oracle, who used it as the basis for Oracle Card.

First released in 1991, Oracle Card was essentially a redistribution of the Plus runtime engine along with external libraries for establishing connections to RDBMS engines such as Oracle and DB2. As such, Oracle Card stacks could execute queries and associate their results with native variables, making Oracle Card one of the first RDBMS application development environments to support cross-platform development.

A few years later, Oracle acquired the Plus source code from Format Verlag and developed it to become Oracle Media Objects or OMO. OMO didn't last very long, with development ceasing after version 1.1.2. OMO was used by Oracle to position itself in the video on demand market. Commercially, there were very few products built using the tool. Amongst these were the "Our Secret Century" series of CD-ROMs published by The Voyager Company and Inside Independence Day by ACES Entertainment.

User Programmatic Interface

In computing, the User Programmatic Interface (UPI), also known as the User Program Interface, consists of a set of C-language software APIs which provide the lowest-level API-based interface to the Oracle database.

Corporate directors
Acquisitions (list)
Databases
Programming languages
IDEs
Middleware
Operating systems
Computer hardware
Computer appliances
Education and recognition

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.