OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [ISSUE 16] Component URI is not well described. Proposal



Folks,

I took an action to pull together a resolution for Issue 16 based on previous discussions.

This is the proposal.

High Level:

It is proposed that SCA defines 2 URIs:

1) structuralURI
2) bindingURI

structuralURI

Structural URI is a URI that describes each use of a given component in the Domain.  It is never
specified explicitly, but it calculated from the configuration of the components configured into the
Domain.  

The structural URI may be used to separately identify each use of a component - for
example, the structural URI may be used to attach different policies to each separate use of a
component.

For components directly in the domain, the structural URI is simply the name of the component.

Where components are nested within a composite which is used as the implementation of a
higher level component, the structural URI consists of the name of the nested component prepended
with each of the names of the components upto and including the domain level component.

For example, given a component named Component1 which is part of Composite1 used as an
implementation by Component2 which is part of Composite2 which is itself used as the implementation
of Component3 which is at the domain level, the structural URIs are as follows:

a) Component1:    Component3/Component2/Component1
b) Component2:    Component3/Component2
c) Component3:    Component3

The structural URI can also be extended to refer to a specific service of a component, by appending
the name of the service to the component's structural URI.

bindingURI

SCA Bindings specifications can choose to use the structural URI defined above to derive some binding
specific URI according to some Binding-related scheme.  The relevant binding specification describes
this.

In addition, <binding/> elements have an optional @URI attribute, which is termed a bindingURI.

If the bindingURI is specified on a given <binding/> element, the binding may use it to derive an
endpoint URI relevant to the binding.  The derivation is binding specific and is described by the
relevant binding specification.

For binding.sca, which is described in the SCA Assembly specification, this is as follows:

 If the binding uri attribute is specified on a reference, it identifies the target service in the SCA domain by
specifying either the service's structural URI or an alias for the structural URI.  
If the binding uri attribute is specified on a service, it is ignored.


structural URI Aliases

structural URIs can be used for a number of purposes.  Concentrating on their use for administration
and management purposes, it is required that a given component instance can be given a URI
which does not change even if the structure of the artifacts in the domain does get changed.

This "unchanging" URI is called a "URI Alias" - effectively it is a "fixed"
URI that maps to a specific structural URI - it is a kind of Map.


URI Aliases are declared at the Domain level - in a Definitions file.  

Each Alias is declared using an <alias/> element as a child of a
<definitions/> element (logically at the Domain level):

<alias aliasURI="xs:string" actualUri="xs:string"/>

- this is a simple mapping from the (unchanging) aliasURI to the actual
structural URI of some component

- if the component moves due to some deployment activity, the aliasURI remains unchanged and stable,
but the actualURI needs updating to point to the new location of the component.


Detailed Proposal:

This will take a lot of engineering of a spec document.
I will do this once we agree on the high level stuff above.


Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU








[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]