page1
Apache Tuscany 2.x 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
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>
Getting Started
If you want to build SCA applications first get a Tuscany binary release (see link above) and try out one of the samples, for example,
cd tuscany_release_dir/samples/calculator
ant run
To build your own composite applications you start by creating an
SCA contribution. You use the Tuscany runtime to load and run the
contribution. There are guides with more details here
tuscany.apache.org/documentation-2x