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.