Monday, March 09, 2009

Is APEX still worth looking at?

A while back I got following question:

I am a Oracle Developer and wanted to ask you what is the scope of APEX in the near future. Forms and Reports are still very much alive and APEX jobs are not that much I have seen in the US market. APEX is quite old now (about 3 to 4 years old). What is your view on it?

I would appreciate your input. I have invested huge amount of time in APEX as I was excited as you are with APEX technology and now I feel was it really worth it? Is the future of Forms and Reports -> APEX or is it J2EE. I mean Forms/Reports -> to -> APEX or Forms/Reports -> to -> Jdeveloper (J2EE). I personally like APEX much better.

Apparently still a lot of people are struggling with this question, so I decided to do a post about it, but I'll break down the question in different parts.

Is Oracle Application Express (APEX) old?

It's not "new" anymore, the first public release was in 2004. But is it bad that APEX is getting older? With every new release we got a lot of nice features which made APEX more mature and worth looking at. The Oracle database is very old too, but with every release new features got introduced. The database is also doing a lot of things for you now, which in the past cost you a lot more effort. I see APEX like that, with every new release the development of an application is made easier for you and you get more possibilities to make your application even nicer.

Are there jobs for APEX developers?

I guess we, APEX Evangelists, a company 100% dedicated to APEX, proves you can make a living out of it. Day in day out we work with APEX with many different customers. Development, support, training and consultancy are our main activities. So I can definitely see a job for you in this domain. Sure .NET and Java are asked very much and the APEX market is smaller, but it's growing every day...

What is the future of APEX?

APEX 3.2 got released a couple of weeks ago, which includes a Forms to APEX conversion tool. The next major release of APEX is 4.0 which will include some very nice web 2.0 features. Some of the highlights of that release will be Updateable Interactive Reports (improved tabular forms), Websheets, an APEX listener and Dynamic Actions. A full list can be found in the SOD.

Forms to J2EE or Forms to APEX?

It depends... What is your infrastructure? What knowledge do you have in house? What are your requirements? Why do you want to change?

You have three options, really:

1) Stay with Forms and Reports. You really need to ask yourself why you want to change. Is it because of license costs? Or do you need to web enable and extend your application? Only you know the answer, but going to another technology is not something you do in 1..2..3, so think about it before you start. Both J2EE as APEX provide you with tools to make the migration as painless as possible, but you still need to do some things yourself.

2) Go to J2EE. Already a lot of people went into that direction as Oracle itself is following that strategy for the Applications Suite. I'm not specialized in that area but if you look at the blogs of Grant Ronald or Duncan Mills they have all that information. The ADF development team is doing some really nice work and have some really cool features available.

3) Last but not least you could also chose to convert your Forms to APEX. One of the biggest advantages for me, especially in times of economic crisis, you avoid paying a license for the Oracle Application Server (OAS). APEX doesn't require the full Oracle Application Server, but can run on Apache or directly from the database (later, in APEX 4.0, with the APEX listener it can also run on a java environment like for ex. Tomcat or OC4J). Of course the full Oracle Application Server has some nice features which you won't have, but typically APEX doesn't need the OAS. Next to that most likely you can reuse your existing knowledge...
Especially with APEX 3.2, which includes a Forms to APEX conversion tool, it's worthwhile investigating this option. If you already have a lot of people knowing SQL, PL/SQL and HTML, APEX might be a good fit for you, as these are the main building blocks. But remember this conversions tool is not a silver bullet, you still need to do a lot of work to get your Forms conversion completely finished, so please, see it as a real project and treat it like that.

So to conclude, I'm still happy I chose APEX as my preferred technology. I still don't know that many tools that can create data centric applications at the speed of APEX. More and more people are starting to use it. APEX let you extend your application easily... To make web 2.0 (or 3.0/4.0) applications we intensively use JQuery and other 3rd party components (for ex. Anychart) with APEX too. I really look forward to the APEX 4.0 release as that will already have some of these enhancements out-of-the-box. So we still have things to look forward to and stay passionate about it...

15 comments:

Peter de Boer said...

Hi Dimitri,

Nice post, with a familiar topic. I think the growing interest in Apex is mainly pushed by (Oracle) developers and not by sales departments.
So, in many companies Apex is not bought by the CIO, but "someone" suggests to use Apex to offer the requested functionality. Usually, Oracle developers or architects come up with this brilliant idea ;-)

Personally I see that Apex is used next to Forms applications. If I need to build a new application I would ask myself: can I make it with Apex? If not (due to complex UI for example), I would still use Forms. In the near future I think the answer to the question "can I make it with Apex" would be more often YES.

So I think that it is a matter of time before the market start asking for Apex developers. And since Apex is quite easy to learn, you better get good at it :-0

Regards,
Peter

Anonymous said...

Ruby grows faster than APAX, so peeps shud use Ruby


Rby Rox!!!!!!

Unknown said...

Dimitri,

Well reasoned post.

I'm not an unbiased bystander in this, but I certainly agree that APEX popularity is growing significantly.

For some proof points look at the number of APEX sessions at Oracle Openworld 2008 = 38, including the public voting in 7 out of 25 from the Oracle Mix. This year at Kaleidoscope 2009 in Monterey there are over 30 sessions and a dedicated APEX track.

I believe that even more organizations will start utilizing APEX 3.2 due to our Forms Conversion.

Cheers,
David

Anonymous said...

Hi Dimitri, nice to see a much more balanced debate rather than the "mine's the best" stuff that this topic often falls into ;o) May it always continue this way ;o)

All valid points - two additions I would make.

Firstly, I think you have to be VERY careful when you bring up the topic of cost - sure - paying for an EE app server might make your accountant have a sleepless night or two. But compare that to asking both him and your CTO to sign off on the development effort of taking a working app and re-developing it - well, you might find the cost of the risk far outweighs the cost of an EE app server. Or you may find you save millions on deployment costs by centrally hosting Forms on an app server instead of client/server - only you can decide - so its much more complex than just the cost of a license. (plus, won't your database license possibly be impacted by maybe requiring more processing power in your database if your apps run there???) - so, the cost point can be in danger of being over simplified.

The second point regarding ADF and JDev, as you know, Oracle has bet its mortgage on the Fusion tech stack (including ADF) for the up and coming Fusion applications. That pretty much means ANYONE using Oracle Apps or closely tied will be using this technology. I think we have been seeing the ripples but when this stuff lands, I think there will be a hell of a wave and its then your might really find how important it is to be part of that wave or not.

Having said that, I'm not suggesting its an either or choice - I still see a sweet spot for each app - but I just wanted to add those two points to "enrichen" your article ;o)

Of course, like David, I'm fair, but maybe not completely unbiased.

Regards
Grant

Anonymous said...

APEX grows and improves year after year ... I started working with version 2.2 back in 2006 ;-)

The question remains: will it stay free ???

Matthias

Dimitri Gielis said...

Hi Matthias,

APEX is not really free, you get it for free when you have a license for the Oracle database. (Ofcourse you could run it on XE which is a free version of the Oracle database)

Nevertheless, from 11g onwards APEX is an option of the database, so you can just see it as a feature you get with it. So I don't see why they would make that payable.

On every conference and every chat I had with Oracle, there was never mentioned they would make it payable at one time.

Dimitri

Anonymous said...

Yes, I know you need a license for the Oracle database (if you are using anything other than XE).
But will all features of Apex remain free ? Could it not be possible that Oracle starts selling extra-cost modules ? Like they will do with SQL Developer ?

Matthias

Anonymous said...

Matthias,

I don't work for Oracle, so obviously I can't speak authoritatively on the licensing/cost issue.

However...there are two things to note -

1) As Dimitri said, APEX is a feature of the database, if you have the relevant license for the database then you can use APEX with no additional cost (obviously Oracle XE has no cost either, so there is a 'zero' cost there).

2) Oracle, as far as I'm aware, has no history of taking a product (like this) that it never charged additional licenses for and then making it an additionally licenced product.

I'm trying to be careful with my wording here, as 'free' is not really the same thing as 'no extra cost'.

In some respects you could argue the same thing for PL/SQL...it comes with the database, at no additional licence cost, but will Oracle ever charge you extra for it?.....I doubt it...but the same argument applies.

Also...to extend that argument a bit more...

If tomorrow Oracle decided to charge 'extra' for APEX, it would not impact any of your currently running applications, I highly doubt Oracle could/would charge retrospectively for all those current users of APEX.

So in short, could Oracle start billing for APEX...sure, of course...nobody knows the future.

Is it *likely* that Oracle *will* start charging for APEX in the foreseeable future? In my opinion almost certainly not based on what I've seen/know.

John.

Anonymous said...

Matthias,

Even if Oracle did choose to charge for APEX (or some part of it) in the future, is that any reason to not use it *today*?

I think you can apply the same argument to almost every free/non-cost tool out there. One day MySQL might cease development, one day Ruby might be much less active etc etc...

The point is, you can't second guess the future, sure you can predict trends etc, but ultimately none of us know 100% for sure (Oracle might decide to charge for APEX and then change their minds 3 months later etc).

Besides, even if they did charge for APEX, assuming it was a *reasonable* cost, it is still a heck of a productive development environment that would be worth paying for (in my opinion), so the fact that we have it for no-extra-cost today makes it even more of a gift.

John.

Peter de Boer said...

Interesting to see that the conversation changed from "popularity" to "license costs".


I have to admit that this subject crossed my mind when looking again at the features announced for version 4.0.
How are they going to offer all this hot/cool/fancy features without asking money for it . . .?

But as John mentioned: should we stop using Apex when Oracle charges us (or our customers)?

Unknown said...

I think you are unlikely to see freelancer jobs with APEX on the main job board. After all, the tool is so easy to use that you don't need to hire expensive external consultants ;-)

On the other hand, if you bid to build a specific solution and choose to use APEX, I believe you can be very successful with APEX: You can build such a lot of functionality in such a short time.

Anonymous said...

I think Application Express will continue to be a very popular choice for DBAs and PL/SQL developers. I also think that once you get a taste you come back. It's easy to forget all the things you get from APEX until you go work with Java developers and you have to use text search to find your database dependencies. You begin to miss the ability to look at a user session "live" when answering a support call. You start writing procedures in PL/SQL to provide a foundation for the Java all the while thinking, "this has all been done before, why am I writing this stuff from scratch".

Sadly some CIOs don't get it and some are waiting for something more from Oracle - especially in the area of Oracle Applications integration. The Forms migration release will go a long way towards alleviating the fear that this product will go he way of other similarly positioned products but for some to really consider APEX they will need to convince CIOs. And Oracle is still doing too little to assist.

Consider too the lack of documentation. 3.2 improves this somewhat but do a quick search on Amazon to compare RAILS to APEX. I'm not saying it's right or wrong but it does influence adoption.

Greg

Anonymous said...

"You start writing procedures in PL/SQL to provide a foundation for the Java all the while thinking, "this has all been done before, why am I writing this stuff from scratch"."


Greg - this is EXACTLY what ADF is doing - giving you all the "infrastructure" and "nice to haves" that any application will need - out of the box....

jnowl said...

Licensing IS why I've landed here.

I'm looking for a way to to get off of the vendor lock-in that forms and oracle currently has us in. Was hoping apex and postgres would be a way forward (leaving aside the issue of oracle hi-costs provide oracle 'techs' with hi salaries)

labatterie said...

Oracle developers or architects come up with this brilliant idea...