by Janice J. Heiss
Adam Bien is both a Java Champion and a Java Rock Star. He served as a member of the Expert Group for JSR 316, the Java Platform, Enterprise Edition (Java EE) 6 specification of the Java Community Process (released in December 2009), and he was an Expert Group member for the Enterprise Java Beans (EJB) 3.1 and Java Persistence API 2 (JPA 2.0) JSRs with the Java Community Process. He is the author of several respected books on enterprise development and is a highly regarded enterprise consultant for many companies.
On August 4, 2010, Adam was notified by Oracle Magazine that he won the ninth annual Editors' Choice award for Java Developer of the Year for his expertise, hard work, enterprise, and enthusiasm.
Q: What would you like to see happen at the JavaOne conference?
A: I would like to see a strong Oracle commitment to Java (SE/EE), as well as to Java FX. JavaOne is a perfect place for clear strategic announcements.
I’ve really enjoyed the spirit of past JavaOne conferences. They have been truly unique. I hope that spirit doesn’t get lost in the new location. I would also like to see a toy show again—it is almost a tradition.
Q: How would you evaluate the current state of the Java platform?
A: The Java platform and community are growing. There are more and more interesting languages, such as Scala, Groovy, JRuby, Cloture, Jython, and JavaFX, running on the Java Virtual Machine (JVM). The Java programming language is still number one. The Java platform is actually a unique success story.
Q: What trends in software development should Java developers pay special attention to?
A: Developers should just try to keep the excitement and passion for software development going and keep learning new stuff. Today’s bleeding edge will become a fact tomorrow. It is hard to predict the future, so it is better to learn as much as possible and apply your knowledge to the real world after abstraction and verification. Furthermore, it is also more fun to take this approach.
Q: What's the next big technology revolution?
A: The revolution is already here, but it is not evenly distributed yet. Developers are still getting excited about Java EE 5 and how lean it feels, although it is actually almost 5 years old. Some cannot believe that Java EE 6 is available and production-ready.
I would call the next revolution in the enterprise "pragmatism and simplicity." You can start lean enterprise projects with less fraction and discussion than you could a few years ago. I hope the over-engineering and "ivory tower" times are definitely over.
Cloud computing could become more popular, although I wouldn’t call it a revolution. The available cloud technologies are older than Java.
Q: Tell us about your "Hacking Heating" session at JavaOne.
A: GreenFire is one of my many pet projects, but it's the most "mission critical." It regulates the heating control of houses depending on the weather forecast, sensor state, and configured priorities. I wasn’t very happy with how my heating system worked, so I started to regulate it manually. After a few weeks of observation, I automated the process during a weekend. GreenFire was built with Java EE 5 preview (originally, with EJB 3 plus JPA 1, Hibernate, BIRT, Groovy, JMX, JMS, and RMI) before its official release. For me, that was the fastest way to hack the application.
In the session, "S314243: Hacking Heating Systems with Java EE 6, JavaFX, and Scripting," I will discuss the technology choice more deeply, as well as the migration to Java EE 6 (from Java EE 5), and the patterns I used. GreenFire deals with integration of "legacy" resources (such as heating devices), accesses external services, and needs to start periodic jobs. It’s a perfect project for explaining patterns, best practices, and technologies. My JavaOne talk will concentrate more on the technology part and less on the heating optimization. I guess heating optimization is not as important in California as it is in Germany.
Q: What are the leading misconceptions that you encounter about Java EE 6?
A: I encounter plenty of misconceptions, myths, and prejudices before showing developers what Java EE 6 actually feels like. A short demo in the IDE (slides are not very appropriate for that purpose) kills all the myths. Most developers are stunned to discover that Java EE 6 became even lighter than Plain Old Java Objects (POJOs). I will prove this claim in my JavaOne session "S313248: Creating Lightweight Applications with Nothing but Vanilla Java EE 6."
Q: What areas of functionality in Java EE 6 have developers been slow to appreciate?
A: For unknown reasons, developers are still living in the J2EE world. You will still find articles, forum entries, and even talks with "J2EE" in the title. Java 2 Platform, Enterprise Edition is about 7 years old and very legacy. It was designed before JDK 1.5 and annotations—and JDK 1.5 was EOLed in October 2009.
In my Java EE 6 projects, I use broad adoption of all Java EE 6 APIs and technologies. The most popular technologies are JavaServer Faces (JSF) 2, JPA 2, Contexts and Dependency Injection (CDI), and EJB 3.1. Because of built-in CDI events, Java Message Service (JMS) is used less frequently inside the applications.
Q: What do you see as the most important API in Java three years from now?
A: Jigsaw (modularization), closures, and JSR-166y—the Concurrency and Collections updates. The interest in Java EE 6 is huge; it seems like in three years, it will take over the world.