It is valuable to be able to
decompile Oracle systems when you no longer have
access to the source code. A Java decompiler
can assist in decompiling SQL*Forms FMB files and
Oracle JDeveloper executables. This paper
published at ODTUG 2005 titled
Practical JDAPI, Harm Verschuren discusses the
migration of Oracle Forms applications with the help
of self-written Java tools using the JDAPI
framework. The migration process involved migrating
from a corporate Client/Server application built in
Oracle Forms 6i to an Oracle 10g WebForms
application.
Harm Verschuren notes that a
Java decompiler, via Oracle JDeveloper, can read
SQL*Forms executable files (xxx.fmb files):
"Through JDAPI, we can compare the original,
completely generated FMB with the FMB that was
modified through Forms Builder. On analyzing the
differences, we can then make specific changes
through the Designer API in the Module Definition.
Thus, on subsequent generation of the Form, the
manual changes are no longer required."
Here are the steps to
incorporate the Oracle Java decompiler:
-
First, you download the
JDAPI documentation from the OTN web site and
unpack the zip file to a convenient location on
your hard disk (in figure 1 I unpacked it in
C:\APPS\jar).
-
In the JDeveloper menu,
go to Tools - Manage Libraries to add the JDAPI
framework as a library
-
"Optionally download a
Java decompiler, for instance jad (http://kpdus.tripod.com/jad)
and use it to decompile the f90jdapi.jar."
SQL*Forms components can also
be captured, but only if the SQL*Forms source code
already exists:
"Using java.lang.Runtime and java.lang.Process the
Forms Compiler (ifcmp90.exe on Windows or f90genm.sh
on UNIX) is called, as shown by the Java code in
Example 4. The command to parse or compile the pld
or the pll file respectively is the same command, as
you would use to generate modules batch-wise."
|