geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Bernard <>
Subject Re: [persistence] Some thoughts regarding CMP and JDO
Date Thu, 07 Aug 2003 20:59:42 GMT
Hum, some Reply-To issue

Emmanuel Bernard wrote:

> Hello Dain,
> I'm not a persistence expert but I missed some stuffs. Its looks like 
> the front end layer will delegate to the persistence manager and the 
> persistence manager will use several plugins (one implementation out 
> of n for each kind of plugin). What I missed is that Hibernate, for 
> example, seems to  be the persistence manager AND the plugins. I do 
> not know how to keep the plug-in architecture and still use such 
> persistence layers exept if Hibernate is hacked to conform to this 
> architecture.
> If I understand well, the architecture you propose is uniformisation 
> of peristence layer (the same stuff Avalon try to do with component 
> life-cycle). Am i right ?
> Emmanuel
> Dain Sundstrom wrote:
>> 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
>>> (
>>> 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

View raw message