I'm just reviewing my understanding of the relationship between
contributions and composites with a view to reviewing how users start the
Tuscany Java SCA runtime and configure SCA application, It doesn't look like
what the OASIS specs say on this subject differs much from the OSOA specs.
Tuscany users see two primary modes of operation of the Java SCA runtime;
Standalone - the SCA application runs on a single Tuscany SCA node
Distributed - the SCA application is distributed across a number distributed
nodes which are all running as part of the same domain
As we aim to make the life of the SOA developer easier I imagine that people
are interested in the distributed configuration however the standalone
configuration is useful, particularly for us when testing.
The composites which describe the various composite assemblies that combine
to form the SCA application are added to the runtime contained
within one or more contributions (the contribution is just a handy packaging
notion). There are a number of ways contributions and composites can
be organized.
An SCA application can be made up of
i/ A single contribution
ii/ Multiple contributions. In this case some contributions may depend on
one other.
Each contribution can contain
a/ one or more composite files with none listed in
META-INF/sca-contribution.xml
b/ a composite file and META-INF/sca-contribution.xml which defines one
deployable composite
c/ many composite files and META-INF/sca-contribution.xml which defines more
than one deployable composite
d/ no composite file
Alternatively
e/ a composite can be provided independently of a contribution as just a
string or external file
In 1.x the user starts the runtime from the command line in the following
ways.
Standalone
Run a node/webapp and tell it what contribution/composite to run, e.g.
java -jar nodeLauncher.jar compositeURI contributionLocation
So this can exploit i/ a/ and b/ (but in this case I don't think
sca-contribution.xml takes any part)
Distributed
Run a domain and configure it
java -jar nodeLauncher.jar domain
Using the domain management GUI;
Specify node configurations
Add contributions
Associate composites with nodes
Start a node given a URL to it's configuration
java -jar nodeLauncher.jar http://localhost:8080/mydomain/mynode
Node runs a single composite (from one or more associated contributions)
So this, as a whole, can exploit i/ ii/ a/ b/ c/ d/ (but again I'm not
sure that sca-contribution.xml is consulted)
Does this sounds right so far?
Simon