You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Pete Carapetyan <pe...@datafundamentals.com> on 2002/06/20 21:46:19 UTC

Make your stand now - Is Avalon for more than ReUse ?

Submitted this question within <flamebait/> earlier, but it got ignored. 
It needs to be answered.

Is Avalon for ANY other purpose than *Component Re-Use* or not? That is 
certainly my only interest. It is arguably what attracts most people to 
it? True or false?

If it is, then Berin's excellent viewpoints on simplicity and ease of 
use may still be valid, and it seems much more likely that an easy to 
learn, easy to code version of Avalon is still quite possible, or at 
least that a ratched complexity model of behaviour is attainable.

If not, then what other purposes does Avalon serve? For example, if a 
component was NOT going to be re-used on another project, is there any 
reason whatsoever to Avalon it or should it just be instantiated as any 
other OO object ? Is Avalon then becoming complex and difficult to learn 
and use because of the inherently complex objectives, or is because it's 
objectives aren't clear, so a shotgun approach is required to make sure 
that every avenue is accounted for? What a nightmare.

Without a very clear objective, solving it keeps appearing to be 
possible, but then evaporates as the details are discussed, not because 
of the details themselves, but because the participants are trying to 
solve different problems. It's a pot of gold at the end of a rainbow - 
closer you get..... Hence Stefano's commentary on Cocoon using Avalon 
where it shouldn't be used in the first place.

Mark Shepard, a suit from TI was credited with the saying that "More 
than two objectives is no objectives at all".

If you don't know where you are going, any road will get you there. 
Someone else said that.

*Component Re-Use*. Is that the only objective or not? True or False. 
Make your stand now, and then stick to it.

Not fair to cite SoC or IoC or Separation of Interface and 
Implementation. They still make sense, but only because the objective is 
assumed as common sense.






--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Stephen McConnell <mc...@osm.net>.

Pete Carapetyan wrote:

> Submitted this question within <flamebait/> earlier, but it got 
> ignored. It needs to be answered.
>
> Is Avalon for ANY other purpose than *Component Re-Use* or not? That 
> is certainly my only interest. It is arguably what attracts most 
> people to it? True or false?


Form the point of view of the internal architecture of our (OSM) 
devleopment, Avalon component *resuse* is not an absolute factor.  There 
are many situations where I am dealing with families of components 
within which I'm introducing behaviours that our outside of classic 
resuable components.  There are other cases - components intended to be 
*reused* as standalone services - but my usage of the work standalone is 
in the context of a formal component model - one in which "standalone* 
allows me to formally declare dependecies - formally declare services - 
in effect to formally declare how my component will successfull work 
with other formally declared components.

I do want reusable component from Avalon and I think this is 
fundimentally important. I also believe that the framework can provide 
much more than this - but if I had to back one single objective it would 
be reuse.

Cheers, Steve.

-- 

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:mcconnell@osm.net
http://www.osm.net




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Michael Stanley <ms...@mitre.org>.
My quick 2 cents  ->

I've followed the Avalon project (quitely) for some time.  I've 
experienced its use with projects like James and Cocoon, both of which 
I'm very familiar with.  I recently read all there is to read about 
Avalon (as I plan to use it on my new work project), including the 
source.  Let me say first off that I'm very impressed with the project, 
its goals, and its overall design.

To me Avalon is much more that Component Re-Use.  Avalon is a prime 
example of good software engineer and good OO practice.  It is a great 
patterns reference, and model for all component oriented programming.
Component Re-use is just an added benefit.

<Mike/>

Pete Carapetyan wrote:
> Submitted this question within <flamebait/> earlier, but it got ignored. 
> It needs to be answered.
> 
> Is Avalon for ANY other purpose than *Component Re-Use* or not? That is 
> certainly my only interest. It is arguably what attracts most people to 
> it? True or false?
> 
> If it is, then Berin's excellent viewpoints on simplicity and ease of 
> use may still be valid, and it seems much more likely that an easy to 
> learn, easy to code version of Avalon is still quite possible, or at 
> least that a ratched complexity model of behaviour is attainable.
> 
> If not, then what other purposes does Avalon serve? For example, if a 
> component was NOT going to be re-used on another project, is there any 
> reason whatsoever to Avalon it or should it just be instantiated as any 
> other OO object ? Is Avalon then becoming complex and difficult to learn 
> and use because of the inherently complex objectives, or is because it's 
> objectives aren't clear, so a shotgun approach is required to make sure 
> that every avenue is accounted for? What a nightmare.
> 
> Without a very clear objective, solving it keeps appearing to be 
> possible, but then evaporates as the details are discussed, not because 
> of the details themselves, but because the participants are trying to 
> solve different problems. It's a pot of gold at the end of a rainbow - 
> closer you get..... Hence Stefano's commentary on Cocoon using Avalon 
> where it shouldn't be used in the first place.
> 
> Mark Shepard, a suit from TI was credited with the saying that "More 
> than two objectives is no objectives at all".
> 
> If you don't know where you are going, any road will get you there. 
> Someone else said that.
> 
> *Component Re-Use*. Is that the only objective or not? True or False. 
> Make your stand now, and then stick to it.
> 
> Not fair to cite SoC or IoC or Separation of Interface and 
> Implementation. They still make sense, but only because the objective is 
> assumed as common sense.
> 
> 
> 
> 
> 
> 
> -- 
> To unsubscribe, e-mail:   
> <ma...@jakarta.apache.org>
> For additional commands, e-mail: 
> <ma...@jakarta.apache.org>
> 


-- 
<Mike/>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Make your stand now - Is Avalon for more than ReUse ?

Posted by Peter Donald <pe...@apache.org>.
At 10:29 PM 6/22/2002 -0400, you wrote:
> > Anyone can make something awkward and complex. It is true art to make it
> > simple again. (don't look at me, I'm no artist either.).
>
>To draw inspiration from the French writer Antoine de Saint-Exupery:
>
>   La perfection est atteinte non quand il ne reste rien a ajouter,
>   mais quand il ne reste rien a enlever.
>
>   Perfection is achieved, not when there is nothing more to add,
>   but when there is nothing left to take away.


I like. I do believe I just aquired a new email sig ;)


Cheers,

Peter Donald
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Faced with the choice between changing one's mind,
and proving that there is no need to do so - almost
everyone gets busy on the proof."
              - John Kenneth Galbraith
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Make your stand now - Is Avalon for more than ReUse ?

Posted by Berin Loritsch <bl...@apache.org>.
> From: Leo Simons [mailto:leosimons@apache.org] 
> 
> The core framework Avalon promotes and facilitates is 
> appropriate wherever you write java software. It would also 
> be appropriate in C#,
> C++ (if it were feasible, which it is probably not).

It is feasible, but it is also more difficult.  You have to worry
about shared library support, name mangling, etc.  The way out
of the Interface issue is to use pure virtual classes.  There are
other sticking points, but they are resolvable.

One thing that C++ has going for it is algorithmic programming
(templates/generics), which Java does not do well at all.

However, that is neither here nor there.  You do need a modern
C++ compiler with proper support for Exceptions and RunTime Type
Identification (RTTI).



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Leo Simons <le...@apache.org>.
On Fri, 2002-06-21 at 00:08, Pete Carapetyan wrote:
> >>What are the objectives, if they are more than re-use? Can you identify 
> >>them?
> >>    
> >>
> >
> >stuff like:
> >
> >- clean code
> >- common program flow in code
> >- instant well-designed architecture
> >- speed
> >
> True, but hardly unique to the goals of Avalon. These are goals of any 
> good software. Non COP coders claim these objectives as well, and the 
> 2nd and 3rd are also attributes of Re-Use as well as mutually exclusive 
> objectives.

the difference: we accomplish them better ;)

> Berin is on the money. The use cases are the key. What are the use cases 
> for Avalon? What are use cases where Avalon is not appropriate? What is 
> the common thread for each.

The core framework Avalon promotes and facilitates is appropriate
wherever you write java software. It would also be appropriate in C#,
C++ (if it were feasible, which it is probably not).

AspectJ has gone down the route of providing an extension to the core
java language. Avalon could have been implemented that way as well;
which we haven't done for obvious reasons.

use cases for avalon framework: any software
use cases for avalon excalibur: any server-like software
use cases for avalon phoenix: server software, server software
frameworks
use cases for avalon fortress: server software

Hence the extreme difficulty in coming up with the framework interfaces
and contracts. All use cases are valid, the only thing that can be bad
is how to satisfy the use cases.

Only when you talk about more specific bits than you are hinting at (for
example, valid use cases for the Composable interface), can a little
more concrete discussion take place.

regards,

- Leo



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Make your stand now - Is Avalon for more than ReUse ?

Posted by "Gonzalo A. Diethelm" <go...@vtr.net>.
> Anyone can make something awkward and complex. It is true art to make it 
> simple again. (don't look at me, I'm no artist either.).

To draw inspiration from the French writer Antoine de Saint-Exupery:

  La perfection est atteinte non quand il ne reste rien a ajouter,
  mais quand il ne reste rien a enlever.

  Perfection is achieved, not when there is nothing more to add,
  but when there is nothing left to take away.


-- 
Gonzalo A. Diethelm
gonzalo.diethelm@aditiva.com


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Pete Carapetyan <pe...@datafundamentals.com>.
Leo Simons wrote:

>>What are the objectives, if they are more than re-use? Can you identify 
>>them?
>>    
>>
>
>stuff like:
>
>- clean code
>- common program flow in code
>- instant well-designed architecture
>- speed
>
True, but hardly unique to the goals of Avalon. These are goals of any 
good software. Non COP coders claim these objectives as well, and the 
2nd and 3rd are also attributes of Re-Use as well as mutually exclusive 
objectives.

><snip/>
>
>What you ask thus is "what are the objects of software architecture
>design?" and "what are the benefits of component libraries?" The answers
>are all over the place; many apply to avalon.
>
I guess I keep trying to differentiate between atttributes of good 
design, and specific objectives that differentiate the Avalon Framework 
from OO design. Most of these things, including all the patterns in use 
throughout the industry are all fantastic patterns and Avalon should 
have them too, as great attributes. But they are not the primary unique 
objective, as can be observed by viewing the defined by use cases, and 
by the fact that they apply equally to straight OO as to Avalon, which 
is anything but straight OO.

Berin is on the money. The use cases are the key. What are the use cases 
for Avalon? What are use cases where Avalon is not appropriate? What is 
the common thread for each.

If Peter Donald says that xxx is a stupid thing, and Stefano says yeah, 
that was pretty stupid, I agree, and he was the only one using xxxx, 
then it is a bad use case and attempting to accomodate it into the 
pattern at the expense of making the entire framework un-necessarily 
complex is pretty stupid. At least from that viewpoint. So you dumb it 
back down and quit trying to do something that is not the primary 
objective anyway. Seems something that Spock would +1 for.

Simplification is not just a silly excercise, because what Berin has 
vocalized very well is the possibility for clean, well articulated 
design that can be adopted by less than geniuses. It may piss the 
geniuses off, they may want to be the only ones who understand it, but 
that's not the goal. What has been said here about "pretty soon it 
becomes another whole language unto itself" is true. The geniuses may 
not want to let their baby out of the lab. So be it. The goal is to get 
it down to the essence. Then add each complexity only as needed, and in 
direct relation to each value gained. Surely that is a doable deal.

Doesn't mean there would be plenty of chances for fun arguments and lots 
of brandishing of very fancy swordsmanship. It is a belief that the 
framework can be reduced to it's essence first, and made understandable 
and syntactically secure, and then the swordsmanship can happen at the 
edges where it doesn't keep the core of A5 from the 99% of programmers 
who would love to share components if it were reduced to it's essence 
first, but won't because it isn't yet.

Anyone can make something awkward and complex. It is true art to make it 
simple again. (don't look at me, I'm no artist either.).

I've said it before. I'll say it again. Current Avalon developers have 
much much more of a cool thing here than they appear to grok. If you can 
make the move that Berin has hinted at, it could be a lot of fun for 
more than just you, and not at your expense either. But someone has to 
want it. I guess that would have to include me, because I would like to 
see this thing settle down into that very place. It can be done.

Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Leo Simons <le...@apache.org>.
> What are the objectives, if they are more than re-use? Can you identify 
> them?

stuff like:

- clean code
- common program flow in code
- instant well-designed architecture
- speed

etc etc. I doesn't matter that much to me whether you reuse stuff I
write at all. I care about well-designed software. Reuse is an added
benefit.

The benefits of using avalon are partially the same as those of reuse,
RAD, etc. Partially, they are the same as those of Design Patterns.

Basically, avalon is about (a common) java server software architecture
(like all frameworks are about defining a common architecture) on the
one hand, and about providing specific parts of that server architecture
on the other hand (like all component libraries).

What you ask thus is "what are the objects of software architecture
design?" and "what are the benefits of component libraries?" The answers
are all over the place; many apply to avalon.

- Leo Simons



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Stephen McConnell <mc...@osm.net>.

Nicola Ken Barozzi wrote:

>
>
> Pete Carapetyan wrote:
>
>> Leo Simons wrote:
>>
>>>> Not fair to cite SoC or IoC or Separation of Interface and 
>>>> Implementation. They still make sense, but only because the 
>>>> objective is assumed as common sense.
>>>>   
>>>
>>>
>>>
>>> that's your stance on it.
>>>  
>>>
>> Not much of a stance, as stance implies that I believe in what I am 
>> saying. More like a tentative viewpoint looking for opposing 
>> clarifications.
>>
>> I must an attempt to separate what from how. I get lost in the how, 
>> fried my brain in a previous life. So now I have to be very careful 
>> to separate what from how, otherwise I get stuck in how and lose 
>> track of what. Happens to others also, I've noticed.
>>
>> Berin is right on. He keeps trying to bring it back to the use cases. 
>> They all seem like re-use to me. But my handicap has already been 
>> identified, maybe brighter folks can point out other objectives than 
>> I am seeing.
>>
>> What are the objectives, if they are more than re-use? Can you 
>> identify them?
>
>
> Avalon is an API that, correctly implemented and used, makes better, 
> cleaner, easier and more manageable software.
>
> -Better: it enforces good programming practices: IOC, SOC, etc---
> -Cleaner: COP
> -Easier: intuitive and clean APIS
> -Manageable: Component-Container
>
> It has reference implementation of components that help implement it 
> (Excalibur), and a reference implementation of a server (since we're 
> at Apache, let's not forget it ;-)
>
> I started using Avalon API in an app of mine that din't use it at 
> first, and in 2 days I found myself, without understanding really why, 
> with a really cool system. The API really enforced good practices!
>
> The power of Avalon is in the API.
> That's why we fight (we are knights) over the API, rarely over the 
> implementations.
>
+1
You can post this!

-- 

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:mcconnell@osm.net
http://www.osm.net




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Nicola Ken Barozzi <ni...@apache.org>.

Pete Carapetyan wrote:
> Leo Simons wrote:
> 
>>> Not fair to cite SoC or IoC or Separation of Interface and 
>>> Implementation. They still make sense, but only because the objective 
>>> is assumed as common sense.
>>>   
>>
>>
>> that's your stance on it.
>>  
>>
> Not much of a stance, as stance implies that I believe in what I am 
> saying. More like a tentative viewpoint looking for opposing 
> clarifications.
> 
> I must an attempt to separate what from how. I get lost in the how, 
> fried my brain in a previous life. So now I have to be very careful to 
> separate what from how, otherwise I get stuck in how and lose track of 
> what. Happens to others also, I've noticed.
> 
> Berin is right on. He keeps trying to bring it back to the use cases. 
> They all seem like re-use to me. But my handicap has already been 
> identified, maybe brighter folks can point out other objectives than I 
> am seeing.
> 
> What are the objectives, if they are more than re-use? Can you identify 
> them?

Avalon is an API that, correctly implemented and used, makes better, 
cleaner, easier and more manageable software.

-Better: it enforces good programming practices: IOC, SOC, etc---
-Cleaner: COP
-Easier: intuitive and clean APIS
-Manageable: Component-Container

It has reference implementation of components that help implement it 
(Excalibur), and a reference implementation of a server (since we're at 
Apache, let's not forget it ;-)

I started using Avalon API in an app of mine that din't use it at first, 
and in 2 days I found myself, without understanding really why, with a 
really cool system. The API really enforced good practices!

The power of Avalon is in the API.
That's why we fight (we are knights) over the API, rarely over the 
implementations.

-- 
Nicola Ken Barozzi                   nicolaken@apache.org
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)
---------------------------------------------------------------------


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Pete Carapetyan <pe...@datafundamentals.com>.
Leo Simons wrote:

>>Not fair to cite SoC or IoC or Separation of Interface and 
>>Implementation. They still make sense, but only because the objective is 
>>assumed as common sense.
>>    
>>
>
>that's your stance on it.
>  
>
Not much of a stance, as stance implies that I believe in what I am 
saying. More like a tentative viewpoint looking for opposing 
clarifications.

I must an attempt to separate what from how. I get lost in the how, 
fried my brain in a previous life. So now I have to be very careful to 
separate what from how, otherwise I get stuck in how and lose track of 
what. Happens to others also, I've noticed.

Berin is right on. He keeps trying to bring it back to the use cases. 
They all seem like re-use to me. But my handicap has already been 
identified, maybe brighter folks can point out other objectives than I 
am seeing.

What are the objectives, if they are more than re-use? Can you identify 
them?

Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Leo Simons <ls...@multimia.com>.
> Is Avalon for ANY other purpose than *Component Re-Use* or not?

yes!

Avalon Framework: facilitate COP by promoting some very good patterns
and meta patterns

Avalon Excalibur: provide reusable components

Avalon Phoenix: run reusable components and services, decorate them with
extra security, facilitate multiple applications running in a the same
VM, IOW: general server kernel

etc etc. All this is in the docs.

> *Component Re-Use*. Is that the only objective or not? True or False. 
> Make your stand now, and then stick to it.

False. See docs, see charter.

> Not fair to cite SoC or IoC or Separation of Interface and 
> Implementation. They still make sense, but only because the objective is 
> assumed as common sense.

that's your stance on it.

cheers,

- Leo



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Make your stand now - Is Avalon for more than ReUse ?

Posted by Peter Donald <pe...@apache.org>.
At 02:46 PM 6/20/2002 -0500, you wrote:
>Submitted this question within <flamebait/> earlier, but it got ignored. 
>It needs to be answered.
>
>Is Avalon for ANY other purpose than *Component Re-Use* or not? That is 
>certainly my only interest. It is arguably what attracts most people to 
>it? True or false?

My main draw card for me is that it gives me a ready-made template for 
application. However the template does not enforce any domain specific 
constraints or structure. Thus I can rapidly prototype applications and 
know I will be able to evolve them in the future with relative ease. So 
what I like is the quick initial implementation and the ability to scale up 
with minimal pain.

Reuse would be fantastic. There are large chunks of cocoon I would love to 
reuse in myrmidon but I can't as they are littered with Cocoon specific 
assumptions.

The main motivation for containerKit/metainfo stuff is that I will be able 
to cleanly reuse these things without effecting cocoons current usage.


Cheers,

Peter Donald
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Faced with the choice between changing one's mind,
and proving that there is no need to do so - almost
everyone gets busy on the proof."
              - John Kenneth Galbraith
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Make your stand now - Is Avalon for more than ReUse ?

Posted by Leo Sutic <le...@inspireinfrastructure.com>.

> From: Pete Carapetyan [mailto:pete@datafundamentals.com] 
> 
> Is Avalon for ANY other purpose than *Component Re-Use* or 
> not?

Yes.

/LS


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>