| Title: OpenEJB 3 |
| |
| <a name="OpenEJB3-Past,Present,andFuture"></a> |
| # Past, Present, and Future |
| |
| The goal of OpenEJB 3 is to merge our past, present, and future into one |
| codebase. OpenEJB 3 will take the excellent features in OpenEJB 1.0 |
| (tomcat integration, testability, embeddibility, ease of use, etc), move |
| towards an IoC architecture based on Gbean.org and Spring, bring in the |
| OpenEJB 2 code, and implement the EJB 3.0 specification. |
| |
| <a name="OpenEJB3-ThePlan"></a> |
| # The Plan |
| |
| We will start on OpenEJB 3 by taking the 1.0 code (pretty much the same as |
| 0.9.2), merging in the 2.0 code, and ensuring that the entire time the code |
| we write is code you can use! We will never drop a feature, even |
| temporarily. We will start from code that users are now using and always |
| keep, maintain, and improve those features as we add new features. |
| Releasing early and often. |
| |
| <a name="OpenEJB3-Past"></a> |
| ## Past |
| |
| OpenEJB 1.0 (from 0.9.2 lineage) has some great features and many people |
| that depend on them. Tomcat integration, Collapsed EARs, Container Driven |
| Testing, easy embedding, and other features make OpenEJB a unique EJB |
| implementation. We're going to take this code, kill all the static |
| old-school techniques, modernize it with and IoC architecture based on the |
| gbean.org kernel. The gbean kernel is an IoC kernel compatible with both |
| Spring and Geronimo. |
| |
| <a name="OpenEJB3-Present"></a> |
| ## Present |
| |
| OpenEJB 2.0 is an awesome fast implementation of EJB 2.1 that runs in |
| Apache Geronimo. As the gbean.org kernel is both Spring and Geronimo |
| compatible, it provides a great way for us to take the Geronimo-compatible |
| EJB containers and deployers in OpenEJB 2 and start hammering them out and |
| releasing them to long-time OpenEJB users. It will also allow people using |
| OpenEJB to start experimenting with Spring's sophisticated IoC features. |
| |
| <a name="OpenEJB3-Future"></a> |
| ## Future |
| |
| EJB 3.0 is a new direction for EJB and we're going to do it with style. A |
| focus on simplicity is where OpenEJB shines. Combining the EJB 3.0 |
| Simplified specification with our existing lightweight features, like |
| Container Driven Testing, is just the beginning. We plan to go way beyond |
| the planned additions and into areas the J2EE spec groups won't go such as |
| deployment descriptors with attributes, simpler packaging, more flexible |
| classloader setup, more powerful IoC support, simpler web services support |
| and more. |
| |
| <a name="OpenEJB3-ReleaseonDayOne"></a> |
| # Release on Day One |
| |
| Keep it working, keep it progressing, keep releasing. The 3.0 version |
| number won't be the finishing line, but the starting line. Our work will |
| start out as 3.0 on day one and keep incrementing the version number as we |
| get further along our feature list. The EJB 3.0 spec is not completed and |
| the OpenEJB 3.0 code line will be equally dynamic and best suited for |
| adventurous developers who enjoy reading release notes and participating on |
| user lists. There will be an incredible focus on keeping things stable |
| enough to use the entire time as we work towards feature completion. |
| |
| The effect of all this is that you get a fixed-up, far more extensible, |
| version of the code you are already using delivered to you right away. |