I attended one of the Java University courses titled "How Java EE Patterns Help in Architecting and Designing Robust Java EE Applications". The instructor was very energetic and covered lots of material within the stipulated time frame. But at the end of the day, it was all same old stuff regarding Session Facade, Business Delegate and Transfer Objects. I expected something new related to the upcoming EJB 3.0 stuff, patterns for designing generic frameworks using EJB 3.0 interceptor technology, patterns for exploiting Java 5 annotations etc. With those old patterns which Deepak Alur had documented 5 years ago, the course was a run down of yet another UML based development, the old way, when people used to develop tons of models (read diagrams) only to discover that they have become outdated before the programmers could start writing a single line of code. Give me a break! The waterfall model of producing use-cases, refining use-cases, generating class diagrams, generating sequence diagrams etc. always work in demos and tutorials with a handful of classes, but they never scale in real life applications.
Open Source! Open Source!
All projects in java.net has been open sourced and this was repeated in almost all of the sessions by all leading Java evangelists. Jeff Jackson, SVP, Java Enterprise Platforms and Developer Products, emphasized on more community involvement to support all Java EE initiatives. He called for the following Calls to Action for the audience:
- Join JCP
- Download NetBeans and join the NetBeans community
- Join java.net, and join the projects now open sourced, such as Sun Java Studio Creator 2, GlassFish, Mustang, WSIT (whiz-it)
- Get the free GlassFish Open Source App Server
- Visit The Aquarium, a Virtual water cooler for WSIT and GlassFish
- Contribute to the BPEL Engine into Open ESB
- Use the Beta of Java SE 6
What does the above imply ? As a developer, do I really care whether Java becomes open source from tomorrow - I have access to all source codes of the Java platform, except the JVM. And 99% of all developers worldwide do not care about the inner workings of the Java Virtual Machine. I fully agree with Cedric, that the one thing that Sun needs to figure out is the licensing and redistribution policies of Java. There are companies like BEA, IBM and Oracle, with bigger stake in Java's success waiting ringside to drive forward with developments in the core platform. It cannot be denied that much of the progress that we have seen on the Java front has been due to community participation - the progress on the core side (i.e. JVM and JRE) has been impeded by Sun itself. Compare it with Microsoft's progress with the .NET platform - there has been a flurry of developments in the recent past with all sorts of creative features being incorporated within the core platform.
The first day at JavaOne was dominated by the showcasing of NetBeans - at least three sessions demonstrated how a sample Java EE application can be developed using NetBeans 5.5 in less than 15 minutes. Boy, if application development was really this easy! However, on the whole, Sun has been able to make its presence felt in the IDE space with ample demonstrations of the capabilities of NetBeans and its integration with the entire GlassFish suite.
Back to the POJOs
EJB 3.0 is here! In the technical session on EJB 3.0, it was obvious that the creators admitted the cumbersome programming model of earlier versions of EJB and brought out the POJO based architecture of EJB 3.0. The Java Persistence API of EJB 3.0 has been contributed by BEA through its KODO implementation, which will also form the backbone of the next Weblogic Application Server.
On the whole the main theme of Java EE 5 as evident from the first day's session in JavaOne is to come out with a more user-friendly programming model focussing on the ease of development. I think with all collaborations and community building exercises, this will make life easier for programmers at large and architects in general.
Tomorrow, the second day of JavaOne promises great stuff from Joshua Bloch. I will be back with some more news and fresh perspectives in the next edition of this blog. Till then .. Peace.