What’s Your Choice for Oracle Forms?

Forms was a great tool and stood for fast and easy development.  You could create nice data entry applications in no time.  But now some people think Forms is dead, it doesn’t have a future or it is at the end of its lifecycle.  In this article I hope to prove they’re wrong.  And unlike the first sentence to prove

Forms was a great tool and stood for fast and easy development.  You could create nice data entry applications in no time.  But now some people think Forms is dead, it doesn’t have a future or it is at the end of its lifecycle.  In this article I hope to prove they’re wrong.  And unlike the first sentence to prove that forms IS still a great tool and the applications built with it are future proof.  Don’t throw away your investments because you heard some rumors…

So what are the options?

Modernize

Most Forms applications look like they were made 15 years ago… probably because they were made back then.  The user interface was nice those days, but the most important thing was that the data could be entered as fast as possible. Today’s users are spoiled with Web2.0 applications and rich GUI’s, so Forms isn’t very attractive.  We have a good application, that doesn’t look very flashy… What can you do?  One can start with modernizing the user interface.

Using “Pluggable Java Components” (PJC’s – extending existing forms objects like text items and buttons) the look & feel of a Forms application can be improved.  But one can also add functionality by using “JavaBeans” (external Java programs that can be plugged into Forms).

If you want to spice up your forms application with nice looking objects or want to add functionality you thought that wasn’t possible in Oracle Forms, check out the PJC and JavaBeans library of Francois Degrelle for free to use PJC’s and JavaBeans.

Here’s an example of a Javabean which implements a file drag & drop:

Upgrade

Upgrading can be split into two main parts: moving from client-server (6i and below) to Webforms (6i and higher) or when you’re already using webforms, upgrading to the latest version.

Upgrading from client-server to the web is the biggest challenge, although already done by a lot of companies.   Webforms is a different kind of architecture: 3-tier (client-application-data).  This means that the client side and the application side are separated.  Forms software now runs on the application tier which means there’s only one place to maintain and configure your software.  At the client, Forms runs in a Java-applet started from a web browser.  This means that Forms is now platform independent, it doesn’t matter whether your client is running Microsoft windows, Linux or a Mac OS.  This also means you can run your forms over the internet and you can use Single Sign On (you only have to authenticate once, to access the different applications deployed on you application server).

Why should one move to the latest version, Forms 11g?  Well, 10g support ends at December 2011, 11g is supported until the end of 2017. Forms 11g uses the Weblogic server, part of the Fusion Middleware stack and one of the best application servers on the market. And, of course, the latest version has some new features; features that will extend the product “openness”.  Those new features will make it easier to integrate Forms into/with other applications.

More info on upgrading Oracle Forms can be found on the Oracle Forms Upgrade center.

Integrate

Forms has been on an island for a long time.  It usually was a stand alone application without interaction or integration with other applications.  Since Webforms there are some enhancements which take forms to another level.  With the Java importer included in the 6i version, it was possible to call Java classes from forms.  One of the advantages of importing Java code is that it’s possible to call (web) services.  This cannot be done directly from Forms, but by importing a Java class that does the call, it’s possible to integrate a service.  Grant Ronald created a tutorial on how to call a webservice from Forms.

In the following white paper we (iadvise/O2U) show you a customer case of integrating Oracle Forms in a SOA (Service Oriented Architecture) environment : http://www.oracle.com/technetwork/developer-tools/jdev/zlmcase.pdf

Some new features of the latest release take Forms out of its isolation.  One of them is the JavaScript integration.  The applet which runs your application can communicate with the surrounding webpage using JavaScript.  For example you can embed your Forms in an HTML page (or any other web technology) and communicate with a google map:

Not only can Forms interact with Javascript on the client, it can also react to “advanced Queuing” messages.  Before 11g Forms didn’t do anything unless it was triggered by a user action (well, except for timers), but now it can react non user-triggered events.  Forms can subscribe to a queue and when there’s a message on this queue Forms will fire a trigger (when-custom-event on an event).  Using this feature the Forms application can be integrated in an external process, such as a business process, service, etc.

Migrate

Why migrate from Oracle Forms?

  • Forms is dead, we need to migrate
  • There’s a tool that migrates our Forms Application to ADF.  Let’s migrate to ADF!

I hope nobody takes these reasons as serious arguments to migrate.  As Oracle states in it’s statement of direction:

“…There are no plans to de-support Oracle Forms…”

And why is Oracle still building new features for next releases, when it’s dead?

There maybe some tools on the market that help you to migrate Oracle Forms to another technology, but this shouldn’t be the main reason to migrate.

There could be some good reasons for you to move away from Forms like: Forms doesn’t meet your requirements anymore or there is a need for re-development.

A migration is a big project and you won’t do it in a fortnight, so you need to analyze the current situation:

  • Architecture
  • Functionality
  • Database model
  • Documentation
  • People(users, developers, …)

What direction do you want to go?

  • User interface: web 2.0, mobile,…
  • Benefits: business process improvement.

What are the options?

  • Redesign and rebuild
  • Migrate functionality

Migrating is an option for a Forms application, but not an easy one.  Forms has a unique architecture, specific components and client-side code (program units, triggers, built-ins) that have to be treated very carefully.

A lot of questions need to be answered and the result will be different for every Forms application. Migration is a possible solution, but you need to do it for the right reasons and it should be planned carefully.

Conlusion

Oracle Forms is still alive and kicking.  But as all IT systems evolve, Forms is also evolving.  Forms was and still is a decent product for data entry applications and when looking into the (new) features of forms, there’s a lot you can do to extend the functionality of a Forms application: modernizing, upgrading and integrating. Or maybe, for the right reasons of course, you’ll just have to let it go…