Or, how I learned to stop worrying and love 2GB of RAM.
To sum my long discourse below: I'm really growing to like JDeveloper. I managed to bumble my way through something useful and productive using JDeveloper, without reading any documentation or tutorials. That is something I have not experienced since the Form Designer in Visual Basic 4.0. I am hopeless at Eclipse, JBuilder, and Sun's Forte Java IDE. I am only marginally less helpless with Visual Studio .NET 2003. For an old command-line gcc dog like myself, JDeveloper ranks as sweet science.
I need a simple JSP application in order to test Coherence*Web, which is the transparent grid session-management plugin for Coherence.
Since I know absolutely nothing about JSP (except the fact that the familiar ASP-style tags are used to interpolate Java code into the HTML), and after hearing all sorts of wonderful speculations from my colleague the Database Sales Consultant, I decided to download JDeveloper, which is after all free-as-in-beer.
500MB and a couple hours later, I had the full-blown JDeveloper Studio on my notebook. Fired it up (a slow-ish proposition on my 2GB RAM, 1.83GHz Core Duo) and the widgets look bad. No anti-aliasing! Methinks the GUI widgets used by Eclipse look better. But nevermind..
A few wizardly clicks later and I managed to figure out how to create a JSP project. Turns out my uneducated fumbling was correct: JSP is exactly like ASP (both the Microsoft and Perl versions) in terms of architecture. So I did what I know best: no more importing of extra Java libraries.. I'm that ignorant. I just wrote snippets of Java code directly into the HTML.
JDeveloper does provide a drag-and-drop interface for plunking HTML objects into the page. And I didn't use the special controls like ADF Faces. Just simple-as-possible.
A few iterations and syntax-error hunting later, and I can run the thing. Run Project fires up the bundled Oracle Containers for J2EE (OC4J) and voila, I actually have something working!
JDeveloper even takes care of firing up the appropriate browser window.
After which, I decided that I wanted to deploy my tiny little program on another OC4J instance, running under Linux in VMWare. Deployment should be a fairly simple exercise:
Select the deployment file (above) then upload the EAR file to the remote OC4J:
How trivial can it get, right?
However deployment quickly turned ugly: OC4J would resolutely not accept the generated EAR file, complaining of various zip archive issues. After more bumbling around, queries on Oracle's Application Server forum and bugging of FMW SC's in another country, I thought of using the WAR target (instead of the EAR target).
Amazingly, this worked. Deployment produced both an EAR and WAR file. I uploaded the EAR file to OC4J using Enterprise Manager (completely ignoring the WAR file that was also created by the WAR target), and got it running. Yippee!
Now the next step is to install Coherence*Web in my deployed EAR file, so that I will get magical clustered session objects (hopefully).
Overall, not bad for a couple hours bumbling around. Considering that my last IDE experience was with Microsoft Access 97 (other than occasional half-hearted forays into Visual Studio .NET 2003 and Eclipse). JDeveloper is fun. I just try not to think about how much memory it's consuming, it's definitely sluggish even on this machine.
Turbo C 2.0 on my 640KB 4.77MHz 8088 in 1991 was faster than this. But it can't compare functionality-wise, of course. But for the basic task of writing code, compiling, and single-stepping with a debugger, Philippe Kahn's creation could run with the best.