You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by EP...@upstate.com on 2003/04/18 15:33:57 UTC

Avalon Components..

Has anyone actually converted some components to Avalon components in the
Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
duplicating the existing services, or trying to do it as a Avalon component.
Am I correct is assuming that the Torque component is a fulcrum component,
not a Avalon component, and thus is a bad pattern to use?

ERic Pugh

RE: Avalon Components..

Posted by Quinton McCombs <qm...@nequalsone.com>.
I haven't looked at the code yet but this sounds really good!

--------------------------------------------
Quinton McCombs
NequalsOne - HealthCare marketing tools
mailto:qmccombs@NequalsOne.com
http://www.NequalsOne.com 

> -----Original Message-----
> From: Leandro Rodrigo Saad Cruz [mailto:leandro@ibnetwork.com.br] 
> Sent: Friday, April 18, 2003 8:53 AM
> To: Turbine Developers List
> Subject: Re: Avalon Components..
> 
> 
> On Fri, 2003-04-18 at 10:33, EPugh@upstate.com wrote:
> > Has anyone actually converted some components to Avalon 
> components in 
> > the Turbine-2 cvs repo?  I want to add a hibernate service, and am 
> > debating duplicating the existing services, or trying to do it as a 
> > Avalon component. Am I correct is assuming that the Torque 
> component 
> > is a fulcrum component, not a Avalon component, and thus is a bad 
> > pattern to use?
> > 
> > ERic Pugh
> 
> Hi Eric.. I've just developed a PersistenceManager component 
> using OJB and was planning to implement it using hibernate too. The 
> 
> PersistenceManager implementations are avalon componentes !
> 
> Do you want to have a look at the interface I have created ?
> I managed to separate completly this interface from OJB. Hope 
> we can use it with Hibernate and other OR tools ! 
> OJBPersistenceManagerImpl is composed by other components 
> like Logger and ObjectFactory ( see xingu bellow )
> 
> 
> (right now it is called BusinessObjectManager, but I will 
> rename it to PersistenceManager as soon as I move it from an 
> app to my own repository of components called xingu)
> 
> See interface bellow:
> 
> -- 
> Leandro Rodrigo Saad Cruz
> IT - Inter Business Tecnologia e Servicos (IB) 
> http://www.ibnetwork.com.br > http://jakarta.apache.org/ojb
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


Re: Avalon Components..

Posted by Leandro Rodrigo Saad Cruz <le...@ibnetwork.com.br>.
On Fri, 2003-04-18 at 10:33, EPugh@upstate.com wrote:
> Has anyone actually converted some components to Avalon components in the
> Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
> duplicating the existing services, or trying to do it as a Avalon component.
> Am I correct is assuming that the Torque component is a fulcrum component,
> not a Avalon component, and thus is a bad pattern to use?
> 
> ERic Pugh

Hi Eric.. I've just developed a PersistenceManager component using OJB
and was planning to implement it using hibernate too. The 

PersistenceManager implementations are avalon componentes !

Do you want to have a look at the interface I have created ?
I managed to separate completly this interface from OJB. Hope we can use
it with Hibernate and other OR tools !
OJBPersistenceManagerImpl is composed by other components like Logger
and ObjectFactory ( see xingu bellow )


(right now it is called BusinessObjectManager, but I will rename it to
PersistenceManager as soon as I move it from an app to my own repository
of components called xingu)

See interface bellow:

-- 
Leandro Rodrigo Saad Cruz
IT - Inter Business Tecnologia e Servicos (IB)
http://www.ibnetwork.com.br
http://jakarta.apache.org/ojb

Re: Avalon Components..

Posted by Leandro Rodrigo Saad Cruz <le...@ibnetwork.com.br>.
On 20 Apr 2003 00:34:57 -0400, Jason van Zyl <ja...@zenplex.com> escreveu :

> De: Jason van Zyl <ja...@zenplex.com>
> Data: 20 Apr 2003 00:34:57 -0400
> Para: Turbine Developers List <tu...@jakarta.apache.org>
> Assunto: Re: Avalon Components..
> 
> On Fri, 2003-04-18 at 13:42, Leandro Rodrigo Saad Cruz wrote:
> > Hi Jason.Did you look at the code I sent on my previous email ?
> > 
> > Do you think we can merge our component base ?
> 
> Sure, that would be cool with me.
> 
> > Right now I have :
> > 
> > OJBComponent 	: almost the same as yours
> > Logger 		: self explanatory
> > ObjectFactory:	: used to create objects with specialized Factories
> > PersistenceManager : manages business objects
> >                      lookup/insert/update/delete
> 
> Up to here looks good.
> 
> > UserManager	: special manager for users
> > ACLManager	: manages Access Control Lists
> > 
> > Planned Components
> > 
> > SecurityManager	: manages security
> 
> None of the above belongs in a persistence service per se. Security is
> an entirely separate concern.
> 
> The only problem I see is trying to create an over all contract for
> persistence that can be applied to O/R layers. I think the components
> should be developed separately first and then see what overlaps. I think
> you're going to have problems trying to design a contract that works for
> everything while taking into consideration any special features of the
> O/R in question. The other problem is query models, right off the hop
> you have three APIs for OJB, torque's is different and I imagine
> Hiberates is different or does it use OQL or ODMG? I've never looked at
> Hibernate.
> 
> Once you have created functioning separate components you could then
> create another component that is an intersection of everything commons
> if that's what you really want. Starting at first trying to accomodate
> the attributes of all the O/R layers into a single contract would be a
> mistake.

I agree with you. In fact I'm not trying to create the 'final' contract that abstracts the features of all persistence 
apis/tools. I just want to have a component to handle simple persistence (agile, RAD, etc )

> 
> Leandro, you're welcome to have access in the Plexus repository if you
> want to work on the OJB component there.

I'd like to add my components to plexus-component repository !

> 
> Something else which might be of interest is that I have create a little
> tool that will take a regular bean/component and generate an mbean
> (mbean proxy + mbean interface the proxy needs to implement). So no
> making crappy mbean interfaces or using a doclet approach to generating
> mbean interfaces. The approach uses bcel to create the proxy + mbean
> interface and a synthetic classloader to bring the generated classes to
> life in memory. The approach is not ideal yet, but according to mx4j's
> validation methods I'm generating valid mbeans. Any options are
> possible, but the upshot is that we would pretty much have instant
> management via JMX with a little fine tuning.

:-) this is really cool !

> 
> > 
> > 
> > On Fri, 2003-04-18 at 12:44, Jason van Zyl wrote:
> > > On Fri, 2003-04-18 at 09:33, EPugh@upstate.com wrote:
> > > > Has anyone actually converted some components to Avalon components in the
> > > > Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
> > > > duplicating the existing services, or trying to do it as a Avalon component.
> > > > Am I correct is assuming that the Torque component is a fulcrum component,
> > > > not a Avalon component, and thus is a bad pattern to use?
> > > 
> > > http://cvs.werken.com/viewcvs.cgi/fulcrum/?cvsroot=plexus
> > > 
> > > That's the start of the Fulcrum services and Quinton said he would
> > > back/forward port any of the differences.
> > > 
> > > > ERic Pugh
> > > -- 
> > > jvz.
> > > 
> > > Jason van Zyl
> > > jason@zenplex.com
> > > http://tambora.zenplex.org
> > > 
> > > In short, man creates for himself a new religion of a rational
> > > and technical order to justify his work and to be justified in it.
> > >   
> > >   -- Jacques Ellul, The Technological Society
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
> > > 
> > > 
> -- 
> jvz.
> 
> Jason van Zyl
> jason@zenplex.com
> http://tambora.zenplex.org
> 
> In short, man creates for himself a new religion of a rational
> and technical order to justify his work and to be justified in it.
>   
>   -- Jacques Ellul, The Technological Society
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
> 
> 
> 
> 

--
Leandro Rodrigo Saad Cruz
IT - Inter Business Tecnologia e
Servicos (IB)
http://www.ibnetwork.com.br
http://jakarta.apache.org/ojb


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


Re: Avalon Components..

Posted by Jason van Zyl <ja...@zenplex.com>.
On Fri, 2003-04-18 at 13:42, Leandro Rodrigo Saad Cruz wrote:
> Hi Jason.Did you look at the code I sent on my previous email ?
> 
> Do you think we can merge our component base ?

Sure, that would be cool with me.

> Right now I have :
> 
> OJBComponent 	: almost the same as yours
> Logger 		: self explanatory
> ObjectFactory:	: used to create objects with specialized Factories
> PersistenceManager : manages business objects
>                      lookup/insert/update/delete

Up to here looks good.

> UserManager	: special manager for users
> ACLManager	: manages Access Control Lists
> 
> Planned Components
> 
> SecurityManager	: manages security

None of the above belongs in a persistence service per se. Security is
an entirely separate concern.

The only problem I see is trying to create an over all contract for
persistence that can be applied to O/R layers. I think the components
should be developed separately first and then see what overlaps. I think
you're going to have problems trying to design a contract that works for
everything while taking into consideration any special features of the
O/R in question. The other problem is query models, right off the hop
you have three APIs for OJB, torque's is different and I imagine
Hiberates is different or does it use OQL or ODMG? I've never looked at
Hibernate.

Once you have created functioning separate components you could then
create another component that is an intersection of everything commons
if that's what you really want. Starting at first trying to accomodate
the attributes of all the O/R layers into a single contract would be a
mistake.

Leandro, you're welcome to have access in the Plexus repository if you
want to work on the OJB component there.

Something else which might be of interest is that I have create a little
tool that will take a regular bean/component and generate an mbean
(mbean proxy + mbean interface the proxy needs to implement). So no
making crappy mbean interfaces or using a doclet approach to generating
mbean interfaces. The approach uses bcel to create the proxy + mbean
interface and a synthetic classloader to bring the generated classes to
life in memory. The approach is not ideal yet, but according to mx4j's
validation methods I'm generating valid mbeans. Any options are
possible, but the upshot is that we would pretty much have instant
management via JMX with a little fine tuning.

> 
> 
> On Fri, 2003-04-18 at 12:44, Jason van Zyl wrote:
> > On Fri, 2003-04-18 at 09:33, EPugh@upstate.com wrote:
> > > Has anyone actually converted some components to Avalon components in the
> > > Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
> > > duplicating the existing services, or trying to do it as a Avalon component.
> > > Am I correct is assuming that the Torque component is a fulcrum component,
> > > not a Avalon component, and thus is a bad pattern to use?
> > 
> > http://cvs.werken.com/viewcvs.cgi/fulcrum/?cvsroot=plexus
> > 
> > That's the start of the Fulcrum services and Quinton said he would
> > back/forward port any of the differences.
> > 
> > > ERic Pugh
> > -- 
> > jvz.
> > 
> > Jason van Zyl
> > jason@zenplex.com
> > http://tambora.zenplex.org
> > 
> > In short, man creates for himself a new religion of a rational
> > and technical order to justify his work and to be justified in it.
> >   
> >   -- Jacques Ellul, The Technological Society
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
> > 
> > 
-- 
jvz.

Jason van Zyl
jason@zenplex.com
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


Re: Avalon Components..

Posted by Leandro Rodrigo Saad Cruz <le...@ibnetwork.com.br>.
Hi Jason.Did you look at the code I sent on my previous email ?

Do you think we can merge our component base ?

Right now I have :

OJBComponent 	: almost the same as yours
Logger 		: self explanatory
ObjectFactory:	: used to create objects with specialized Factories
PersistenceManager : manages business objects
                     lookup/insert/update/delete

UserManager	: special manager for users
ACLManager	: manages Access Control Lists

Planned Components

SecurityManager	: manages security



On Fri, 2003-04-18 at 12:44, Jason van Zyl wrote:
> On Fri, 2003-04-18 at 09:33, EPugh@upstate.com wrote:
> > Has anyone actually converted some components to Avalon components in the
> > Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
> > duplicating the existing services, or trying to do it as a Avalon component.
> > Am I correct is assuming that the Torque component is a fulcrum component,
> > not a Avalon component, and thus is a bad pattern to use?
> 
> http://cvs.werken.com/viewcvs.cgi/fulcrum/?cvsroot=plexus
> 
> That's the start of the Fulcrum services and Quinton said he would
> back/forward port any of the differences.
> 
> > ERic Pugh
> -- 
> jvz.
> 
> Jason van Zyl
> jason@zenplex.com
> http://tambora.zenplex.org
> 
> In short, man creates for himself a new religion of a rational
> and technical order to justify his work and to be justified in it.
>   
>   -- Jacques Ellul, The Technological Society
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: turbine-dev-help@jakarta.apache.org
> 
> 
-- 
Leandro Rodrigo Saad Cruz
IT - Inter Business Tecnologia e Servicos (IB)
http://www.ibnetwork.com.br
http://jakarta.apache.org/ojb


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


RE: Avalon Components..

Posted by Quinton McCombs <qm...@nequalsone.com>.
So I could basically create a diff from the plexus version of Fulcrum
and Apache's version to come up with a patch to update Apache's CVS?

--------------------------------------------
Quinton McCombs
NequalsOne - HealthCare marketing tools
mailto:qmccombs@NequalsOne.com
http://www.NequalsOne.com 

> -----Original Message-----
> From: Jason van Zyl [mailto:jason@zenplex.com] 
> Sent: Friday, April 18, 2003 10:45 AM
> To: Turbine Developers List
> Subject: Re: Avalon Components..
> 
> 
> On Fri, 2003-04-18 at 09:33, EPugh@upstate.com wrote:
> > Has anyone actually converted some components to Avalon 
> components in 
> > the Turbine-2 cvs repo?  I want to add a hibernate service, and am 
> > debating duplicating the existing services, or trying to do it as a 
> > Avalon component. Am I correct is assuming that the Torque 
> component 
> > is a fulcrum component, not a Avalon component, and thus is a bad 
> > pattern to use?
> 
http://cvs.werken.com/viewcvs.cgi/fulcrum/?cvsroot=plexus

That's the start of the Fulcrum services and Quinton said he would
back/forward port any of the differences.

> ERic Pugh
-- 
jvz.

Jason van Zyl
jason@zenplex.com
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational and
technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


Re: Avalon Components..

Posted by Jason van Zyl <ja...@zenplex.com>.
On Fri, 2003-04-18 at 09:33, EPugh@upstate.com wrote:
> Has anyone actually converted some components to Avalon components in the
> Turbine-2 cvs repo?  I want to add a hibernate service, and am debating
> duplicating the existing services, or trying to do it as a Avalon component.
> Am I correct is assuming that the Torque component is a fulcrum component,
> not a Avalon component, and thus is a bad pattern to use?

http://cvs.werken.com/viewcvs.cgi/fulcrum/?cvsroot=plexus

That's the start of the Fulcrum services and Quinton said he would
back/forward port any of the differences.

> ERic Pugh
-- 
jvz.

Jason van Zyl
jason@zenplex.com
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org


RE: Avalon Components..

Posted by Quinton McCombs <qm...@nequalsone.com>.
Torque if not a component at all.  It implements the stratum interfaces
but the design of Torque itself is definitely not component.

I you want a pattern for an Avalon component read the "Developing with
Avalon" doc from the avalon site.

--------------------------------------------
Quinton McCombs
NequalsOne - HealthCare marketing tools
mailto:qmccombs@NequalsOne.com
http://www.NequalsOne.com 

> -----Original Message-----
> From: EPugh@upstate.com [mailto:EPugh@upstate.com] 
> Sent: Friday, April 18, 2003 8:34 AM
> To: turbine-dev@jakarta.apache.org
> Subject: Avalon Components..
> 
> 
> Has anyone actually converted some components to Avalon 
> components in the Turbine-2 cvs repo?  I want to add a 
> hibernate service, and am debating duplicating the existing 
> services, or trying to do it as a Avalon component. Am I 
> correct is assuming that the Torque component is a fulcrum 
> component, not a Avalon component, and thus is a bad pattern to use?
> 
> ERic Pugh
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org