Hi everyone,

I have to say, I love this plan. I really like the simplicity of it, and it addresses one of the worries I had. I was extremely concerned that we would have problems integrating OpenEJB 1 features and architecture into the OpenEJB 2 tree while keeping it stable for Geronimo. I believe that when you make a major architectural change you need a new major version number. In this case, I am sure that combining OpenEJB 1 and OpenEJB 2 will require a new hybrid architecture.

One issue I am concerned about in this plan is the idea of attaching and EJB 3 implementation to OpenEJB 3. I think this is a great goal, but I don't want to see it holding up an OpenEJB 3 release. I think that the spec will take a long time to get out and an implementation may take a long time. If we can pull it off, that would be great, but if we only have a "preview" by the time OpenEJB 3 is ready, I think we should ship anyway.

Again, excellent plan and remember 1+2=3,

-dain

On Jun 15, 2005, at 4:50 PM, David Blevins wrote:

This message goes out to all the users and developers and is a direct
request for comments.  Please give us direction.

STATUS

So here is where we are it in the project.

  - We have the 1.0 code which is pretty much the same as 0.9.2 with
    the addition of a Web Administration Console, EJB 2.0 Local
    Interface support, and an addition form of OpenEJB/Tomcat
    integration scoped at just the webapp level.

  - We have the 2.0 code which is pretty much tied to Geronimo and has
    none of the features that existing OpenEJB users have come to
    expect: easy unit testing of ejbs; any form of tomcat integration;
    easy config files; tools to validate ejbs.  It does have ejb 2.1
    functionality (webserivces, cmp2, mdbs).

I've been very hesitant to release anything from the OpenEJB 2.0 tree
as it is just going to work in the same way that OpenEJB 1 (0.9.2)
does.  The trick is also that all the resources on the project have
focused solely on implementing 2.1 so we never seem to get to 1.0 either.

GOALS

I think top priority is getting OpenEJB back in the hands of OpenEJB
users.  At this point I don't think this means giving you all a 1.0,
you deserve the EJB 2.1 functionality you were promised and the great
things you like about 0.9.2.  Further, unless we get a jump on
starting an EJB 3 implementation focused on existing OpenEJB users,
we'll be in the same position we were in on the EJB 2.1 code.

DIRECTION

     Here is where we need your feedback.  This project exists for you
     guys, so we need to here from as many people as possible.  The
     more the better.

What if we just put out the 1.0 "as is" did minor bug fixes on it, but
nothing major in terms of features.  Admitted the 2.0 code is pretty
much Geronimo's and just left it alone for the most part.  And...

we start on OpenEJB 3 by taking the 1.0 (pretty much the same as
0.9.2), merging in parts of the 2.0 code, and (here is the important
part) ensuring that the entire time the code we write is code you can
use!  We will never drop a feature, even temporarily.  This is also
where we would develop EJB 3 compliance. 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.

How does that sound?

Here is how I am imagining we could do that technically:

  1.  Take the OpenEJB 1.0 code and kill all the ugly static code and
      make it IoC with the gbean.org kernel.  The gbean kernel is an
      IoC kernel compatible with both Spring and Geronimo.  So people
      using OpenEJB could leverage (and write) both Spring components
      and Geronimo components.  See http://gbean.org

      This would entail no change to OpenEJB as you know it, but would
      allow you to start experimenting with Spring on apps already
      working with OpenEJB 0.9.2.

  2.  As the gbean.org stuff 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 you.

  3.  All EJB 3 work would be done as components and made available to
      you in various forms of stability as things go along, meanwhile
      that won't slow down the entire OpenEJB 3 set of code.

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.  We can basically start releasing 1.0 as 3.0 now and keep
releasing as we execute on step 1.  As step 1 gets further along, we
can start in on step 2, and still keep releasing.  At any point after
step 1, we can open things up for people to come in and work on EJB 3.

Again, the overall goal is to start with code you are using now and
ensure that when we take a step forward, we aren't leaving you behind
by removing things you depend on (tomcat integration, testability,
embeddibility, ease of use, etc).

FEEDBACK

So here is where we need as many people as possible to shout out and
say "yes" or "no" or anything else you want to add.



 Is this where you want the project to go?   <<<<


Feedback from you is critical.


Best regards,
David Blevins


Reply via email to