Monday, December 24, 2007

ADF Beginnings

Ok, I have started the ascent into the learnings of Oracle's ADF technology stack.

A bit of background first: I am mainly an Oracle Forms/Reports and PL/SQL developer, and have been for the past 10+ years, but its been a bit of a static learning path, and I have only picked up a few new things here and there since I have been on basically the same project during all of that time. I started my first real-world project with Forms 4.5 (16-bit) and when it was in a production state, helped migrate it up to a 32-bit version. Then I moved interstate (from the Australian West Coast, to Sydney) since the project I originally worked on was sold as an application package to an interstate related organisation.

This move saw the same app being migrated and enhanced to a 6i/8i app, and I also had the chance to code a subset of it into a VB6/Access application that could be used during network/database downtime.

Then the application code was picked up by another interstate related organisation in Melbourne, so I packed my bags and arrived there on Boxing Day of 1999. Things started to get a little more interesting here as the team was interested in making a a more robust application with more emphasis on visual navigation, so among other things, I spent some time helping to put together a Hierarchical Tree control for navigation between Forms. This has worked out very well, and continues to be a great way for the users to jump between application areas.

At the end of 2005, we started the migration to 10g (both Forms and the Database), and successfully deployed the 're-stumped' application in early 2007. The migration gave us a few headaches - since our users had a high reliability on the visual and navigational aspects of the application, sorting out the JVM idiosynchrasies required close (intimate?) interaction with Oracle support. Neither JInitiator nor Sun Java 1.5 gave us 100% satisfaction, but JInitiator turned out to be the lesser of two evils, so we have gone the route for now.

I also spent some time creating a build and deployment tool (using Forms) that comes in two flavours: One that developers could use to easily transfer and compile Forms code to our development unix application server and allow them to run it in their own isolated environment; and another that the Build Administrator can use to extract modules from our Source Control application and transfer and compile it in a series of easy steps to our Test application server.

Meanwhile, we have started looking at expanding requirements and the need to ensure we are working on a supported development base. Since the wafting tendrils of the fear of Forms being de-supported seems to be looming, we have started looking at alternatives for a future front-end for our application. Management has also been throwing around the 'SOA' acronym, and we all know what that means! (If any does actually know what that means, please feel free to enlighten me...)

So, a couple of months ago (hey, I've been a busy man), I downloaded JDeveloper 10g (10.1.3.2 AND 10.1.3.3) and I've been using it for a bit of Java development that we have gradually been implementing on both the Application Server, and on the Client.
Now, I have downloaded JDev 11g (Tech Preview 2) and have noticed a few annoying bugs with it (Refactoring is a nightmare), as well as the complete absence of SOA and web servce functionality.

My intention now is to have a bash at ADF development as well as looking at APEX and whatever it has to offer.

*UPDATE* JDev 11g Tech Preview 3 has just been made available. Stay tuned for more excitement as the story unfolds...

No comments: