Domain Management Sample Tasks ============================== This sample shows how to use a subset of Tuscany to read contribution metadata, analyze and resolve contribution dependencies given a set of available contributions. The README in the samples directory (the directory above this) provides general instructions about building and running samples. Take a look there first. If you want to run this sample to see what happens, open a command prompt, navigate to this sample directory and run any of the sample domain management tasks as follows: Running the Sample ------------------ 1. List deployables in a contribution: ------------------------------------ - This sample reads the SCA metadata for two sample contributions and prints the names of their deployable composites. - Use the following command to run the sample: ant runListDeployables - OR if you don't have ant, On windows do: java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-domain-management.jar manager.ListDeployables On *nix do: java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-domain-management.jar manager.ListDeployables - You should see the following output: Deployable: {http://store}store 2. List contribution dependencies: -------------------------------- - The sample reads the SCA metadata for two sample contributions and prints their dependencies. - Use the following command to run the sample: ant runListDependencies - OR if you don't have ant, On windows do: java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-domain-management.jar manager.ListDependencies On *nix do: java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-domain-management.jar manager.ListDependencies - You should see the following output: Contribution: store dependency: assets dependency: store Contribution: assets dependency: assets 3. Add deployables to a domain composite and wire them: ----------------------------------------------------- - The sample first reads the SCA metadata for three sample contributions, and resolve the artifacts contained in the contributions, includes all their deployable composites in a composite model representing an SCA domain, and then uses several composite builder utilities to configure and assemble and wire them together. Finally it prints the resulting domain composite model, showing service bindings configured with the URIs from the nodes hosting them. - Use the following command to run the sample: ant runWireComponents - OR if you don't have ant, On windows do: java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-domain-management.jar manager.WireComponents On *nix do: java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-domain-management.jar manager.WireComponents - You should see the following output: 4. List Components: ----------------- - This sample reads the SCA metadata for two sample contributions, and displays their dependencies, reads and resolve the artifacts contained in the contributions, and finally prints the deployables composites and the components they declare as well as their main characteristics (showing that their interfaces and implementations are actually resolved). - Use the following command to run the sample: ant runListComponents - OR if you don't have ant, On windows do: java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-domain-management.jar manager.ListComponents On *nix do: java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-domain-management.jar manager.ListComponents - You should see the following output: Deployable: {http://store}store component: ShoppingCart componentService: Cart binding: class org.apache.tuscany.sca.binding.atom.impl.AtomBindingImpl - /ShoppingCart/Cart implementation: services.ShoppingCartImpl service: Cart interface: services.Cart Sample Overview --------------- This sample demonstrates how to use some of the APIs for processing contributions. These APIs are currently used under the covers in the domain manager. domain-management/ src/ main/ java/ manager/ DistributeAndRunComponents.java DistributeComponents.java ListComponents.java ListDependencies.java ListDeployables.java WireComponents.java resources/ test/ java/ services/ Cart.java Item.java ShoppingCartClientImpl.java ShoppingCartImpl.java resources/ assembly/ assets.xml client.xml store.xml assets/ META-INF/ sca-contribution.xml client/ META-INF/ client.composite store/ META-INF/ sca-contribution.xml store.composite build.xml pom.xml README Building And Running The Sample Using Ant ----------------------------------------- With the binary distribution the sample can be built and run using Ant as follows: cd domain-management ant compile ant runListDeployables ant runListDependencies ant runWireComponents ant runListComponents Building the Sample Using Maven ------------------------------- cd domain-management mvn ** Please note that the mvn command will just build the sample and will install the required jar files into the Maven repository. ** In order to run the sample, please see the instructions - "Running the Sample"