RE: [sca-bpel] Component Types in SCA

From
Patil, Sanjay <>
Date
2008-02-12T20:44:53+00:00
ID
Thread
RE: [sca-bpel] Component Types in SCA
I had a similar reaction way back when I tried to get my 
head around the SCA Assembly model for the first time. Later, I settled with the 
following mental model:

 

A ComponentType defines the type of an implementation (and 
not that of a component as such). The association between a ComponentType and an 
implementation artifact is made via their collocation in a contribution or via 
an explicit linkage (such as by the <implementation.bpel 
process="xs:QName"> element in a ComponentType definition for a BPEL process) 
or implicitly by some derivation rules, etc. Nevertheless, a ComponentType 
describes an implementation, in particular, it declares the configurable 
elements of an implementation.

 

A Component on the other hand is a specific configuration 
of an implementation. Of course the contents of a Component would be 
constrained (shall we forget about the ConstrainingType for a moment!) by 
the ComponenType of the implementation it is configuring. But a Component 
is primarily anchored to the implementation in this model.

 

I guess the above model is different from the other 
examples you quote below as follows:

SCA model has three concepts related to 
each other - Implementation, ComponentType and 
Component

XML 
Schema, etc, on the other hand use the model of just two concepts-- a type and 
an instance of that type.

 

Just my 2c. I am sure there are other better ways to 
clarify this confusion ...

 

-- Sanjay

  

  
  From: Najeeb Andrabi 
  [mailto:] 
Sent: Tuesday, Feb 12, 2008 12:12 
  PM
To: 
Subject: [sca-bpel] 
  Component Types in SCA

  

  

  
 

  
       
  I would like to make a comment about Component Types in SCA. This is in 
  context with defining a component type file for BPEL implementations. I am 
  curious about the fact that a component cannot refer a component type: it has 
  to infer what its type might be using implementation.* element. I don’t 
  understand the rationale behind this approach. Component type defines the type 
  of component so why it cannot refer it. Approach of referring ones type is 
  used everywhere in specifications like XML schema, WSDL, BPEL etc. e.g. a 
  schema element can have a reference to complex type that defines the type of 
  the element.

  
 

  
      My 
  comment may be because of lack of understanding of SCA assembly specification. 
  But, from my understanding of the specification I think we should allow 
  components to refer their type.

  
 

  
--Najeeb