blob: 94dd083680e446a346ef648a577d5ea47dce6a72 [file] [log] [blame]
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.