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]>

Reply via email to