Hi,

Let me give a try:

1) @target

a) An SCA service represents a business function that a component provides, for example, a book store selling books. b) An SCA reference represents a business function that a component consumes, for example, book store needs to use shopping cart and catalog.

The 'target' attribute of <reference> points to an SCA service that can provide the business function required by the reference. For example, if the BookStore component has a catalog reference as follows:

<component name="BookStoreComponent">
   <reference name="catalog" target="CatalogComponent/Catalog"/>
</component>

<component name="CatalogComponent">
   ...
</component>

The @target says CatalogComponent's Catalog service is the provider for catalog reference. If you change it to "NewCatalogComponent/Catalog", you basically switch to a new service provider: NewCatalogComponent's Catalog service.

2) @promote

In SCA, a pre-assembled composite can be reused as a building block for compositions. It's achieved by <implementation.composite>. For example, the Catalog service itself can be developed as a SCA composite. Inside the Catalog composite, there could be a few java components.

<component name="CatalogComponent>
   <implementation.composite composite="ns1:CatalogComposite"/>
   ...
</component>

Now the question is what services/references in the CatalogComposite will be made public for CatalogComponent. Service/Reference promotion is introduced for this purpose.

For example,

<composite name="CatalogComposite">
<service name="Catalog" promote="InternalCatalogComponent/InternalCatalog">
        ...
   </service>

<reference name="parnterCatalog" promote="InternalCatalogComponent/partnerCatalog">
        ...
   </reference>


   <component name="InternalCatalogComponent>
   ...
   </component>
</composite>

The @promote for the <service> says if CatalogComposite is used as a component for assembly, there is a service named Catalog that makes the InternalCatalogComponent's InternalCatalog service public. As a result, the CatalogComponent has a public Catalog service that can be wired to.

The @promote for the <reference> says if CatalogComposite is used as a component for assembly, there is a reference named partnerCatalog that makes the InternalCatalogComponent's partnerCatalog reference public. As a result, the CatalogComponent has a public partnerCatalog reference and a service provider can be defined for this reference.

Thanks,
Raymond
--------------------------------------------------
From: "Fengxiang" <[EMAIL PROTECTED]>
Sent: Sunday, March 23, 2008 2:06 AM
To: <[email protected]>
Subject: Ask for help on promot and target

Dear all,
My mother luangage is not english.So I can't got an deep understand with the
specification document of assembly of sca.
Especially on attribution of promot and target, Could you give me an detail
explaination .
Thanks.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to