Oracle has just released JDeveloper 11g. I was off course very interested so here are my first impressions. Instead of just unzipping the download as we used to do, you have to run a real installer, probably because of Bea, eh sorry Oracle, WebLogic. Since I have JEE6 installed already, I decided to download and install the Base Studio Edition (java -jar jdevstudio11110install.jar). Installation went fine. JDeveloper runs smoothly with 2MB memory, and as we’ll see running an ADF Faces app on weblogic does too.
So let’s create our first ADF HR application :-). Start JDeveloper (notice the new look and feel), create a new application, select ‘Fusion Web Application (ADF)’ and follow the wizard. In a few seconds the well familiar Model and ViewController have been created (figure 2).
You are now confronted with the workspace that contains in the center some kind of summary screen, that displays an overview of all the files in the project, grouped by type (Java, ADF, XML, Page Flows and Web Pages). For now it’s empty, but I expect it wil get populated when the project grows. It seems like an interesting and usefull ‘reporting’ feature. Unfortunately, I closed the page and haven’t found a way to open it again, any help is welcome.
Notice also (in the application navigator) the trinidad-config.xml that replaces the adf-faces-config.xml, an indication that ADF Faces is based on the Trinidad JSF components (that have been a donation from Oracle to the Open Source community). Actually, the organization of the IDE has changed a bit, some windows disappeared, while new ones emerged. You may discover it yourself.
I am especially interested in JDeveloper’s library management, so I investigated a little bit. One, the ADF libraries have been completely reorganized. It will require a lot of work again to determine the required set for our Maven based build management. Two, the library management has not been changed. A user library (what we also call an external library) is stille defined with a .library file a jdeveloper directory and references the library (jar) via a relative path. The same applies to project libraries (in the jpr file). This makes it a useless way of library management, because it introduces hard to manage local workstation dependencies. A CLASS-PATH variable, like Eclipse, would be a improvement because it allows the use of the local Maven repository without introducing local dependencies.
By the way, JDeveloper still has no support whatsoever for Maven. The least you can do about it, it so register the Maven xsd in Tools -> Preferences -> XML Schemas to have validation and code completion with the maven pom file.
Ok, let’s continue the application. Creating ADF Business Components (BC’s) is the same as with 10g. The wizard is the same, it just looks different. The defaults are also the same, with e.g. these silly, uncomprehensible, numeric postfixes. It all looks very familiar, but with these little differences, mainly in the look and file.
A few noticable differences on the model project :
The Model.jpx (actually projectname.jpx) is clearly visible, instead of a hidden file that you only became aware of when it was causing problems. It provides the very valuable feature to import another BC’s library (note that this feature was already available in previous versions, but much more hidden).
The presentation of the Business Component’s has also been changed. Instead of a separate structure pane, the xml, the Impl and the definition files appear directly underneath the BC and the structure pane is much more comprehensible.
The Application Module configuration now contains by default a second configuration for testing purposes, with a maxpoolsize of 1.
The BC4J tester also provides a debug option. No more fiddling around with the main method of the impl class.
Let’s continue to make a simpe JSF page. You’ll notice the extra options, like Task Flows, Fragments and Templates. I won’t cover these subjects now. Just make a simple JSF (.jspx) page. The datacontrols can be found on the left. Just drag and drop one of the ‘usages’ on the page. Again, it’s very familiar.
Ok, let’s run it on the included WebLogic: right click -> run. A lot of messages pass by at the console, all Weblogic, and even including BEA codes and after some time the webpage is opened. The first start-up takes a lot of time, but following deployments go much faster. You now have the option to stop the application but leave the server running, something you could not do with the embedded OC4J. By the way, a new feature is also available : ‘Preview in Browser’, that will render your page, but without any data.
To summarize this first impression, 11g seems a big improvement over 10g. It performs well, it looks great, the ASF Rich Faces are very attractive and the IDE has tons of extra features. At the same time ADF development still feels very familiar (it even contains some of the annoyances of 10g). This should get you started easily to explore the new possibilities. I am looking forward to the new JHeadstart to leverage development even more.