If I'm reading this correctly:
 
1. Version 1.0 is going to try and support several back ends other than just 
RDBMS's (ie LDAP, XML, CICS)
2. You've already started to re-implement the persistence mechanisms.
3. Using the "front ends" of other Persistence frameworks equates to roughly 
supporting their general API's and probably more specifically their Query 
API's, however all real work will be done by the new persistence code on the 
back end.
4. You are open to integrating code/thoughts from several different persistence 
mechanisms into the Geronimo-specific implementation.
 
Feel free to correct me if I'm wrong on this one.
 
Based on those assumptions:
 
1. This is a pretty huge project with a rather large featureset. Supporting 
non-relational backend stores is a major PITA without bringing a lot of value.
2. Do we need yet another persistence framework? Most people reading this have 
been involved in building persistence frameworks in the past and understand the 
scope. Is there a solid reason for not choosing something that is out there and 
just using that? At the very least, it's a huge head start on the project which 
allows more time to be spent building aspects of the container that don't 
already exist.
3. Isn't one of the Jakarta criteria "Alignment with existing Apache 
subprojects."?
4. Perhaps there is some show-stopper in the OJB design that will not lend 
itself to being used as the persistence layer. Although it sounds like the 
designs are aligned.
 
It really comes down to a build vs. buy, and in this case the price is $0.00 so 
it seems to be a no-brainer. Why not turn the proposal upside down: Use OJB as 
the default back-end persistence mechanism and lend your CMP 2.0 experience 
towards making OJB a better project as well?
 
cheers,
Matthew

        -----Original Message----- 
        From: Dain Sundstrom [mailto:[EMAIL PROTECTED] 
        Sent: Thu 8/7/2003 9:34 AM 
        To: Mahler Thomas 
        Cc: [EMAIL PROTECTED]; OJB Developers List (E-Mail) 
        Subject: Re: [persistence] Some thoughts regarding CMP and JDO
        
        

        Hello Thomas (and the rest of the OJB team),
        
        Jeremy Boynes and I (and a few others) wrote the CMP 2.0 implementation
        in JBoss, and we have been working on the persistence code in the
        initial Geronimo code base.
        
        There is some code right now (a compiler and sql generator) and a
        fairly extensive design, but it looks like we have similar designs. 
        The design is fairly simple from the high level.  We will support
        several front end layers simultaneously at runtime (CMP, JDO, maybe
        Hibernate, heck maybe SQL).   The job of the front end layer is to
        handle the life-cycle and callbacks required by the related
        specification, but all real work will be delegated to a centralized
        persistence service.  This persistence service handles caching,
        locking, versioning, clustering and so on.  When persistence service
        actually needs to manipulate data it delegates to a store manager
        service.  The target initial store managers include SQL 92, SQL 99,
        Oracle (which is not really SQL), file based (XML maybe), and we have
        plans to add LDAP, clustered database layer and some legacy systems. 
        The following ASCI picture sums this up (if it comes through):
        
                         ---------------
        CMP ----------> |             | ------> SQL
        JDP ----------> | persistence | ------> Oracle
        Hibernate ----> | manager     | ------> LDAP
                         |             | ------> CICS (whatever)
                         ---------------
        
        Now the persistence manager has a huge job, so it is broken down into
        plugins for caching, locking and so on, which effectively  makes the
        persistence manager just a coordinator of the plugins.
        
        Anyway, this is getting a little too technical for right now,
        considering the initial code doesn't even have Entity beans.  From what
        I have seen, we have a similar vision, and I think we should talk about
        merging our efforts into a common persistence engine (maybe we can even
        get Gavin and the Hibernate team to sync up with us).  I think it would
        be really positive for Java to at least have all of us at least talking
        so our systems can play well together, but if we joined forces....  :D
        
        -dain
        
        
        On Thursday, August 7, 2003, at 07:02 AM, Mahler Thomas wrote:
        
        > Hello all,
        >
        > I'm contacting you on behalf of the Apache OJB development team
        > (http://db.apache.org/ojb).
        > OJB is part of the Apache DB subproject and aims at providing first
        > class
        > standards based object relational mapping technology. We are currently
        > finalizing our 1.0 release.
        >
        > Our team is excited to have a complete J2EE implementation at Apache
        > and we
        > are willing to contribute to your project.
        >
        > OJB is heavily used in Tomcat, JBOSS and other application server
        > environments and supports JTA and JCA.
        > OJB provides special support for implementing BMP solutions easily.
        > It provides ODMG and JDO compliant APIs.
        >
        > That's why we feel that OJB is a natural choice if you are thinking
        > about a
        > persistence engine to implement CMP (and maybe JDO). We are willing to
        > integrate all necessary changes into our codebase.
        > Who is working on persistence concepts? Whom could we contact to get
        > involved into the respective discussions?
        > If you have any questions don't hesitate to contact me or the ojb
        > developer
        > mailing list.
        >
        > cheers and all the best for this new project,
        > Thomas Mahler
        >
        > OJB developer
        > mailto:[EMAIL PROTECTED]
        
        
        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [EMAIL PROTECTED]
        For additional commands, e-mail: [EMAIL PROTECTED]
        
        

Reply via email to