Forms2Java logo

From Oracle Forms to Java:
Migration Made Easy

Forms2Java Migration Strategy

Forms2Java is a platform migration solution; far more than just a language conversion tool. Its strategy is based on structural and semantic transformations, enabling the preservation of code ownership and retention of functionality whilst simultaneously providing a streamlined development environment based on clean, well-structured code.

Old style PL/SQL code and Forms2Java generated codeOld style PL/SQL code and Forms2Java generated code

Structural Transformation

Oracle Forms structures (e.g. blocks, items, LOVs, canvases, etc.) are identified and transformed into equivalent structures in Java and Flex. This new structure is well defined, allowing superior maintenance and development capability. Forms2Java combines Java and XML to provide a highly configurable and powerful application development environment. For example, record groups and LOVs are configured in XML, with no Java code required. Block managers use XML to define its items, their types and their related DB object name (if any).

Old style PL/SQL code and Forms2Java generated code

Semantic Transformation

PL/SQL code inside triggers and program units are identified and transformed into pure Java code. The majority of Oracle built-in functions are supported through mappings to equivalent native Java functions, or equivalent functions inside the Forms2Java Framework.

Specifically, Oracle Forms navigation functions such as OPEN-FORM, CALL-FORM, GO-BLOCK and GO-ITEM have equivalent Java functions in the Forms2Java Framework, offering a semantic equivalent to the original. EXECUTE-QUERY also has an equivalent, as does DO-COMMIT.

Semantic transformation is performed through a sophisticated pattern-matching approach, which is far more powerful than regular expression matching. PL/SQL code structures are identified and mapped to equivalent Java code structures, with a high degree of customizability depending on specific requirements.

Forms2Java MVC principles and SOA incorporation

SOA-based Solution

The Forms2Java Framework employs a Service Oriented approach to integrating the Client and Application tiers. Messages are passed to the server including only the necessary data, in order to optimize the interaction communication. Events in the Client tier are linked to Java methods through the use of annotations. Adobe BlazeDS Web Services perform the SOA calls to the Java backend, which is exposed through a SOA.UI layer that is incorporated in the Forms2Java Framework.

Forms2Java database query example

Database Independent

Forms2Java generates code that interacts with the database using JDBC. The general design principle followed is that the database must remain as-is, with the new application functioning on top of the same database, whilst side-by-side with the original Forms. This means that Stored Procedures and database Functions are available to the migrated application, through the use of wrapper methods generated automatically by Forms2Java.

Oracle Reports Migration

Reports2Java targets the migration of Oracle Reports to Jasper Reports, one of the most popular open source solutions available. Generated reports can be edited in iReports and converted PL/SQL code exists as Java ScriptLets in an Eclipse solution. A ReportViewer application is available from ATX to test the execution of reports locally.