I first met Java Champion Adam Bien at JavaOne, where we made a podcast titled Real World Java EE Patterns: Rethinking Best Practices. With Java EE 6 having just been approved, I thought now was a good time to reconnect with Adam, and get his view on the latest news in Java. So, last week we did an interview, which I've just published.
Java Champion Adam Bien
As I've said before, I learned a lot about the recent history of Java EE and EJBs in my talk with Adam at JavaOne. The rumors of Java EE being overly bloated and EJBs being heavyweight components are true only if you look at them with respect to their potential capabilities and potential complexity. That is, Java EE and EJBs have wide-ranging potential, rock-solid, thoroughly tested, enterprise level capabilities. But, enactment of the more complex capabilities is not required. At their most basic level, EJBs are lightweight, fully-scalable, components.
Adam reiterated this point in our interview last week, when I asked him if EJBs are an option that Java developers could apply in meeting the "Multicore Challenge":
EJBs are lightweight since 2006. They were always perfectly scalable on multicore systems because of their procedural nature. I actually never had any scalability problems with EJBs and was always surprised by their good performance...
With the availability of the embeddable container in EJB 3.1 you could even run them on a desktop, or at least in a JUnit test. Glassfish EJB 3.1 container is about 1 MB, openEJB and JBoss are also very lightweight - it could really work.
I asked Adam this question because of the ongoing discussions wherein adding closures to Java is seen by some as necessary for meeting the Multicore Challenge -- that is, parallelizing desktop applications such that they'll utilize the many core processors that we expect to become common even in fairly low-level office and home computers in the coming years. Do we really need closures to accomplish this if we already have a scaling technology that's been put through the wringer via deployment in massive distributed enterprise systems over the past 10 years?
Regarding the significance of Java EE 6, Adam said:
Java EE 5 was the revolution - Java EE 6 is the evolution. JSF 2.0 is a significant step in the right direction. Introduction of annotations, easy creation of components, and integration with facelets are huge news. You can create a JSF 2.0 application in minutes without having sophisticated tools.
EJB 3.1 / REST synergy is very interesting and the Context and Dependency Injection JSR-299 / JSR-330 marriage greatly extends the DI capabilities of the platform. Now even a spec led by the head of Spring (Rod Johnson) is a part of the Java EE 6 spec.
Tomorrow (Tuesday, Dec 15th) is our online Virtual Conference on JavaEE 6 and GlassFish v3.
The conference is free but
Requires Registration
(check this
PDF
for full agenda)...
The editing experience was dramatically improved in NetBeans 6.8 (comparing to NetBeans 6.7 or the "old" eclipse plugin), especially: 1. # renaming (refactoring) of functions, classes etc. works like in Java...
GlassFish v3 final has monitoring and administration support for Ruby on Rails or any Ruby Rack based application. Here is how you would go about administering and monitoring your Ruby on Rails application on GlassFish v3...
We are pleased to announce the release of JAX-WS 2.2 and JAX-WS 2.2 RI. RI is also included in Metro 2.0. As Metro 2.0 is bundled in GlassFish v3, you don't require any separate installation step. On the servlet containers like Tomcat, you follow the installation instructions in the bundle. This release highlights are...
One of the many cool new features in Java EE 6, is support for the DataSourceDefinition annotation. The DataSourceDefinition annotation provides a way to define a DataSource and register it with JNDI. The annotation provided annotation elements for the commonly used DataSource properties. Additional standard and vendor specific properties may also be specified...
In the Forums, Felipe Gaucho has a question involving [webtier] using EJBs inside JSF pages - is it possible ?: "is it possible to inject EJB 3.x directly into JSF 2.0 pages ? or should I do always a proxy ManagedBean just to copy the reference to the page ? * an example would be nice..."
geforce2000 says Custom renderer (almost works): "I'm creating a custom JComboBox renderer. What I want it to do is display text next to a colored box. Everything works except for the default value were Its not showing the text. Anyone see the problem? Or is there a better way of doing this? I’ve..."
And ramix finds that lwuit is slow on Nokia N95: "does someone tested lwuit on nokia n95? our software is so slow on N95, not in a specific object or screen, it's just to slow!"
Our current Spotlight is the NetBeans community's announcement that NetBeans IDE 6.8 is now available: "The NetBeans team is proud to announce the availability of NetBeans IDE 6.8! Download NetBeans IDE 6.8. NetBeans IDE 6.8 offers best-in-class support for the entire Java EE 6 specification and the GlassFish Enterprise Server v3 platform. Simplify Java application development with Java EE 6 language features: less XML configuration and more POJO-like development; easily target and deploy to GlassFish v3..."
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.