Stephen McConnell wrote:
>
>
> Nicola Ken Barozzi wrote:
>
>> Peter Donald wrote:
>
>
>
>>> <provides>
>>> <role>
>>> <key>conn-manager</key>
>>> <interface>org.apache.avalon.ConnManager</interface>
>>> </role>
>>> </provides>
>>
>>
>>
>> hmmm... component provides roles or services?
>> Role=interface+metadata...
>>
>> <provides>
>> <service role="" interface=""/>
>> This is a cool service
>> </service>
>> <provides>
>
>
> Given that this is a discription relative to the source of service
> provision, the notion of role does not make sense. A role makes sence
> to the consumer of the service - i.e. "I need to use an instance of
> service XXX in role YYY". In this context the *role* value is simply a
> key within the scope fo the consuming component.
>
> <provides>
> <service key="my-key" interface="TheInterface"/>
> This is a cool service
> </service>
> <provides>
>
> By seperating of the "role" attribute (by replacement with "key") we can
> more properly look at the question of a dependent component requirement
> for role fulfillment. Role fulfillment covers not only providing a
> service matching an interface, but also the assessment of attributes
> declared under a dependency declaration relative to the attributes under
> published service. I.e. to fullfill the role of a secure HTTP
> connection, a container can mediate the selection process based on
> service interface, service version, and the quality of service
> information declared by a provider relative to quality of service
> criteria declared by a consumer.
Hmmm... I'm used to define Role(key as moniker)=interface+metadata
I collapsed role=key, that is key=role moniker.
Since the moniker identifies also the metadata...
:-S
Service Role=interface+metadata+version
<provides>
<service role="my-key"
interface="TheInterface"
metadata="how do we define this?"
version="latest, always ;-)"/>
This is a cool service
</service>
<provides>
> But it's Saturday afternoon so don't take me too seriously!
;-P
--
Nicola Ken Barozzi [EMAIL PROTECTED]
- verba volant, scripta manent -
(discussions get forgotten, just code remains)
---------------------------------------------------------------------
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>