geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mahler Thomas <thomas.mah...@itellium.com>
Subject RE: [persistence] Some thoughts regarding CMP and JDO
Date Fri, 08 Aug 2003 11:22:02 GMT
Hi Dain,


> Most persistence engines are designed as a single unit. I personally 
> would like to open up the internals so other programmers with 
> new ideas 
> can come along and rewrite a single plugin without having to take on 
> the entire system.  Also the plugins are useful as standalone 
> services. 

That's exactly the OJB design! We allow to plugin user-defined components as
replacements for standard components.
This component mechanism affects all relevant sections like SQL generation,
Support for different Database platforms, SequenceNumber generation, Caching
etc...
Our component architecture can easily mapped to Avalon components.

>   For example a the design includes a cluster aware 
> distributed cache, 
> which will be useful to may other parts of the system.  The 
> real trick 
> it to keep the system decoupled so components can be easily swapped, 
> while keeping it easy to configure and use.

That's exactly the OJB approach.

cheers,
Thomas

> 
> For other persistence frameworks, I think we will be able to 
> share and 
> swap implementations of plugins or at least design ideas.
> 
> -dain
> 
> On Thursday, August 7, 2003, at 03:59 PM, Emmanuel Bernard wrote:
> 
> > 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
> >>>> (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:thma@apache.org
> >>>
> >>>
> >>>
> >>
> >>
> >
> >
> >
> 
> /*************************
>   * Dain Sundstrom
>   * Partner
>   * Core Developers Network
>   *************************/
> 
> 


Mime
View raw message