You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Aaron Mulder <am...@alumni.princeton.edu> on 2005/07/20 00:53:54 UTC

GBean Granularity

	I was just poking around the Tomcat GBeans a little trying to get 
the broken test to work, and there seems to be a moderately complex 
structure there.  I'm not sure to what extent this is truly dynamic.  I 
mean, will you really want to fully customize the container, engine, 
hosts, connectors, valves, and so on?

	What's the feeling on making a coarser GBean that takes a lot of
configuration settings and then instantiates all the more detailed GBeans?  
I mean, we might be able to get by with a master Tomcat GBean with set of
more manageable configuration information like (ignoring the format):

tomcat.hosts=localhost,my-host-name
tomcat.http.enabled=true
tomcat.http.port=8080
tomcat.https.enabled=true
tomcat.https.port=8443
tomcat.ajp.enabled=false

	We not be able to fully eliminate valve chain GBeans and stuff, 
but it would be nicer if we had some more "deployer-like" code to set up 
the finicky bits based on a simpler set of configuration data.

	No urgency, I'm just wondering if there's a strong feeling in 
favor of very fine-grained GBean configuration in our plans.  It's 
certainly more flexible, but as the test goes to show, more fragile too.

Aaron

Re: GBean Granularity

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
Geir Magnusson Jr. wrote, On 7/20/2005 4:53 PM:

>
> On Jul 20, 2005, at 12:21 AM, Alan D. Cabrera wrote:
>
>> David Jencks wrote, On 7/20/2005 7:04 AM:
>>
>>
>>> I'm against making coarser grained gbeans for this.  In fact, I  
>>> would prefer to see gbeans for servlets, servlet mappings, and  
>>> filters as well.
>>>
>>
>> I like the idea of a coarser grained GBean for simpler  
>> configurations.  Are the reasons for your preference for these  
>> "detail" GBeans purely for management?
>>
>
> I like the idea too, for the user (and keep dealing with fine-grained  
> optional...)
>
>>
>>> If this is really a problem (i.e. it is something users will  
>>> actually want to configure rather than always using our setup) IMO  
>>> the way to fix it is with a specialized builder.  An example is  the 
>>> login config builder.
>>>
>>
>> I don't like the idea of GBeans being factories for other GBeans.   I 
>> think that the GBean configuration should be frozen at deployment  
>> time.  With that said, I like your preference for a specialized  
>> builder.
>
>
> So the builder would create any fine-grained beans that the user  
> didn't specify by default?

Yes, that was what I was thinking.


Regards,
Alan




Re: GBean Granularity

Posted by "Geir Magnusson Jr." <ge...@apache.org>.
On Jul 20, 2005, at 12:21 AM, Alan D. Cabrera wrote:

> David Jencks wrote, On 7/20/2005 7:04 AM:
>
>
>> I'm against making coarser grained gbeans for this.  In fact, I  
>> would prefer to see gbeans for servlets, servlet mappings, and  
>> filters as well.
>>
>
> I like the idea of a coarser grained GBean for simpler  
> configurations.  Are the reasons for your preference for these  
> "detail" GBeans purely for management?
>

I like the idea too, for the user (and keep dealing with fine-grained  
optional...)

>
>> If this is really a problem (i.e. it is something users will  
>> actually want to configure rather than always using our setup) IMO  
>> the way to fix it is with a specialized builder.  An example is  
>> the login config builder.
>>
>
> I don't like the idea of GBeans being factories for other GBeans.   
> I think that the GBean configuration should be frozen at deployment  
> time.  With that said, I like your preference for a specialized  
> builder.

So the builder would create any fine-grained beans that the user  
didn't specify by default?

geir

>
>
> Regards,
> Alan
>
>
>
>

-- 
Geir Magnusson Jr                                  +1-203-665-6437
geirm@apache.org



Re: GBean Granularity

Posted by David Blevins <da...@visi.com>.
On Jul 19, 2005, at 9:21 PM, Alan D. Cabrera wrote:

> David Jencks wrote, On 7/20/2005 7:04 AM:
>
>
>> I'm against making coarser grained gbeans for this.  In fact, I  
>> would prefer to see gbeans for servlets, servlet mappings, and  
>> filters as well.
>>
>
> I like the idea of a coarser grained GBean for simpler  
> configurations.  Are the reasons for your preference for these  
> "detail" GBeans purely for management?
>
>
>> If this is really a problem (i.e. it is something users will  
>> actually want to configure rather than always using our setup) IMO  
>> the way to fix it is with a specialized builder.  An example is  
>> the login config builder.
>>
>
> I don't like the idea of GBeans being factories for other GBeans.   
> I think that the GBean configuration should be frozen at deployment  
> time.  With that said, I like your preference for a specialized  
> builder.
>

Side note; our builders are GBeans.  They just take the long way when  
creating other GBeans :)

On topic, you guys realize this is a "problem" we are seeing over and  
over again; the best runtime design is not necessarily the best  
config/management perspective.

-David



Re: GBean Granularity

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
David Jencks wrote, On 7/20/2005 7:04 AM:

> I'm against making coarser grained gbeans for this.  In fact, I would 
> prefer to see gbeans for servlets, servlet mappings, and filters as well.

I like the idea of a coarser grained GBean for simpler configurations.  
Are the reasons for your preference for these "detail" GBeans purely for 
management?

> If this is really a problem (i.e. it is something users will actually 
> want to configure rather than always using our setup) IMO the way to 
> fix it is with a specialized builder.  An example is the login config 
> builder.

I don't like the idea of GBeans being factories for other GBeans.  I 
think that the GBean configuration should be frozen at deployment time.  
With that said, I like your preference for a specialized builder.


Regards,
Alan




Re: GBean Granularity

Posted by David Jencks <da...@yahoo.com>.
On Jul 19, 2005, at 4:14 PM, Aaron Mulder wrote:

> On Tue, 19 Jul 2005, David Jencks wrote:
>> I'm against making coarser grained gbeans for this.  In fact, I would
>> prefer to see gbeans for servlets, servlet mappings, and filters as
>> well.
>
> 	To clarify, I had in mind one master GBean that you configure in
> your plan, and it would create child GBeans for the stuff we have 
> GBeans
> for now (and potentially more) and hook them up to each other
> appropriately.  So I'm not proposing reducing the number of GBeans at
> runtime, just the number you need to manually wire up in your plans.  
> The
> "master" would read your config information and decide what "child" 
> GBeans
> to create and how to configure them and so on.

If we can find one gbean that is always present and there's only one of 
we might be able to write xml-reference builders to configure all the 
"detail" gbeans using a custom xml schema.  I'm hoping to find a few 
minutes to see if the xml-reference-builder idea can be extended to 
work outside a <gbean> element: if this works we could have a custom 
xml schema for the entire tomcat "server"

In any case, I think we should follow the current architecture and 
construct all the gbean configurations at deploy time, and not try to 
figure out what to do at runtime.

david jencks

>
> Aaron
>
>> If this is really a problem (i.e. it is something users will actually
>> want to configure rather than always using our setup) IMO the way to
>> fix it is with a specialized builder.  An example is the login config
>> builder.
>>
>>
>> david jencks
>> On Jul 19, 2005, at 3:53 PM, Aaron Mulder wrote:
>>
>>> 	I was just poking around the Tomcat GBeans a little trying to get
>>> the broken test to work, and there seems to be a moderately complex
>>> structure there.  I'm not sure to what extent this is truly dynamic. 
>>>  I
>>> mean, will you really want to fully customize the container, engine,
>>> hosts, connectors, valves, and so on?
>>>
>>> 	What's the feeling on making a coarser GBean that takes a lot of
>>> configuration settings and then instantiates all the more detailed
>>> GBeans?
>>> I mean, we might be able to get by with a master Tomcat GBean with 
>>> set
>>> of
>>> more manageable configuration information like (ignoring the format):
>>>
>>> tomcat.hosts=localhost,my-host-name
>>> tomcat.http.enabled=true
>>> tomcat.http.port=8080
>>> tomcat.https.enabled=true
>>> tomcat.https.port=8443
>>> tomcat.ajp.enabled=false
>>>
>>> 	We not be able to fully eliminate valve chain GBeans and stuff,
>>> but it would be nicer if we had some more "deployer-like" code to set
>>> up
>>> the finicky bits based on a simpler set of configuration data.
>>>
>>> 	No urgency, I'm just wondering if there's a strong feeling in
>>> favor of very fine-grained GBean configuration in our plans.  It's
>>> certainly more flexible, but as the test goes to show, more fragile
>>> too.
>>>
>>> Aaron
>>>
>>
>>
>


Re: GBean Granularity

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On Tue, 19 Jul 2005, David Jencks wrote:
> I'm against making coarser grained gbeans for this.  In fact, I would 
> prefer to see gbeans for servlets, servlet mappings, and filters as 
> well.

	To clarify, I had in mind one master GBean that you configure in
your plan, and it would create child GBeans for the stuff we have GBeans
for now (and potentially more) and hook them up to each other
appropriately.  So I'm not proposing reducing the number of GBeans at
runtime, just the number you need to manually wire up in your plans.  The 
"master" would read your config information and decide what "child" GBeans 
to create and how to configure them and so on.

Aaron

> If this is really a problem (i.e. it is something users will actually 
> want to configure rather than always using our setup) IMO the way to 
> fix it is with a specialized builder.  An example is the login config 
> builder.
> 
> 
> david jencks
> On Jul 19, 2005, at 3:53 PM, Aaron Mulder wrote:
> 
> > 	I was just poking around the Tomcat GBeans a little trying to get
> > the broken test to work, and there seems to be a moderately complex
> > structure there.  I'm not sure to what extent this is truly dynamic.  I
> > mean, will you really want to fully customize the container, engine,
> > hosts, connectors, valves, and so on?
> >
> > 	What's the feeling on making a coarser GBean that takes a lot of
> > configuration settings and then instantiates all the more detailed 
> > GBeans?
> > I mean, we might be able to get by with a master Tomcat GBean with set 
> > of
> > more manageable configuration information like (ignoring the format):
> >
> > tomcat.hosts=localhost,my-host-name
> > tomcat.http.enabled=true
> > tomcat.http.port=8080
> > tomcat.https.enabled=true
> > tomcat.https.port=8443
> > tomcat.ajp.enabled=false
> >
> > 	We not be able to fully eliminate valve chain GBeans and stuff,
> > but it would be nicer if we had some more "deployer-like" code to set 
> > up
> > the finicky bits based on a simpler set of configuration data.
> >
> > 	No urgency, I'm just wondering if there's a strong feeling in
> > favor of very fine-grained GBean configuration in our plans.  It's
> > certainly more flexible, but as the test goes to show, more fragile 
> > too.
> >
> > Aaron
> >
> 
> 

Re: GBean Granularity

Posted by David Jencks <dj...@gluecode.com>.
I'm against making coarser grained gbeans for this.  In fact, I would 
prefer to see gbeans for servlets, servlet mappings, and filters as 
well.

If this is really a problem (i.e. it is something users will actually 
want to configure rather than always using our setup) IMO the way to 
fix it is with a specialized builder.  An example is the login config 
builder.


david jencks
On Jul 19, 2005, at 3:53 PM, Aaron Mulder wrote:

> 	I was just poking around the Tomcat GBeans a little trying to get
> the broken test to work, and there seems to be a moderately complex
> structure there.  I'm not sure to what extent this is truly dynamic.  I
> mean, will you really want to fully customize the container, engine,
> hosts, connectors, valves, and so on?
>
> 	What's the feeling on making a coarser GBean that takes a lot of
> configuration settings and then instantiates all the more detailed 
> GBeans?
> I mean, we might be able to get by with a master Tomcat GBean with set 
> of
> more manageable configuration information like (ignoring the format):
>
> tomcat.hosts=localhost,my-host-name
> tomcat.http.enabled=true
> tomcat.http.port=8080
> tomcat.https.enabled=true
> tomcat.https.port=8443
> tomcat.ajp.enabled=false
>
> 	We not be able to fully eliminate valve chain GBeans and stuff,
> but it would be nicer if we had some more "deployer-like" code to set 
> up
> the finicky bits based on a simpler set of configuration data.
>
> 	No urgency, I'm just wondering if there's a strong feeling in
> favor of very fine-grained GBean configuration in our plans.  It's
> certainly more flexible, but as the test goes to show, more fragile 
> too.
>
> Aaron
>


Re: GBean Granularity

Posted by Jeff Genender <jg...@apache.org>.
Aaron Mulder wrote:
> 	I was just poking around the Tomcat GBeans a little trying to get 
> the broken test to work, and there seems to be a moderately complex 
> structure there.  

Yes it follows the Tomcat structure of the server.xml and context.xml.

I'm not sure to what extent this is truly dynamic.

It is dynamic, thats why you see the 
Container-->GBean--->Host(s)--->Context(s) structure.  You can mix and 
match...add additional hosts (for virtualization), etc.  It also allows 
you to make pluggable Realms, Valves, etc.

> I mean, will you really want to fully customize the container, engine, 
> hosts, connectors, valves, and so on?

Yes...this is one of the powerful facets of Tomcat.  Altering Realms is 
one of the biggest uses of Tomcat.

> 
> 	What's the feeling on making a coarser GBean that takes a lot of
> configuration settings and then instantiates all the more detailed GBeans?  
> I mean, we might be able to get by with a master Tomcat GBean with set of
> more manageable configuration information like (ignoring the format):
> 
> tomcat.hosts=localhost,my-host-name
> tomcat.http.enabled=true
> tomcat.http.port=8080
> tomcat.https.enabled=true
> tomcat.https.port=8443
> tomcat.ajp.enabled=false
> 
> 	We not be able to fully eliminate valve chain GBeans and stuff, 
> but it would be nicer if we had some more "deployer-like" code to set up 
> the finicky bits based on a simpler set of configuration data.

Yes...in this instance its doable.  As you stated though, the Valves, 
Realms, etc, would be difficult to do.

> 
> 	No urgency, I'm just wondering if there's a strong feeling in 
> favor of very fine-grained GBean configuration in our plans.  It's 
> certainly more flexible, but as the test goes to show, more fragile too.

The test break was my fault...I caught a bug...I'll have it fixed shortly.

> 
> Aaron

Jeff
-- 
Jeff Genender
http://geronimo.apache.org