New Article: Interview with Java Champion Adam Bien
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.
See the full article, "Interview with Java Champion Adam Bien: Java EE 6, Closures, and More", for the rest of our discussion.
Java EE applications use
DataSourceobjects when they access relational databases through the JDBC API. A
DataSourcehas a set of properties that identify and describe the real-world data source that it represents. These properties include information such as the location of the database server, the name of the database, and the network protocol to use to communicate with the server. In addition, a
DataSourceobject works with a Java Naming and Directory Interface (JNDI) naming service. After a
DataSourceobject is registered with a JNDI naming service, an application can use the JNDI API to access that
DataSourceobject, which can then be used to connect to the datasource it represents...
Ed Burns invites people to Add Your JSF 2 Content to Sun Java Certification Exam:
In November, Servlet 3.0 Specification Lead Rajiv Mordani, and I started providing technical advice to the team at Sun developing the successor to the Sun Certified Web Component (SCWD) certification exam. This new exam covers Java EE 6, including JSF 2. All this week, the work will continue in the form of an offsite workshop at the mansion...
Adam Bien provides NetBeans 6.8 Java FX Editor for Production? - First Smoke Test:
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...
The long awaited and the most looked upon version of GlassFish released today. GlassFish v3 fully implements Java EE 6 specification which means EJB 3.1, Servlet 3, JAX-RS, JPA 2, Contexts and Dependency Injection for Java EE, Bean validation, Java EE profiles and so on...
Masoud also notes that NetBeans 6.8 joined the GlassFish v3 in the release feast:
NetBeans 6.8 released coordinated with GlassFish v3 today. NetBeans 6.8 can be considered a fine step ahead of NetBeans because Sun is officially supporting the NetBeans RCP platform as a product from now on. NetBeans 6.8 features are as follow...
Jean-Francois Arcand talks about Using Google Guice with Atmosphere:
Starting with Atmosphere 0.5, you can now use Google Guice to configure Atmosphere. Google Guice support is enabled by referencing the Guice filter
GuiceFilterand an application specific
ServletContextListenerthat extends from
GuiceServletContextListenerin the web.xml. For example, the web.xml may be as follows...
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..."
The new java.net Poll asks "Do you plan to upgrade to NetBeans IDE 6.8?" Voting will run through next Thursday or Friday (depending on where you live). The voting is extended due to this week's java.net site outage.
We have a new java.net Feature Article, my recent Interview with Java Champion Adam Bien: Java EE 8, Closures, and More. We're also featuring Jeff Friesen's Learn about JavaFX's APIs for Reading RSS and Atom Newsfeeds, which introduces you to the RSS and Atom APIs in JavaFX 1.2.
Current and upcoming Java Events:
- January 11: Java Training Philippines
- January 15: Spring Grails Asia 2010
- January 25: Developing Java Web Applications
- March 17-19: TheServerSide Java Symposium 2010
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.
-- Kevin Farnham