page1
Apache Tuscany and SCA 1.1
...Model, compose, deploy and manage service based applications
Specs - OASIS OpenCSA (v1.1)
- Get the v1.1 SCA specifications
www.oasis-opensca.org
Apache Tuscany
- Read about the Tuscany open source SCA runtime
tuscany.apache.org
- Download Tuscany SCA 2.x releases from
tuscany.apache.org/sca-java-2x-releases.html
Commercial Support
- None yet
Terminology Overview
Reference
Component
Service
Property
Service
Reference
Property
Composite
<composite
xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
targetNamespace="xs:anyURI"
name="xs:NCName"
local="xs:boolean"?
autowire="xs:boolean"?
requires="list of xs:QName"?
policySets="list of xs:QName"?>
<include … />*
<requires/>*
<policySetAttachment/>*
<service … />*
<reference … />*
<property … />*
<component … />*
<wire … />*
</composite>
Reference
Component
Service
Property
Service
Reference
Property
Composite
Reference
Component
Service
Property
Composites
Components
Component Services
<component name="xs:NCName"
autowire="xs:boolean"?
requires="list of xs:QName"?
policySets="list of xs:QName"?>*
<implementation … />?
<service … />*
<reference … />*
<property … />*
<requires/>*
<policySetAttachment/>*
</component>
Component References
Component Properties
<service name="xs:NCName"
requires="list of xs:QName"?
policySets="list of xs:QName"?>*
<interface … />?
<binding … />*
<callback>?
<binding … />+
</callback>
<requires/>*
<policySetAttachment/>*
</service>
<reference name="xs:NCName"
target="list of xs:anyURI"?
autowire="xs:boolean"?
multiplicity="0..1 or 1..1 or 0..n or 1..n"?
nonOverridable="xs:boolean"
wiredByImpl="xs:boolean"?
requires="list of xs:QName"?
policySets="list of xs:QName"?>*
<interface … />?
<binding uri="xs:anyURI"?
requires="list of xs:QName"?
policySets="list of xs:QName"?/>*
<callback>?
<binding … />+
</callback>
<requires/>*
<policySetAttachment/>*
</reference>
<property name="xs:NCName"
(type="xs:QName" | element="xs:QName")?
many="xs:boolean"?
source="xs:string"? file="xs:anyURI"?
value="xs:string"?>*
[<value>+ | xs:any+ ]?
</property>