| Spring Bigbank Sample |
| ===================== |
| This sample is different from the simple-bigbank sample in that it is made of 4 separate modules that represent the different aspects of a fictitious banking application. |
| |
| simple-bigbank-spring (this module) |
| spring-bigbank-calculator |
| spring-bigbank-checkaccount |
| spring-bigbank-stockquote |
| |
| To run the simple-bigbank-spring sample you need to first run the spring-bigbank-calculator, spring-bigbank-checkaccount and |
| spring-bigbank-stockquote samples. This will start the three applications on separate copies of the Tuscany runtime and make |
| the applications available as services. The simple-bigbank-spring sample is dependent on these services. |
| |
| Start spring-bigbank-calculator sample |
| -------------------------------------- |
| |
| The spring-bigbank-calculator sample runs the Calculator composite which handles add, subtract, multiply and divide operations. |
| Each of these operations is implemented in a different language, including JavaScript, Groovy, Ruby and Python. |
| |
| To run the Calculator composite and make it available as an RMI service for this sample do the following: |
| |
| cd spring-bigbank-calculator |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-spring-bigbank-calculator.jar bigbank.calculator.server.CalculatorServer |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-spring-bigbank-calculator.jar bigbank.calculator.server.CalculatorServer |
| |
| .. Leave the server running |
| |
| Start spring-bigbank-checkaccount sample |
| ---------------------------------------- |
| |
| This contains all artifacts that deal with the account management within the bigbank. The JMS service offered by the spring-bigbank-checkaccount sample |
| is used by the simple-bigbank-spring sample. |
| |
| cd spring-bigbank-checkaccount |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-spring-bigbank-checkaccount.jar bigbank.account.checking.server.CheckingAccountServer |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-spring-bigbank-checkaccount.jar bigbank.account.checking.server.CheckingAccountServer |
| |
| .. Leave the server running |
| |
| Start spring-bigbank-stockquote sample |
| -------------------------------------- |
| |
| This is a very simple web services based stock quote application which returns random stock quotes on request. Please note that the stockquote service |
| is not live and is implemented instead to allow for this application to always run without depending on the availability of a web service. |
| |
| cd spring-bigbank-stockquote |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-spring-bigbank-stockquote.jar bigbank.stockquote.server.StockQuoteServer |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-spring-bigbank-stockquote.jar bigbank.stockquote.server.StockQuoteServer |
| |
| .. Leave the server running |
| |
| Start simple-bigbank-spring sample |
| ---------------------------------- |
| |
| This contains all artifacts that make up the bigbank application. This is the application that the end user interacts with. |
| |
| Start simple-bigbank-spring in the following way: |
| |
| cd simple-bigbank-spring |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-simple-bigbank-spring.jar bigbank.client.BigBankClient |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-simple-bigbank-spring.jar bigbank.client.BigBankClient |
| |
| |
| Sample Overview |
| --------------- |
| This sample demonstrates a simple bank summary transaction using Spring for one of the components. |
| |
| A request to the AccountComponent results in a request to the AccountDataComponent to get account data |
| which is based on a random stock quote price. Therefore results for this sample will vary on each run. |
| |
| |
| simple-bigbank-spring/ |
| src/ |
| main/ |
| java/ |
| bigbank/ |
| account/ - AccountComponent implementation using Spring |
| accountdata/ - AccountDataComponent implementation using Spring |
| sockquote/ - stockquote implementation using Java |
| client/ - starts the SCA Runtime and |
| deploys the BigBank.composite. |
| It then calls the deployed AccountService |
| resources/ |
| Account.composite - SCA assembly for this sample |
| BigBank.composite - SCA assembly for this sample |
| StockQuote.composite - SCA assembly for this sample |
| test/ |
| java/ |
| bigbank/ |
| BigBankTestCase.java - JUnit test case |
| simple-bigbank-spring.png - a pictorial representation of the sample |
| .composite file |
| 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 spring-bigbank-calculator |
| ant compile |
| ant run |
| |
| cd spring-bigbank-checkaccount |
| ant compile |
| ant run |
| |
| cd spring-bigbank-stockquote |
| ant compile |
| ant run |
| |
| cd simple-bigbank-spring |
| ant compile |
| ant run |
| |
| You should see the following output. |
| ** Please note that balance amount will vary depending on the random stock value. |
| |
| run: |
| [java] Checking account: CHA_Customer_01, balance:1000.0 |
| [java] Savings account: SVA_Customer_01, balance:1000.0 |
| [java] Stock account: STA_Customer_01, symbol:IBM, quantity:100 |
| [java] Stock price for IBM: 104.64 |
| [java] Converted to EURO: 73.24799999999999 |
| [java] Account summary: currency: EURO, [CHA_Customer_01, balance:1000.0, S |
| VA_Customer_01, balance:1000.0, STA_Customer_01, symbol:IBM, quantity:100, STA_C |
| ustomer_01, symbol:IBM, quantity:100] |
| |
| |
| 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 simple-bigbank-spring |
| mvn |
| |
| You should see the following output from the test phase. |
| ** Please note that balance amount will vary depending on the random stock value. |
| |
| ------------------------------------------------------- |
| T E S T S |
| ------------------------------------------------------- |
| Running bigbank.BigBankTestCase |
| Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.502 sec |
| |
| Results : |
| |
| Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 |
| |
| This shows that the Junit test cases have run successfully. |