It's great news that Java EE 5.0 unanimously passed the public review ballot. I've been eagerly waiting for the release date for Java EE 5.0 because (it's long way to go!, planned in Q1, 2006) it promises to make enterprise development easier with Java. Some of the great technologies intended to make development easier are EJB 3.0, JSF and Web services metadata.
The primary goal for Java EE 5 is to simplify development by primarily adopting a simple POJO based programming model for EJBs, replacing need for XML descriptors by using metadata annotations and using a configuration by exception approach (by employing defaults).
One of the primary complexities of J2EE comes from JNDI and Java EE 5.0 is adopting dependency injection mechanism to address the complexities around JNDI lookup.
I've been using EJB 3.0 and Web services metadata for past few months and I can say for sure that development of the business logic/persistent applications are now much easier with EJB 3.0. Also developing web service is now much easier with Web services metadata (JSR-181).
Although development of business tier applications has been simplified with Java EE 5.0, I'm not sure whether use of these technologies is being simplified. The Java EE 5.0 specification has support for the dependency injection mechanism for using resources and EJBs and I'm not sure whether these good works is being propagated to the web container. The Java EE 5.0 specification still lists Servlet 2.4 so it's not clear to me whether the web applications will support dependency mechanism to use EJBs and other types of resources. Otherwise it will be half work done to simplify the complexities of J2EE because developers still have to wrestle with JNDI to use EJBs and other resources from web containers.
While migrating the Java Adventure Builder to use EJB 3.0 and WS Metadata, I realized that invoking and using web services in J2EE applications is very complex and error prone and needs to be simplified. I could not find anything being done in that area at least looking at the Java EE 5.0 draft specification. There are even metadata annotations missing for the service-ref element to inject dependency on web services. To make SOA story compelling with the Java EE platform, use of services should be made simpler from Java EE clients.
IHMO, unless use of EJBs, Web services is not made simpler from web clients, I can't say Java EE 5.0 is really making developers life simpler and simplification story will be half baked!
5:37:24 AM
|