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
|
Spring Bigbank Sample
======================
This sample is different from the simple-bigbank 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 spring-bigbank-calculator, spring-bigbank-checkaccount and spring-bigbank-stockquote composites.
This will bring up Tuscany runtime and load the three applications and make them available as services.
Bigbank-Spring is dependent on these services.
This demo uses ant. This is just one way of running this demo.
Start Spring-Bigbank-calculator Composite
-----------------------------------------
Spring-Bigbank-calculator is a calculator application 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 spring-bigbank-calculator composite and make it available as a service for this demo do the following:
cd spring-bigbank-calculator
ant compile
ant run
.. Leave the server running
Note that 'ant compile' needs to be done the first time you run this demo out of the binary distribution. No need to do 'ant compile' from there on.
Start Spring-Bigbank-checkaccount Composite
-------------------------------------------
This contains all artifacts that deal with the account management within the bigbank. The services offered by the bigbank-account module are used by the bigbank.
cd spring-bigbank-checkaccount
ant compile
ant run
.. Leave the server running
Note that 'ant compile' needs to be done the first time you run this demo out of the binary distribution. No need to do 'ant compile' from there on.
Start Spring-Bigbank-stockquote Composite
-----------------------------------------
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 dependency on the availability of a webservice.
cd spring-bigbank-stockquote
ant compile
ant run
.. Leave the server running
Start Spring Bigbank
--------------------
This contains all artifacts that make up the bigbank application. This is the application that the end user interacts with
Start spring-bigbank in the following way:
i ) Compile the spring-bigbank as follows :
cd simple-bigbank-spring
ant compile
ii) Now start the bigbank service as follows :
cd bigbank
ant compile
ant run
.. Leave the server running
Note that 'ant compile' needs to be done the first time you run this demo out ofthe binary distribution.
No need to do 'ant compile' from there on.
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 result 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 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] Spring parent context - getBean called for name: stockQuoteService
[java] Getting stock quote for: IBM, value: 104.97
[java] Account summary: currency: USD, [ID:Foo_CHA12345, balance:1500.0, ID
:Foo_SAA12345, balance:1500.0, ID:Foo_STA12345, symbol:IBM, quantity:100, balance:10497.0]
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
Getting stock quote for: IBM, value: 104.02
Account summary: currency: USD, [ID:Foo_CHA12345, balance:1500.0, ID:Foo_SAA1234
5, balance:1500.0, ID:Foo_STA12345, symbol:IBM, quantity:100, balance:10402.0]
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.
|