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