Thursday, June 19, 2008

APEX Versus ADF

During this year ODTUG Kaleidoscope'08 conference, almost everyone is talking and comparing APEX with ADF and ADF with APEX. It sounds quite funny for me and just a waste of time in most of the cases. Both products are good and both have areas where can be used. However, APEX is not a central and strategic tool in Oracle. JDeveloper/ADF is strategic combination and powers next generation of Oracle Applications.

Basically speaking, as Tom Kyte said during his "How Do You Know What You Know..." keynote on Sunday - "APEX is a database browser". APEX power is in rapid and departmental style applications, when user friendly database interface is needed.

JDeveloper/ADF is a different story, this technology allows to develop organization wide system and to solve so important nowadays integration problems.

I have heard, it happens in organizations with dominant PL/SQL expertise, that people suggest to develop complete enterprise systems only with APEX :-) In my personal opinion, both APEX and ADF are the best in their areas, just its very dangerous to think like this - "since I'm expert in this product, I can do everything only with this product".

6 comments:

Thomas Kyte said...

Andrejus -

in the keynote, I was talking about huge changes being made in an area (business, social, science, whatever) by outsiders.

I described how Mike Hichwa - a guy from sales - made a HUGE change in the Oracle toolset. He was definitely an outside (not a developer, not in the tools division, didn't even really develop applications - he sold tools to develop applications) would always sit down with a new tool and build a database browser.

Well, in 1995 when OIS (the Oracle internet server version 1.0) came out - he sat down and in htp/htf built such a thing. That browser when through many iterations and formed the basis for the tool that is today called APEX.

APEX is as capable of building an enterprise-y application as anything else. The fact that a site like metalink could be put together by a very small team in a very small amount of time speaks well of the tool in that area.

APEX can build anything from tiny to huge - you do not need the infrastructure and overheads the java environment would pull along in order to build big.


Sorry if I did not elucidate that clearly enough, I was not in any way shape or form trying to pigeon hole APEX as "departmental", rather - was just trying to make the point of an outsider (mike) breaking through and making a huge fundamental change in the direction of Oracle tools.

I have heard, it happens in organizations with dominant java expertise, that people suggest to develop complete enterprise systems only with Java. It is very dangerous to think like this...

To borrow someones words :)

There are times for Java, there are times for APEX, there are times for each of the tools - they have their strengths and weakness.

That an application will be enterprise-y (whatever that means really - I've never fully figured that out - some say "enterprise = 24x7", others "enterprise = big", others "enterprise = strategic" and so on), APEX may fully well be the best tool...

Andrej Baranovskij said...

Hi Tom,

Thanks a lot for update and clarification, my post became more complete with your comment.

I don't say that one or another tool is better. I just don't like when there is a blind discussion, the same applies for Java or APEX developers. Such blind discussion usually frustrates customers and in worst cases they are deciding to move away from Oracle technology. I think, there should be more clear separation line from Oracle, so there will be no so much ground for discussions - 'my tool is better'.

For example, in practice I often can see that developers dictate technology they want to use (just because its cool and they know it), and usually no one cares about architecture. It applies for both APEX and Java. And its true even only for Java, since there are so many options for frameworks in Java. As a result we have something similar to a Zoo.

It is my opinion.

Regards,
Andrejus

Anonymous said...

Thomas and Andrejus,

I totally agree with Thomas about saying that each technology has it's own advantages and disavantages. At Neoface we develop software for Small Business (not to say micro), and we've been pretty happy about how APEX performs with our CRM solution. It's all build with APEX and we created a webservices layer in the database with the new features of 11g. ADF is much much more powerful for large applications like Oracle Applications for instance... but I don't agree with some people that argues that APEX is only for departamental projects... it depends on the size of departments. In Europe there are hundred thousands small business companies that have less than 30 employees, and I think we can create CRM or ERP solutions for this kind of customers with APEX technology.

Best Regards,
Joao Oliveira
http://beyondoracle.wordpress.com

Andrej Baranovskij said...

Joao,

While we are dicussing, what is better - JDeveloper or APEX, small business is moving to .NET or PHP.

My main idea - instead of discussing during conferences about what tool is better, its more wise to talk about how we can address client requirements with JDeveloper or APEX and how it everything fits together.

Thanks,
Andrejus

Anonymous said...

A Very nice discussion ..Thanks to Tom for his valuable comments

SHAH said...

Thanks a lot Tom and Andrejus,

your valuable inputs have really helped me clear some of my confusions with both APEX and ADF (JAVA) frameworks. Its true that small business is more moving towards open source platform then say oracle tools because of openness (freedom to do anything with the look and feel and how user interacts with system), developer community support, wide variety of added components. Oracle needs to work in this direction too...