QA#5: Java EE 6: Faster development, less frameworks + complexity, more great code - by Juliano Viana

Guest Author

This Q&A session is part of the community feedback on Java EE 6. So far the highlighted benefits are:

  • QA#1 - Standards compliance, vendor independence, milliseconds and kilobyte deployment.
  • QA#2 - Higher integrated specifications, simple and annotation driven, single-classloader WARs. Next level of industry standard
  • QA#3 - Jigsaw puzzle, Modular, standard, less xml, easy, easy, have I said easy?
  • QA#4 - Developers can concentrate on business logic, JavaEE6 is providing a standard for the infrastructure.

This entry comes from Juliano Viana who is a Java EE and Software Architecture consultant based on Belo Horizonte, Brazil. He started working with Java in 1997 and over the years has worked on different capacities in Mobile, Embedded and Enterprise Java projects. He is currently CTO and co-founder of Logicstyle, an agile Software Architecture consultancy, and also of Expert-in-Tech, an online consultancy group.

Here is a short summary of Java EE 6 from him:

Faster development, less frameworks, less complexity, more great code shipped.

Read on for other fun stuff ...

1. How are you using Java EE 6 today ? What limits your adoption today ?

We use Java EE 6 both internally and also in customer deployments. When we started developing our new online consulting service (www.expert-in-tech.com) we wanted to get more productive than in our previous projects. We usually would go for Spring+Tomcat as the basis for the architecture, but decided to give Java EE 6 a try (it was still new at the time) and immediately fell in love with it.

We started to develop Expert-in-tech on February 2010, and completed it by August 2010.  After very little development time we realized the platform was stable enough that we could start using it on customer projects as well. So we successfully adopted it on a complex customer project (see http://blogs.oracle.com/stories/resource/EGESA/EGESA-GlassFish-Questionnaire.html ) with very successful results.

2. What Java EE 6 technologies are you using and why ?

We use EJB 3.1 in order to manage transactions, and some new features are particularly useful:

  • Interface-less session beans enable us to reduce the code base footprint.
  • The new @Schedule annotation enable us to do batch processing without the need for third-party frameworks like Quartz.
  • Asynchronous methods enable us to execute long-running actions in background, improving the user experience.

CDI also plays a big part in our architecture. We use it not only to inject code but also to inject configuration into our application components (see http://weblogs.java.net/blog/jjviana/archive/2010/05/18/applicaction-configuration-java-ee-6-using-cdi-simple-example). CDI simplifies EJB 3.1 by removing the need for boilerplate JNDI code. It also interfaces well with third-party technologies such as Apache Wicket, which we use for the presentation layer.

JPA 2.0 is also a big improvement, we particularly enjoy the support for criteria queries. EclipseLink (the reference implementation) has proved to be very stable and produce clear and descriptive error messages when there is any trouble.

3. What is your development and deployment environment ?

We develop our Java EE 6 projects in Netbeans 6.9 and Glassfish 3.0.1.  We use vanilla Java EE 6 plus Apache Wicket for the presentation layer.
Our system stores its data on PostgreSQL 8.3.

4. What previous versions of Java EE / J2EE have you used ? How has the migration to Java EE 6 benefited ?

We have been using Java EE since J2EE 1.2, so the relationship goes a long way. Since Java EE 5 the productivity of the platform improved a lot, but Java EE 6 really brings enterprise Java development to a whole new perspective. The benefits are many:
  • Much faster development time due to simplified apis.
  • Faster server startup and application deployment times.
  • Less boilerplate code, letting developers concentrate on the business needs.

5. Describe the benefits of Java EE 6 to you in 120 characters.

Faster development, less frameworks, less complexity, more great code shipped.

6. Advice for anybody who is looking at Java EE 6 for their next project ?

If you haven't used Java EE for a while (since J2EE 1.4), forget everything you thought you knew - Java EE 6 is a much improved platform. If you have been using "lightweight" containers (Spring+Tomcat for example) you will feel just at home, with the advantagesof  having almost no XML configuration in your projects and of being using a standard platform.

7. What new features you'd like to see in Java EE 7 ?

I would like to see better support for EE applications as first-class citizens in the Java Virtual Machine (see http://weblogs.java.net/blog/jjviana/archive/2010/08/16/my-top-wish-java-8-ee-applications-first-class-citizens). Java EE is difficult to host today in a multi-tenant environment because applications are not fully isolated from each other. And I believe multi-tenancy is the direction the Cloud is moving into.

Thank you Juliano for taking time to prepare the answers!

Are you developing, deploying, consulting, training, authoring books, etc in Java EE 6 ? Drop a comment on this blog and I'll line you up for the Q&A session :-)

The Java EE 6 hub is your key resource to learn all about the technology.

And you can always try all Java EE 6 features in GlassFish and refer to an extensive set of Java EE 6 & GlassFish demos.

Technorati: javaee6 community feedback julianoviana glassfish v3

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.