SupplyChain Sample ================== This sample demonstrates using the SCA components using the asynchronous API. 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 just want to run it to see what happens open a command prompt, navigate to this sample directory and do: ant run OR if you don't have ant, on Windows do java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-supplychain.jar supplychain.SupplyChainClient and on *nix do java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-supplychain.jar supplychain.SupplyChainClient Sample Overview --------------- The sample provides a Customer service with a purchaseGoods operation and a notifyShipment operation annotated with the SCA @OneWay annotation. The SupplyChainClient exercises this interface by calling the purchaseGoods operation. This results in messages passing to the Retailer, Warehouse, and Shipper components and the result returned to the Customer service on a seperate callback thread. calculator/ src/ main/ java/ supplychain/ Customer.java - Defines the Java interface implemented by the Customer component CustomerComponentImpl.java - Implements the SCA Customer component Retailer.java - Defines the Java interface implemented by the Retailer component RetailerComponentImpl.java - Implements the SCA RetailerComponent component Shipper.java - Defines the Java interface implemented by the Shipper component ShipperComponentImpl.java - Implements the SCA ShipperComponent component SupplyChainClient.java - SupplyChainClient.java loads SCA runtime Warehouse.java - Defines the Java interface implemented by the Warehouse component WarehouseComponentImpl.java - Implements the SCA WarehouseComponent component resources/ supplychain.composite - the SCA assembly for this sample build.xml - the Ant build file pom.xml - the Maven build file Building And Running The Sample Using Ant ----------------------------------------- With the binary distribution the sample can be built and run using Ant as follows cd calculator ant compile ant run You should see the following output from the run target. run: [java] Main thread Thread[main,5,main] [java] Main thread sleeping ... [java] Work thread Thread[pool-1-thread-1,5,main] - Order, submitted, fulfilled, shipped Building And Running The Sample Using Maven ------------------------------------------- With either the binary or source distributions the sample can be built and run using Maven as follows. cd supplychain mvn You should see the following output from the test phase. ------------------------------------------------------- T E S T S ------------------------------------------------------- Running supplychain.SupplyChainClientTestCase Main thread Thread[main,5,main] Sleeping ... Work thread Thread[pool-1-thread-1,5,main] - Order, submitted, fulfilled, shipped Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.625 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 This shows that the Junit test cases have run successfully.