More comments below as I realized I forgot to mention composite implementations.

On Mon, Jun 13, 2011 at 12:01 AM, Jean-Sebastien Delfino
<jsdelf...@apache.org> wrote:
> On Sun, Jun 5, 2011 at 4:21 AM, john pradeep <yehohan...@gmail.com> wrote:
>> Hi Jean,
>> *
>> *
>> *IIRC contributions don't have a namespace.*
>>
>>       I didnt try out this yet, but I figured out that sca contributions
>> have an option to export namespaces :
>>       <export namespace="http://nuvemstandalone"; />
>
> Right, contributions do not have a namespace, but they can export the
> namespaces of the XML artifacts they contain, like SCA composites,
> WSDLs, XSDs etc. Then other contributions can import these namespaces
> to allow their XML artifacts to reference them.
>
>> *I'm not sure how to reuse feature composites, as you'll need to configure
>> their components for specific apps, hosts, ip addresses, user ids etc.*
>>
>>      I was actually looking into these options to see if we can avoid nuvem
>> client's to directly wire every components by referring
>>      to  implementation classes directly, instead thought it will be good
>> to just allow the client to refer to just few components with
>>      their component names.
>>
>>      I am trying to find out if there is a way in tuscany which will allow
>> nuvem clients to define few global properties before importing
>>      the contributions? if yes then I think we can resolve those values
>> before injecting the properties into the nuvem components.
>>
>>      Any Idea if tuscany has such features in place?
>
>
> I'm not sure if Tuscany has any side configuration properties on top
> of the SCA SCDL configuration language, but you may want to compare
> the complexity and usefulness of the following:
>
> Option (a) standard SCA component implementation reuse
>
> What's reused is not a component, it's a component implementation.
>

... and one particular type of SCA component implementation is a
composite. So in addition to reusing simple component implementations
like with <implementation.java/> you can also reuse an SCA composite
in a component of type <implementation.composite>. That way you can
pre-assemble a bunch of components in a composite, then reuse that
composite in multiple instances without having to worry about the
details of how the components were assembled inside it. If you want to
configure some aspects of the composite implementation when you reuse
it, then you can just promote some of the services, references and
properties of the inner components. Take a look at the SCA assembly
spec for more info on how promotion works.

Hope this helps.
-- 
Jean-Sebastien

Reply via email to