Sunday, December 20, 2009

APEX 4.0: writing higher quality applications by using the Advisor

APEX 4.0 includes so many nice features out-of-the-box now, that you can't stop smiling ;-)

I'm doing these series of blog posts more from the perspective from what has changed and how your development effort will change by using APEX 4.0.

The community build things around APEX (2.2, 3.x) to help us e.g. Patrick Wolf made some great things (already some time ago now) like his APEXLib framework and the APEX Advisor. Now that Patrick is in the APEX Development team it's nice to see a lot of this coming back as build-in components.

This post is about the build-in Advisor, which you find in the Utilities section in APEX 4.0.
I'm sure it will help to write higher quality of code.

Before (APEX 3.x days and prior) the flow was like; create database objects (tables, views etc), create application, pages, add validations, create shared components, make sure security and performance are good by manually checking things.
A change came in; adapt database objects, adapt pages etc. hoping you changed everything correctly...
Some of us build a QA tool to check things by running a package/query or by using the Advisor Patrick build, but I think a lot of people didn't do that.

So how does this process look like in APEX 4.0?

- Create database objects
- Create application
- Create page and check directly if it's "good" (see screenshot)
- Create shared components etc

Change is coming in
- Change database objects
- Run the Advisor and see directly which items you need to change or where things fail
- Change pages and check your pages directly
- When all done, run the Advisor again for the entire application (see screenshot) and you are good to go

It's amazing if you upload an existing application how many things the Advisor might suggest you have a look at ;-)

Having this feature build in is awesome. I used Patrick's Advisor (for APEX 3.x) before but sometimes I forgot to run it etc. now that it's build in it's so much easier.

While I was discussing with John Scott he had a really good suggestion; it would be nice if we could schedule a run of the Advisor (e.g. every night). Also adding our own checks would be nice, but we could get around that already if we could just call the advisor from pl/sql.
We would then email the results or store it in our QA repository.

1 comment:

runcsmeduncs said...

Hi Patrick.

Happy new year to you firstly.

I have been having a look at some of the new features APEX 4.0 will offer and this will be a killer feature!.

For the past 12 months I have been doing nothing other than "modernising" all our APEX apps and this feature would have been very very useful.

Looking forward to using this in anger :)