Explaining the Free In APEX and JDeveloper
By Mark Wilcox - CTO - Oracle Consulting Security-Oracle on May 07, 2008
I will admit it - This post got under my skin. The summary of this post is "You can't use APEX or JDeveloper without Oracle and thus they are not really free because you must have an Oracle licensed product". And then says these can't claim to be "free" unless they work with non-Oracle technologies.
I want to take a moment to explain what "free" means here and correct some misconceptions.
For those new to these technologies - Applications Express (APEX) is an application framework that lets you build Web applications with just some PL/SQL, SQL (plus some Javscript in certain cases) and the Oracle database. It is free to use but it does require Oracle database to run (while it is part of Oracle XE - most people use it with EE or SE in production). Prior to 11g, it was a separate install but in 11g it is a default feature.
JDeveloper is Oracle's Java IDE. It is highly optimized to be used for developing with Oracle's Java related products in particular ADF (our core UI framework), Web Center (an application development framework that lets you add portal concepts (such as personalization and content from multiple sources on a single screen) to any Web applications and SOA Suite (and SOA is much more design intensive than it is code intensive thus the need for a good design tool).
Since APEX is really a way to simplify taking your existing PL/SQL knowledge and use it to build Web applications - this is clearly something that would only work against Oracle DB. While there maybe some other databases out there that might run some PL/SQL - let's just be truthful to each other an admit that people who want APEX want to run that against Oracle DB. If you are running another DB - you're more likely to go reach for another tool - probably any tool that doesn't say "ORACLE".
That being said - PHP/Ruby/Perl/.NET all run well against Oracle DB :).
JDeveloper on the other hand is a different context. While it is not open-source it truly is free to use. And while it does let you edit any Java code - frankly if you are not using any of the Oracle related Java stack - I'd probably run Eclipse (and Oracle is also active in Eclipse project). It's not that JDev wouldn't work - but you'd probably have an eaiser time with non-Oracle stack.
And ADF itself is based on a standard (JSF) and is donated to the Apache MyFaces project.
Finally - you probably are not looking at the Web Center and SOA Suite components unless you planning to use those products..
So in summary - You are probably only interested in APEX or Jdeveloper because you are investing in Oracle technologies (DB and/or Middleware). If you are investing in these technologies - then these tools exist to help you more rapidly develop against this stack but they are not the only tools you can use.
And there is also a rich external market out there - both commercial and open-source tool/frameworks that let you develop against Oracle too. And I hear a rumor or two that there are even other databases :).