page1
Apache Tuscany and SCA 1.0
...Model, compose, deploy and manage service based applications
Specs - OSOA (v1.0)
- Get the v1.0 SCA specifications
www.osoa.org
Apache Tuscany
- Read about the Tuscany open source SCA runtime
tuscany.apache.org
- Download Tuscany SCA 1.x releases from
tuscany.apache.org/sca-java-1x-releases.html
Commercial Support
- Deploy SCA applications in WebSphere
WebSphere Feature Pack for SCA v1.0.0
www-01.ibm.com/software/webservers/appserv/was/featurepacks/sca/
- Build and test SCA applications with Rational
Rational Application Developer v7.5.2
www-01.ibm.com/software/awdtools/developer/application/
Terminology Overview
Reference
Component
Service
Property
Service
Reference
Property
Composite
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="xs:anyURI"
name="xs:NCName"
local="xs:boolean"?
autowire="xs:boolean"?
constrainingType="QName"?
requires="list of xs:QName"?
policySets="list of xs:QName"?>
<include .../>*
<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 .../>*
<property .../>*
<reference .../>*
</component>
Component References
Component Properties
<service name="xs:NCName"
requires="list of xs:QName"?
policySets="list of xs:QName"?>*
<interface/>?
<binding uri="xs:anyURI"?
name="xs:QName"?
requires="list of xs:QName"?
policySets="list of xs:QName"?/>*
<callback>?
<binding uri="xs:anyURI"?
name="xs:QName"?
requires="list of xs:QName"?
policySets="list of xs:QName"?/>+
</callback>
</service>
<reference name="xs:NCName"
target="list of xs:anyURI"?
autowire="xs:boolean"?
wiredByImpl="xs:boolean"?
requires="list of xs:QName"?
policySets="list of xs:QName"?
multiplicity="0..1 or 1..1 or 0..n or 1..n"?/>*
<interface/>?
<binding uri="xs:anyURI"?
name="xs:QName"?
requires="list of xs:QName"?
policySets="list of xs:QName"?/>*
<callback>?
<binding uri="xs:anyURI"?
name="xs:QName"?
requires="list of xs:QName"?
policySets="list of xs:QName"?/>+
</callback>
</reference>
<property name="xs:NCName"
(type="xs:QName" | element="xs:QName")
source="xs:string"?
file="xs:anyURI"?>*
property-value
</property>