Java Champion / JavaOne Rockstar Adam Bien ( is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector. He is also the author of several books and articles on Java and Java EE technology, as well as distributed Java programming. adam has posted 59 posts at DZone. View Full User Profile

9 Reasons Why Java EE 6 Will Save Real Money

  • submit to reddit
  1. Prototyping: in general (Enterprise) Java projects start with evaluation which frameworks to use. This can take from few hours, to several months (although these times are hopefully over). Java EE 6 comes with “one stop shopping”. You can download Java EE 6 with the IDE (eclipse, netbeans, jdeveloper and commercial IntelliJ) and just start hacking. You can install and develop a prototype in minutes. The package sizes are small e.g. NetBeans 6.8 with Glassfish v3, Derby and all required plugins take 146 MB Eclipse with Glassfish / Java EE tooling is also small: 147 MB for MacOS X.
  2. Development: Java EE 6 implementations are lightweight. Glassfish comes with 30 MB for the Web Profile, or 75 MB (everything). Deployment takes only few milliseconds. Incremental deployment is supported out-of-the-box. You only have to save the file. The other application servers (JBoss, Caucho's Resin, Geronimo / openEJB) are expected to be similarly lightweight. Because the majority of the libraries and frameworks is already located on the server, you have only to deploy the application code. The deployment archive contains mainly your application code and is so surprisingly small - a kilobyte deployment is possible.
  3. Production: Glassfish, JBoss, Geronimo and probably the others do follow the opensource model. You can decide whether you need commercial support or not. You can start small - then scale.
  4. Licensing: Java EE 5/6 applications are surprisingly portable - there are no more vendor specific deployment descriptors required. You can easily port your application from one server to another. It is actually the matter of copying of an WAR / EAR archive from one directory to another. We actually did it in the past to ensure application server independence. These are is possible since Java EE 5 and so 2006. Knowing that, you have a good position to be able to get better offers for licensing / support. You are not dependent on a particular vendor and can pick the most interesting one.
  5. Training / Knowledge: You “only” have to learn Java EE 6 and so its API - the start is easy. This knowledge is generic and can be applied to any application server out there. If you know Java EE 5 already - you will love Java EE 6 :-).
  6. Portability: ancient legacy J2EE 1.X projects are easy to migrate to Java EE 5/6. Java EE 6 containers still have to support the old programming model. Porting your application is fun - it mainly consists of deleting superfluous artifacts. J2EE 1.X and Java EE 6 components can even peacefully coexist.
  7. Adoption: Java EE 6 was developed by the JCP. It wasn’t developed by Sun, rather than by the community and all major players. IBM, Oracle, SAP, Red Hat, Google, even Spring Source / VMWare (Rod Johnson) contributed an API. The Java EE 6 spec is expected to be adopted as well as Java EE 5. There were 14 different certified Java EE 5 servers.
  8. Freedom of Choice / Investment Protection: because Java EE 6 was developed by the community (BEA, IBM, SAP, Oracle Sun, SpringSource etc.), and not a single vendor it will remain stable. It is impossible for one entity to change / break the spec, an API. This is a huge advantage of Java / Java EE over other languages. You can still run your ancient J2EE 1.4 apps on your shiny Java EE 5/6 server without any modifications.
  9. Risk Mitigation / Plan B: Java EE APIs are not intrusive and heavily based on annotations and Convention over Configuration / Dependency Injection principles. In case for some reason Java EE 6 will not work for you - the migration to the alternatives like Spring is relatively easy. Both components models (EJBs, CDI / Spring) are rather similar.
Published at DZone with permission of its author, adam bien.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


adam bien replied on Tue, 2009/12/29 - 2:24pm in response to: Wal Rus

It would be indeed an interesting web development shoot-out: Java EE 6 vs. Delphi :-). Regarding learning new stuff: Java EE is very stable platform. In the past developers often complained about its slow innovation pace. Your arguments are actually speaking for Java EE... few projects we had problems to find delphi developers, so we had to migrate the application to Java EE.

Btw. I'm working since 1995 (almost 15 years) with Java and have still fun. I'm just a coder and absolutely not a manager.

Otengi Miloskov replied on Tue, 2009/12/29 - 6:12pm in response to: Wal Rus

@wal_rus ROFL really you need to be proficient with Java EE 6? Its pretty easy to work on it just take a bean and mark it as @Entity thats your persitence then create a POJO and mark it with @Stateless and there you have your service and then create another Pojo a manage bean that interact with the service and write a xhtml page thats your view (JSF2) and you have a complete Java EE 6 app you can write it in one minute even without an IDE.

I dont understand what really you are talking about?. J2EE with EJB2 yes it was hard to work with but that is 8 years ago and now we have Java EE 6 that it is a piece of cake to work it, Even a PHP web designer could create a POJO stateless service bean with the eyes closed.It seems you just read some articles but you should really sit down in front of Eclipse and start a small demo using Java EE 6 with Glassfish and you will see it is awesome easy to work with, It is not a rocket science as was EJB2.

Really It is more difficult to work with the Zend Framework of PHP than Java EE 6(JPA2, EJB3.1, JSF2).

Jack Nicole replied on Sat, 2010/05/15 - 3:36am in response to: Raphael Miranda

thanks for the fine tips,

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.