git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1027093 13f79535-47bb-0310-9956-ffa450edef68
180 lines
6.5 KiB
Text
180 lines
6.5 KiB
Text
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.
|