You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Rashmi Hunt <ra...@gmail.com> on 2007/04/18 18:24:09 UTC

SCA 1.0 compliance questions

1) As per 1.0 spec, bindings can be defined on a component. Component
service can be promoted to be composite service as shown in below example.



Question: Can current Tuscany's binding's loader/builder framework be able
to load bindings which are defined under component? Is this currently
supported?



<composite name="composite1">



 <service name="s1A" promote="c1/s1"/>



 <component name="c1">

   <service name="s1">

            <binding.abc ... />

               ..

   </service>

   <implementation.xxx .../>

 </component>



</composite>




2) As per 1.0 spec, "A service or reference definition with no binding
element specified uses the SCA/default binding" Concrete sample is outlined
below where
there are no bindings defined under a service.  Tuscany binding's extension
framework is based on loader/builder framework which looks for
<binding.xxx...> in
order to build Service and Reference.



Question: Given this example how does Tuscany can build default binding,
without <binding.sca> defined?  Is it currently supported?



<composite name="composite1">



 <service name="s1A" promote="c1/s1"/>



 <component name="c1">

   <service name="s1">

               ..  <! no bindings defined, which means it's default binding,
which is binding.sca >

   </service>

   <implementation.xxx .../>

 </component>



</composite>



Help is appreciated



Regards

Rashmi

Re: SCA 1.0 compliance questions

Posted by Scott Kurz <sc...@gmail.com>.
Sebastien,

I'm curious why we only add the  o.a.t.assembly.SCABinding objects only
to PROMOTED references and services.

My understanding (which could be wrong) is that you'd only promote a
ref/srvc to the Composite level if you intended to use this Composite as an
impl of another component.

So wouldn't we need to add the o.a.t.assembly.SCABinding (default binding)
to the component level reference, at least if it were a component in a
top-level-Composite.

Sorry that some of my understanding and terminology might be a bit outdated.

Scott

Re: SCA 1.0 compliance questions

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Rashmi Hunt wrote:
>>
>> >Yes it is supported. By default we add o.a.t.assembly.SCABinding 
>> objects
>> >to promoted references and services, we do this in the last metadata
>> >processing phase - CompositeProcessor.wire() - after SCA assembly XML
>> >files have been read.
>
>
> Does this mean Tuscany loads just the model object which is
> o.a.t.assembly.SCABinding,
> eliminating the loader part for default binding? However binding
> implementation specific classes like
> xxxTargetInvoker, xxxServiceBinding, xxxReferenceBinding and builder
> which builds xxxServiceBinding and xxReferenceBinding are still 
> required in
> binding
> implementation. Is this a correct assumption?
>
> -Rashmi
>

Yes, exactly.

-- 
Jean-Sebastien


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


Re: SCA 1.0 compliance questions

Posted by Rashmi Hunt <ra...@gmail.com>.
>
> >Yes it is supported. By default we add o.a.t.assembly.SCABinding objects
> >to promoted references and services, we do this in the last metadata
> >processing phase - CompositeProcessor.wire() - after SCA assembly XML
> >files have been read.


Does this mean Tuscany loads just the model object which is
o.a.t.assembly.SCABinding,
eliminating the loader part for default binding? However binding
implementation specific classes like
xxxTargetInvoker, xxxServiceBinding, xxxReferenceBinding and builder
which builds xxxServiceBinding and xxReferenceBinding are still required in
binding
implementation. Is this a correct assumption?

-Rashmi

Re: SCA 1.0 compliance questions

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Answers inline.

Rashmi Hunt wrote:
> 1) As per 1.0 spec, bindings can be defined on a component. Component
> service can be promoted to be composite service as shown in below 
> example.
>
>
>
> Question: Can current Tuscany's binding's loader/builder framework be 
> able
> to load bindings which are defined under component? Is this currently
> supported?
>
>

This is supported by our new assembly model and artifact processors 
(replacing the old loaders). We'll have to double check that the connect 
logic in the runtime deployer implements this correctly as well, i.e. 
establishes the correct invocation chain using that binding instead of 
the binding specified on the promoted reference of a nested composite.

>
> <composite name="composite1">
>
>
>
> <service name="s1A" promote="c1/s1"/>
>
>
>
> <component name="c1">
>
>   <service name="s1">
>
>            <binding.abc ... />
>
>               ..
>
>   </service>
>
>   <implementation.xxx .../>
>
> </component>
>
>
>
> </composite>
>
>
>
>
> 2) As per 1.0 spec, "A service or reference definition with no binding
> element specified uses the SCA/default binding" Concrete sample is 
> outlined
> below where
> there are no bindings defined under a service.  Tuscany binding's 
> extension
> framework is based on loader/builder framework which looks for
> <binding.xxx...> in
> order to build Service and Reference.
>
>
>
> Question: Given this example how does Tuscany can build default binding,
> without <binding.sca> defined?  Is it currently supported?
>

Yes it is supported. By default we add o.a.t.assembly.SCABinding objects 
to promoted references and services, we do this in the last metadata 
processing phase - CompositeProcessor.wire() - after SCA assembly XML 
files have been read.

>
>
> <composite name="composite1">
>
>
>
> <service name="s1A" promote="c1/s1"/>
>
>
>
> <component name="c1">
>
>   <service name="s1">
>
>               ..  <! no bindings defined, which means it's default 
> binding,
> which is binding.sca >
>
>   </service>
>
>   <implementation.xxx .../>
>
> </component>
>
>
>
> </composite>
>
>
>
> Help is appreciated
>
>
>
> Regards
>
> Rashmi
>

-- 
Jean-Sebastien


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