You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Steve Harris <st...@kenamea.com> on 2003/11/10 23:57:41 UTC

[Merlin] Service vs. Component

I'm working on a document for a round table discussion we will be having
about Merlin. I will probably have a few questions as I work on it and
may even post it to get feedback if people don't mind. My first question
is pretty simple. 

Is it true that Components are no more in the merlin world? Do we strickly speak of Services now?


Re: [Merlin] Service vs. Component

Posted by Leo Simons <le...@apache.org>.
Niclas Hedhman wrote:
> On Tuesday 11 November 2003 07:35, Stephen McConnell wrote:
> 
>>meta-info (description of a component type) 
>>meta-data (descriptions of deployment scenarios)
> 
> Is it only me, or isn't these too definitions too confusing???

IIRC, just about everyone agrees on that. I've just given up even trying 
to think which one is what and always gather the meaning from the context.

- LSD, forever on the loosing side of the terminology simplicification 
battle




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


Re: [Merlin] Service vs. Component

Posted by Stephen McConnell <mc...@apache.org>.

Niclas Hedhman wrote:

>On Tuesday 11 November 2003 07:35, Stephen McConnell wrote:
>
>  
>
>>meta-info (description of a component type) 
>>meta-data (descriptions of deployment scenarios)
>>    
>>
>
>
>Is it only me, or isn't these too definitions too confusing??? I also think 
>that it restricts future meta definitions to a large degree.
>
>May I suggest a term shift;
>
>meta-info -> Component Type Meta
>meta-data -> Deployment Scenario Meta
>

You can try! 

>It will make it a lot easier for new people, and people like me (memory=640kB, 
>frequent NMIs), to read descriptions.
>

I understand the "confusing" concern.  I must confess that many years 
ago I was dragged kicking and screaming into this arena and yes - when 
you really get into scenarios ivolving multiple meta abstractions - 
things do get interesting and belive it or not - the complexity adds 
clarity.  Today our meta-model does not have a meta-meta-model.  If we 
do have a meta-meta-model - the notions of meta versus instance would be 
easier to understand.  My guess is that we will end up in meta-meta here 
in Avalon within the next couple of years.  When we make the jump it 
will be painful but once you make the jump it like riding a bike. 

I.e. stock-up on Asprin!

;-)

In the meantime .... consider the following dimensions:

META-INFO             META-DATA
-------------------------------------
class                 instance

type                  criteria (particular context requirements,
                      dependency types,...)

profile               scenario (a particular context solution,
                      configuration, and assembly)


Now that wasn't so hard!

Cheers, Steve.

--

Stephen J. McConnell
mailto:mcconnell@apache.org




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


Re: [Merlin] Service vs. Component

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Tuesday 11 November 2003 07:35, Stephen McConnell wrote:

> meta-info (description of a component type) 
> meta-data (descriptions of deployment scenarios)


Is it only me, or isn't these too definitions too confusing??? I also think 
that it restricts future meta definitions to a large degree.

May I suggest a term shift;

meta-info -> Component Type Meta
meta-data -> Deployment Scenario Meta

It will make it a lot easier for new people, and people like me (memory=640kB, 
frequent NMIs), to read descriptions.

Niclas

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


Re: [Merlin] Service vs. Component

Posted by Stephen McConnell <mc...@apache.org>.

Steve Harris wrote:

>I'm working on a document for a round table discussion we will be having
>about Merlin. I will probably have a few questions as I work on it and
>may even post it to get feedback if people don't mind. My first question
>is pretty simple. 
>
>Is it true that Components are no more in the merlin world? Do we strickly speak of Services now?
>

The "Component" (with a capital C) is an interface that was used in 
pre-history to mark a class as an Avalon component. The framework 
included a number of interfaces, notably Composable and ComponentManager 
that forced component implementation to implement the Component 
interface. However, the Component interface does not expose any methods 
- it was simply a marker.

During the middle-ages the notion of meta-info was developed primarily 
under the Phoenix container. This lead to a number of initiative to 
resolve a meta-info model that would be sufficient to fully express 
information about a component. During this time the restriction imposed 
by the Component interface were become more and more apparent when 
dealing with components such as CORBA objects that by specification 
cannot ans should not be implementing the Component interface.

An alternative to the org.apache.avalon.framework.component package was 
developed - and named org.aapche.avalon.framework.service. That package 
enables any object class to to be handled as a component - representing 
a major step forward for Avalon. More recently the full potential is 
shinning though with the combination of the service package (i.e. the 
equivalent of the component package without the artificial restrictions) 
with the avalon-meta package. The Avalon Meta package opens up much more 
flexibility concerning the description of a components operation 
criteria – information that a container needs to know in order to deploy 
the component. This meta-info is described in files associated with a 
component class and is referred to as a Type (component type descriptor).

http://avalon.apache.org/meta/meta/info/type/index.html

We still speak of components but is much lowercase these days. A 
component type may provide 0..n services and may consume 0..n services 
(and a bunch of other stuff). This notion has not changed - all we have 
done is remove the capitalization, opened Avalon to a much broader 
spectrum of application areas, and introduced a formal model for 
description of criteria.

Now onto Merlin (which built above all of this good stuff). Merlin is 
concerned with the deployment of component types in the context of 
information containing configuration details, context, parameters, etc. 
This infomation is referred to a meta-data. You will see lots of 
examples of <component .../> in the Merlin tutorials. The actual 
description of what <component/> can contain is defined here:

http://avalon.apache.org/merlin/meta/block/components/index.html

Merlin uses the combination of meta-info (description of a component 
type) and meta-data (descriptions of deployment scenarios) to build 
composite components automatically. This process of composition is 
founded an the ability to wire together the "services" produced by a 
"component" with "services" consumed by other components. I.e. service 
and component are alive and well (just no longer capatalized).

Cheers, Steve.





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

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org




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