You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jim Marino <jm...@myroma.net> on 2005/12/16 23:48:02 UTC

Spec problem

Dear SCA spec people ;-)

I think we may have uncovered an issue in the Assembly  
specification.  Consider the following:

1. A subsystem 'Bob' with a ModuleComponent 'Foo' and entrypoint 'Bar'
2. Subsystem 'Foo' with an entrypoint 'Bar'
3. I create the following wire, which is specified in subsystem 'Bob'  
SCDL:

<wire>
     <source>Rupert</source>
     <target>Foo/Bar</target>
</wire>

Is this valid? And if so, what does it resolve to?

Jim, Sebastien, Jeremy


Re: Spec problem

Posted by Jean-Sebastien Delfino <js...@gmail.com>.
I took a closer look at the spec and it seems that you cannot wire to an 
EntryPoint directly, so the scenario that Jim, Jeremy and I brought up 
does not apply. An EntryPoint defined in a Subsystem represents an 
externally accessible service, and by "externally" I think we mean that 
the client accessing the service is not part of the SCA System, so you 
will never wire to such an EntryPoint.

We still have a problem resolving wires in some cases since both 
subsystemName and serviceName are optional. For example a wire with 
<target>Foo/Bar</target> in Subsystem Bob can resolve to two things:
1. Service Bar of ModuleComponent Foo in Subsystem Bob
2. Service MyService of ModuleComponent Bar in Subsystem Foo, if you 
choose to omit MyService because it's the only service of 
ModuleComponent Bar with a matching interface.

I propose that we use the Tuscany JIRA to track the Spec related 
problems and questions that come up in the Tuscany project. Is there a 
way to create a category or a sub-project in JIRA for these issues? What 
do you think?

Michael Beisiegel wrote:
> You are onto something here, but let me first tweak the sample to what I
> think
> you wanted to sketch.
>
> 1. A subsystem 'Bob' with a ModuleComponent  'Foo' that offers a service
> 'Bar'
> 2. A subsystem 'Foo' with a ModuleComponent 'Bar'
> 3. I create the following wire, which is specified in subsystem 'Bob'
>
>    <wire>
>       <source>...</source>
>       <target>Foo/Bar</target>
>    </wire>
>
> This is valid, question is what does it resolve to. Since you created
> ModuleComponent
> 'Foo' with service 'Bar' in the same subsystem that you created the wire in
> I think it would
> resolves to the local one.  If you want to wire to both from within
> subsystem 'Bob' then give
> the ModuleComponent 'Foo' a different name like "MiniFoo". We could also
> change how
> we write these URI's by using a different delimiter between module component
> name and
> service name, e.g. if you meant the local one it would be 'Foo#Bar'
> otherwise 'Foo/Bar".
> Anyway we need to some more work on this.
>
> Michael
>
>
> On 12/16/05, Jim Marino <jm...@myroma.net> wrote:
>   
>> Dear SCA spec people ;-)
>>
>> I think we may have uncovered an issue in the Assembly
>> specification.  Consider the following:
>>
>> 1. A subsystem 'Bob' with a ModuleComponent 'Foo' and entrypoint 'Bar'
>> 2. Subsystem 'Foo' with an entrypoint 'Bar'
>> 3. I create the following wire, which is specified in subsystem 'Bob'
>> SCDL:
>>
>> <wire>
>>      <source>Rupert</source>
>>      <target>Foo/Bar</target>
>> </wire>
>>
>> Is this valid? And if so, what does it resolve to?
>>
>> Jim, Sebastien, Jeremy
>>
>>
>>     
>
>   


-- 
Jean-Sebastien Delfino


Re: Spec problem

Posted by Michael Beisiegel <mi...@gmail.com>.
You are onto something here, but let me first tweak the sample to what I
think
you wanted to sketch.

1. A subsystem 'Bob' with a ModuleComponent  'Foo' that offers a service
'Bar'
2. A subsystem 'Foo' with a ModuleComponent 'Bar'
3. I create the following wire, which is specified in subsystem 'Bob'

   <wire>
      <source>...</source>
      <target>Foo/Bar</target>
   </wire>

This is valid, question is what does it resolve to. Since you created
ModuleComponent
'Foo' with service 'Bar' in the same subsystem that you created the wire in
I think it would
resolves to the local one.  If you want to wire to both from within
subsystem 'Bob' then give
the ModuleComponent 'Foo' a different name like "MiniFoo". We could also
change how
we write these URI's by using a different delimiter between module component
name and
service name, e.g. if you meant the local one it would be 'Foo#Bar'
otherwise 'Foo/Bar".
Anyway we need to some more work on this.

Michael


On 12/16/05, Jim Marino <jm...@myroma.net> wrote:
>
> Dear SCA spec people ;-)
>
> I think we may have uncovered an issue in the Assembly
> specification.  Consider the following:
>
> 1. A subsystem 'Bob' with a ModuleComponent 'Foo' and entrypoint 'Bar'
> 2. Subsystem 'Foo' with an entrypoint 'Bar'
> 3. I create the following wire, which is specified in subsystem 'Bob'
> SCDL:
>
> <wire>
>      <source>Rupert</source>
>      <target>Foo/Bar</target>
> </wire>
>
> Is this valid? And if so, what does it resolve to?
>
> Jim, Sebastien, Jeremy
>
>