Jump to: navigation, search

SCA/Components/SCA Meta Model

Revision as of 12:44, 11 November 2007 by Stephane.drapeau.obeo.fr (Talk | contribs) (New bindings, interfaces, and implementation)

Next sections describe the SCA meta model used by the SCA Composite Designer. The meta model is based on the OSOA XSD files that were corrected, adapted and extended.

OSOA meta model corrections

Our SCA meta model is based on the OSOA scheme available in the OSOA web site (http://www.osoa.org/xmlns/sca/1.0/).

We modify these scheme to reflect properly the SCA Assembly Model Specification and to enable the validation of the XSD model. We corrected also some structural problems. See [].

Meta model modifications

Some existing links between elements in the XSDs are not represented by EReference in the generated ecore meta model. For example, the SCA meta model element Service has a EAttribute promote that links it with a ComponentService. However, tools need to know explicitly that a reference exists between these two elements. Then, for each EAttribute representing a link between SCA elements we add, in the ecore meta model, an EReference as depicted in the following table. These new references are not serialized but calculated from the field representing the link.

SCA meta model modifications The table's caption
SCA Element EAttribute representing a link EReference added
Service The promote attribute identifies the promoted Service promote2 that references the promoted ComponentService
Reference The promote attribute identifies the promoted Reference promote2 that references the promoted ComponentReference
Wire The source attribute names the source component reference source2 that references the promoted ComponentReference
Wire The target attribute names the target component service target2 that references the promoted ComponentService

New bindings, interfaces, and implementation

We add binding, interface and implementation types supported by Tuscany (nsUri: http://tuscany.apache.org/xmlns/sca/1.0):

  • RMIBinding(host, port, serviceName, anyAttribute)
  • AtomBinding(any)
  • HTTPBinding(any)
  • JSONRPCBinding(any)
  • DWRBinding(any)
  • NotificationBinding(any, modificationType, ntm)
  • RSSBinding(any)
  • BPELPartnerLinkType(serviceRole, type, any, anyAttribute)
  • ScriptImplementation(mixed, any, language, script)
  • XQueryImplementation(any, location)
  • NotificationImplementation(name, any)
  • ResourceImplementation (any, location)
  • OSGiImplementation(any anyAttribute)

Figure SCAMM.jpg represents the SCA meta model diagram used (OSOA meta model + corrections + added references + new bindings, interfaces and implementations).