Tuesday, April 15, 2008

OpenEJB Revival

After a year and a half of internal development and six months of betas, the 3.0 codebase has matured and solidified into the OpenEJB I've always dreamt of.

OpenEJB 3.0 achieves much of the original vision OpenEJB set out to accomplish eight years ago. With a Tomcat integration that allows Tomcat users to still enjoy the Tomcat they know and love yet take advantage of many Java EE features for both Servlets and EJBs and an ultra lightweight, embeddable EJB container for simple, plugin-free, unit testing that's impressively fast, remarkably easy to use and far more complete than any mock container out there, OpenEJB 3.0 offers a unique and powerful one-two punch that will be hard to beat.

OpenEJB has always gone in a different direction than the other EJB implementations, often to it's disadvantage. The idea of lightweight, embeddable and testable EJB was not something people were prepared to accept until recently. This left the project typically lacking in the resources required to keep up with the specs and took OpenEJB off the table for a good number of people. After the launch of EJB 3.0, however, people were finally ready to get on board with a lightweight and embeddable EJB implementation.

We launched our EJB 3.0 effort, OpenEJB 3.0, in early 2006 and went on a caffeine-charged coding bender for so long and so intensely that about half way in I had to give up drinking coffee completely. For me, it was very personal. Not just a fight for survival, but a fight two win. OpenEJB had always been a project of great promise, but seemed to never have all the right pieces at the right time. I had been working on the project for six years and it was time to go all in and win or go home. We achieved Java EE 5 certification as part of Geronimo in June 2007 and have been applying copious amounts of polish ever since. We're still the only open source EJB implementation to be included in a Java EE 5 certified platform aside from the RI itself.

The coming EJB 3.1 specification promises to be an even bigger boom. Several OpenEJB-born concepts are major focuses of EJB 3.1 specification such as the Collapsed EAR (ejbs and servlets side-by-side in the same archive and classloader) and embeddable EJB container for testing and Java SE environments. Similarly, the EJB 3.1 Lite profile describes OpenEJB to a tee and the EJB + Servlet profile maps directly to Tomcat with added OpenEJB.

If you're a Tomcat user, checkout OpenEJB 3.0. If you'd like an easy way to test your EJBs regardless of what platform you use, checkout OpenEJB 3.0; we natively support the full Glassfish descriptors, Geronimo of course, some of the WebLogic descriptors, and are happy to add more. If you've looked at OpenEJB in the past, especially OpenEJB 2.x, look again ... you'll be very surprised.

Saturday, April 12, 2008

OpenEJB 3.0 Final Released

After a month of release candidates, fixing TCK issues, and other release polish... OpenEJB 3.0 is finally released! This release includes several improvements and refinements over the very successful 3.0 beta 2 release. Dependency injection has had a major boost with support for Java Generics and Enums. A dozen new validations makes it even harder to do something "wrong". JPA users will find it nearly impossible to misconfigure the jta-data-source and non-jta-data-source. More robust EJB references allow for circular and lazy references to ejbs in other ears. Deep levels of annotation inheritance are completely respected, allowing for greater design control and less duplicate code. Release notes: http://www.apache.org/dist/openejb/3.0/RELEASE-NOTES.txt Download: http://openejb.apache.org/openejb-30.html