Feb 19, 2009

Forms Conversion

I tought that I should blog about what is going on since I did not had time to blog since the beginning of the year.

In January, we started a Forms Conversion to Apex proof of concept project. One of our customer is looking for an alternative to forms 4.5 and gave us the opportunity to produce some metrics on converting to Apex.

Luckily, we were also part of the Apex 3.2 Beta testing.

Our customer gave us a sample of forms modules and we converted them in APEX.

Here is a resume of our approach :

1- convert form module to 10g
2- convert the module to XML
3- Load the XML in APEX
4- Use the Apex Migration utility to identify and analyze the modules (especially the triggers)
5- manually convert the triggers in PL/SQL and Javascript

In a period of one to two weeks, we were able to convert most of the forms including security and menus.

There are some things that you should be aware of when converting to Apex from forms :

1- It is not an automated process i.e. the conversion is not done automatically for you
2- You have to know Forms to be able to read and analyze the code
3- Triggers can be hard to convert especially when it is old sql coding.
4- Some forms fonctionality have to be reproduced differently in a web environment. EX: Master/detail/detail , key-dup-rec, when-validate-item etc...

So, we think that Apex can be used to replace Forms without any problems. For sure, end users have to be trained to learn the new ways of using their system. But , all in all, using a web system these days is more intuitive than understanding Enter-Query and Execute-Query :)

I think that Apex 4.0 will also help for converting since Apex tabular forms and client side validations (Javascript/Ajax) will be part of this release and those two things are widely used in Forms.

If you want to try the Apex3.2 Migration tool, you can on Apex.Oracle.Com


Roel said...

Hi Francis,
Just curious: How many forms did you convert and what are the metrics you got from this exercise (#forms/day)?

Francis said...

Hi Roel,

We converted a sample of the whole application (simple, medium and complex modules) so a total of 5 forms. This conversion gave us 22 Apex pages out of which some were very complex.

For the metric, it is based on different criterias like number of triggers and blocks. We have identified all the manual efforts required in different places.

Converting one form may lead to multiple Apex pages. And doing client side validation also add to the complexity.

Hopefully, in 4.0 there will be some client side javascript built-in.