summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/samples/simple-bigbank-spring/README
blob: 407ed753ab564313b65a45e782e669d5a9b21c75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
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.