| SupplyChain Sample |
| ================== |
| |
| This sample demonstrates 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 separate callback thread. |
| |
| supplychain/ |
| 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 |
| test/ |
| java/ |
| supplychain/ |
| SupplyChainClientTestCase.java - JUnit test case |
| 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 supplychain |
| 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. |