Migrating Forms Applications to J2EE
March 16th 2004
Introduction
Java and the J2EE platform are now established as standards for
building Web applications. With this drive towards an open and
standard architecture, organizations need to decide which tool and
development style to employ and whether they need to migrate
existing applications onto the J2EE platform. The purpose of this
paper is to address these points, establish the facts, present the
options available, and highlight some of the questions you need to
answer before deciding on your overall strategy.
Oracle9i Developer
Suite
As a component of the Oracle9i product stack,
Oracle9i
Developer Suite provides the most complete and integrated
development environment for building Internet applications and Web
services. Oracle9i Developer Suite
includes the following components:
Application Development
- Oracle9i JDeveloper
- Oracle9i Forms Developer
- Oracle9i Designer
- Oracle9i Software
Configuration Manager
Business Intelligence
- Oracle9i Discoverer
Administrator
- Oracle9i Reports
Developer
- Oracle9i Warehouse
Builder
- Oracle9i Clickstream
Intelligence Builder
- Oracle9i Business
Intelligence Beans
Oracle9i Forms
Oracle9i
Forms is an Internet Rapid Application Development (RAD) tool. It is
a highly productive end-to-end development environment for building
enterprise-class, database-centric Internet applications.
New version, new features
Oracle has a long and extremely successful history with Forms and
is committed
to the further development of the product. The new release of
Oracle9i Forms contains over 20 new features such as a new
debugger, integration with LDAP server, improved Enterprise Manager
integration, more openness through Java on the middle tier and XML
representation of the source files. For more information see the summary
and detailed
specification on OTN. Oracle is committed to the continued
development of Oracle9i Forms, and is already working on the
next release, ensuring the tool meets the highest customer
expectations.
Applications built with Oracle9i Forms
Oracle has many success
stories from our customers, including Oracle E-Business Suite.
Forms is the foundation of Oracle E-Business Suite Release
11i and
allowed Oracle to become the first applications vendor with a
complete Internet-enabled business suite.
When to use Oracle9i Forms?
This depends on a number of factors and there is no magic formula
for deciding which tool to use, but the following points should be
considered:
- A Rapid Application Development approach based on PL/SQL as
the scripting language.
- A database intensive application with data entry and type
ahead.
- An application with a rich UI which will support type ahead,
immediate validation, auto completion, and a rich and productive
set of UI controls such as tree controls, tabbed pages, LOVs (list
of values) etc.
- Deployment over the Internet, Extranet, or WAN with a fairly
well known number of end users
- Strong PL/SQL development skills
If these statements describe your application then
Oracle9i
Forms is the right tool to use. It provides the power of a desktop
application through an Internet deployment. The optimized network
traffic between the client and the server allows very high
productivity for end users as well as high-level performance for the
application.
If your organization is considering one of the following:
- Strategic business needs to use Java, and its inherent
benefits such as portability, flexibility and standards
compliance.
- A self service/Business to Consumer style of application.
- An application based on an ultra thin HTML based UI, probably
based on servlets or JSPs.
- Full flexibility in deployment and ability to be able to
tailor any aspect of the application code.
- Strong Java and J2EE programming skills.
If these statements describe your application then your tool of
choice is more likely to be Oracle9i JDeveloper. This gives
you total flexibility to develop your applications using JSP,
Servlets, XML, Web Services, etc., while leveraging frameworks such
as Business Component for.
When to migrate existing Forms application to J2EE?
Given what has been outlined above, the first question to ask is
why? If you have successfully built any application why would
you want to move to another platform?
A valid reason to migrate might be if there is a change in your
business requirements. For instance, your end users no longer
require a heavy data entry application because your are moving
towards a self service model. Another reason may be because the
skill set in your company has changed and your development teams are
now more comfortable with Java than PL/SQL and prefer developing
using J2EE standards. It may be that some of your applications
developed in Forms are used in a self-service way and would make
sense to have an HTML front end instead of the Forms Java user
interface.
Even though it may make sense for some applications to be
migrated to a J2EE technology stack, it is important to understand
that Oracle9i Forms and J2EE are
complementary. Furthermore, these two technologies can be easily
integrated. Because many integration points exist between the
products, it is fairly easy to call a J2EE application from Forms
and vice versa. From Forms it is possible to call Java classes or
Java beans from the client or middle tier. This allows easy
communication and integration with J2EE applications or with any
application providing a Java API.
In any case, it is obvious that migrating Forms applications to
another technology will have a cost and you need to compare the
benefits of migration with the cost of such a migration. This cost
includes the migration of the business logic and, even more
expensive, the migration of the user interface.
So, if the answer to the previous questions is yes, i.e.
something has changed in your business requirements, you have the
skills in your organization to move to J2EE and you are ready to
accept the cost of such a migration, Oracle is providing a migration
path from Forms to J2EE.
What are the migration options?
After considering the above points, your organization has decided
to migrate existing Forms applications to the J2EE platform. What
are the options?
Common ground between Forms and J2EE
There is a common backbone between J2EE and a Forms application
that you can take advantage of while migrating.
The Business Logic
Oracle9i JDeveloper provides a J2EE framework called
Business Components for Java (BC4J),
which offers and easiy way to interface with your database, handling
transactions and implementing business logic. BC4J mirrors the role
of the Forms Record Manager which is the component of the Forms
runtime responsible for managing business transactions. The
migration of business logic can easily exploit the architectural
similarities between BC4J and the Forms Record Manager. Therefore,
you should certainly plan on using BC4J to migrate your business
logic.
The User Interface (UI)
You have two main options for the UI of your newly migrated
application. You can choose a Java/Swing or a JSP/HTML UI. Again,
there are many parallels between the Forms UI and the Java clients
you can build in JDeveloper.
Using JSP/HTML implies not only a change of in the user interface
but a basic change in the fundamental way end users interact with
the application. A Java UI, as explained earlier, is very rich with
a vast array of visual controls, menus, pop up dialogs and
potentially sophisticated navigation including stacking of screens
and dialogs. With a JSP/HTML UI, many of these concepts don't have
any equivalent. For example, how do you migrate a stacked canvas in
HTML? How do you implement the item level business logic in HTML
where you don't have immediate validation capabilities? How do you
transform your menus, pop-up menus, keyboard shortcuts in HTML? All
of these points need to be carefully considered as they could
dramatically change the user experience for the migrated
application, as well as requiring significant manual intervention
during the migration process.
What can Oracle do to help with the migration?
Customers that are ready to migrate, will want to know if there
is an easy migration path. A number of partners are developing
migration tools and Oracle is working closely with them to ensure
migration solutions are as complete as possible. Many of these
migration tools are available as extensions to Oracle9i JDeveloper,
leveraging the capabilities of the development environment.
Oracle Consulting
Oracle Consulting provides an offering called JHeadstart.
JHeadstart leverages proven frameworks to achieve similar
productivity level as with Oracle9i Designer and
Oracle9i
Forms. It gives you the option to generate Java/XML/HTML
applications straight from Designer, to migrate your existing Forms
to Java or to rapidly develop applications using JDeveloper.
InformatikAtelier
InformatikAtelier
provide an extension to Oracle9i JDeveloper called
FormsWizard. This migrates Forms source files to J2EE by leveraging
BC4J and JClient
frameworks provided within JDeveloper. FormsWizard�s code generation
technique allows organizations to adapt and extend the generated
code to match specific requirements of complex migrations.
InformatikAtelier also have JSP templates available. Each migrated
form, menu or PL/SQL library results in a set of JDeveloper project
files along with an HTML migration report, describing the various
generated elements and implementation details.
Kumaran
Web*Converter from Kumaran Systems enables migration from
Oracle9i
Forms to Java by automating the migration of Forms and their
components, including the layout and code, to HTML and Java. The
migration process leverages the Oracle9i JDeveloper
frameworks (BC4J, JSP, Servlets and UIX).
Churchill Software Services
Churchill
Software's JAutomator™ is a J2EE migration framework for
real-world, high-performance Forms applications. JAutomator
generates middle-tier BC4J components utilizing Oracle Tools APIs,
unlocking valuable business logic for re-use. JAutomator generates
multiple clients, including Churchill’s unique and innovative
NativeForms™ GUI for identical Forms look-and-feel, providing the
same rich GUI, navigation, transaction semantics, and error
handling. NativeForms is rendered entirely as HTML-only with
lightweight HTTP connections to the application server.
CipherSoft Inc.
CipherSoft Inc. has
over 25 years experience in the IT market and provides application
conversions, application development, consulting, and implementation
services that enable its clients to take advantage of true open
system technology. CipherSoft's powerful conversion tool, Exodus™, quickly converts Oracle Forms and PL/SQL
to Java based applications or to an Enterprise Java Bean (EJB)
environment. Exodus™ performs this function
with a limited amount of operator intervention. The product is
benchmarked to be 90% faster then manually converting Oracle Forms
and PL/SQL and provides as much as an 80% cost reduction for the
client. In addition, Exodus™ provides an
application that is portable, maintainable, web-enabled, and
supports a multi-tier architecture.
Frequently asked questions
Q. Do I have to move to Java because Forms is
de-supported?
A. No. There may be many reasons to move to a Java platform but
this should not be one of them. Oracle9i Forms has over 20
new features and Oracle will continue to enhance Forms and continue
to support its large install base.
Q. Should I migrate my Forms application to a Java Client
application because client/server will be de-supported?
A. Not necessarily. While Oracle9i Forms is a Web deploy
only release, the current 6i release of Forms is still
supported.
Q. All our future development projects will be on J2EE. Should
I migrate my existing Forms applications?
A. If your business is moving to the J2EE stack you will be
building up a pool of Java resources. It may make sense to move
existing applications to J2EE to leverage these resources and to
facilitate the integration with other systems. However, Forms has
many features for easy integration with J2EE applications and you
may consider maintaining existing Forms application and using these
"hooks" to interface with your J2EE applications.
Q. I need quicker startup times. Should I migrate to J2EE and
build a Java Client UI?
A. When you run ANY Forms application on the Web, a small number
of class files are downloaded to the client. These class files are
responsible for rendering the UI. Any subsequent evocation of a
Forms application from that client will re-use the cached class
files - thus, they are only downloaded once. When you run a
Swing/J2EE application you will also have to download class files
for that application. Depending on the deployment of your Swing/J2EE
application, this download could in fact be the complete
application. Running a different Swing/J2EE application will involve
another download.
Q. I want to deploy my Forms application on the Web,do I need
to move to Java?
A. No. A Forms application can run client/server or on the Web
using the same same source code. With the new architecture,
introduced with Forms 6i, Forms can easily be deploy on the Internet
through firewalls and proxies.
Q. Should I migrate my Forms application to Java so I can have
an HTML UI?
A. There are many advantages to running with a lightweight HTML
UI, but this is often at the cost of rich UI features. Java UIs
support many complex widgets and functionality such as type ahead
and immediate validation. If this rich UI experience is a
requirement, you should consider staying with a Java UI (whether it
is Forms or Swing). If you decide to migrate to J2EE, be
aware that the differences in the style of application may mean that
you need to "hand craft" a lot of the code after migration.
Conclusions
Oracle9i
Forms benefits from many successes across a vast and
varied install base. Much of the current development effort is
directed towards openness and integration with Java, successfully
meeting the challenges of a changing world. If your business
requirements dictate a move towards the J2EE stack, you may consider
migrating your existing Forms applications. In this case we are
providing migration solutions which will take the rich functionality
of Forms and migrate it to J2EE, leveraging the frameworks available
in Oracle9i JDeveloper. |