Thursday, February 21, 2008

What will eventually replace Forms?

Someone called 'Anonymous' (that guy sure does get around) posed a question from my previous posting on Apex vs JDeveloper, which I thought could flesh out nicely into a new blog, so here it is:
Marc what do you think will eventually replace Forms Jdeveloper/ADF? Also, can you use Java/Jdev with Apex or is it basically PLSQL environment ?

Oracle has the vision of having JDeveloper and the ADF framework as its next "best thing". They are pumping their resources into re-working their eBusiness Suite from Forms to JDev/ADF, so with that investment comes a kind of reassurance that it will not be left by the wayside. They will continue to refine and mature the ADF technology, as well as ensuring that the Support structure is there for both eBusiness Suite users and those moving from Forms to JDeveloper.

I think that Oracle is in a critical technology transition period, where the ADF technology they are promoting has not yet reached a point where it is mature as Forms. It is critical because people/businesses are going to realise that this is the case and will start to evaluate their other options more openly.

ADF Faces doesn't come close to delivering the visually appealing UI that users demand for viewing their applications, although Faces RC is getting there. ADF Swing looks like it has the capability to be a contender to a Forms UI, but Swing itself seems to be falling out of favour amongst the Java community. Even Sun themselves are not expanding the Swing framework, but are instead developing and promoting Java FX as the replacement for Swing. So we can see that there is this never ending cycle of maturing a technology then putting it out to pasture in favour the new up-and-coming solution to everything. But I guess that's how the world turns and corporations make their money.

So, I'm not really sure what will eventually replace Forms. In terms of Oracle tools, then I would side with JDeveloper/ADF for your standard application that involves not just database operations, but interaction with third-party/client-side applications. There is more emphasis on Apex for database centric applications that can be purely web-based. It depends how the application is to be deployed and used.
For non-Oracle tools, it's worth looking at Adobe Flex and Microsoft's .NET (Oracle provides a nice .NET Data Access Components plugin for rapid database-app development) to see what they offer.

Onto the second question. Apex is basically a PLSQL environment, sitting on top of (within) an Oracle database. It relies heavily on Javascript for client-side operations and AJAX functionality. I'm not sure if you can (or would want to) use Java or JDeveloper with Apex, since it is really just an application running from within the database. HTML pages are generated and served from the database, so the only Java calls would be to those classes that have been imported into the database.
So, I would say No, Apex and JDeveloper are not meant for each other - a marriage such as that would not even last through the honeymoon period, there would be waaaay too much bickering and fighting going on.


Patrick said...

Marc, Again, a great article. Thanks

Dimitri Gielis said...

Thanks for the article Marc.
I do believe APEX is a good replacement for Oracle Forms as in my view it leans closest to the forms language (naming PLSQL).
Also the skills of these forms people are easily transformed into APEX skills.

APEX 3.1 and 4.0 will include a lot of javascript/ajax declaratively, so no need to write that yourself anymore.


Marc Thompson said...

Yes, Apex is in general a good replacement for Forms, but not for all Forms-based applications. For data presentation applications, it provides ease of use for both the developer and the end-user. But, for those people used to a MSWindows look-and-feel with drag-and-drop and rich UI components, the performance and interaction of Apex is lacking. You can only do so much with HTML and Javascript as a backbone, and so you are limited to web-browser offerings.

Still, if it is tight database interaction you are after, then Apex delivers nicely.

grant ronald said...

Hi (again!) Marc - you said, "ADF Faces doesn't come close to delivering the visually appealing UI that users demand for viewing their applications, although Faces RC is getting there."

Believe me, Oracle Applications are a very demanding user and its what they need - they are using the RC faces set)

I wonder if you have seen some of the screen shots from the prototypes our Apps team have been building? (the've been shown at different events) They blow the socks off of anything you've seen before. We are not just talking about nice coloured text boxes and borders but awesome 3D graphics, things like Org charts that dynamically move to show different parts of the org. I've been showing some of these at my Forms Modernization roadshows.

Dimitri - I believe Forms could be a good replacement for Apex ;o)