summaryrefslogtreecommitdiffstats
path: root/sandbox/travelsample/README
blob: 6dddce56ca26a6c6f23b0ec44bde7fc8e88d9db0 (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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
Building the travel sample using ant
------------------------------------

1. Download and unzip JDK 1.6.0_07 or later and set the JAVA_HOME environment
   variable to the JDK base directory.
2. Install svn and ant.
3. Create a local directory to hold the travel sample code.  With this as
   your current directory, check out the complete travel sample from svn
   using the following command:
     svn co http://svn.apache.org/repos/asf/tuscany/sandbox/travelsample
4. Download and unzip the Tuscany 1.5.1 (or later) binary distribution
   and set the TUSCANY_HOME environment variable to the base directory
   containing the unzipped binary distribution.
5. Download the tuscany-host-corba-jse and tuscany-host-corba-jse-tns
   jars from the maven repository http://repo1.maven.org/maven2 and set the
   TUSCANY_HOST_CORBA environment variable to the local directory in which
   these files are located.
6. Download and unzip the OpenEJB 3.0 or later binary distribution and set
   the OPENEJB_HOME environment variable to the base directory containing
   the unzipped binary distribution.
7. With the travelsample directory as your current directory, enter the
   command "ant compile".


Building the travel sample using maven
--------------------------------------

Most of the steps are similar to the above.  For completeness, a full list
of the steps needed is given here.

1. Download and unzip JDK 1.6.0_07 or later and set the JAVA_HOME environment
   variable to the JDK base directory.
2. Install svn and maven.
3. Create a local directory to hold the travel sample code.  With this as
   your current directory, check out the complete travel sample from svn
   using the following command:
     svn co http://svn.apache.org/repos/asf/tuscany/sandbox/travelsample
4. Check the setting of the <tuscany.version> property in the
   travelsample/pom.xml file.  If you want to build the travel sample using
   a different Tuscany version, change this property as necessary.
5. With the travelsample directory as your current directory, enter the
   command "mvn".  You will need a live internet connection so that maven
   can download any required files to your local repository.


Running the travel sample from the build directories
----------------------------------------------------

The travel sample consists of a number of related scenarios.  These scenarios
are listed below, together with instructions for running them.  The instructions
in this section will work irrespective of whether the travel sample was built
using ant or maven.

Most of the scenarios are run by opening a single command prompt window
and entering the command "ant run" into that window.  If a scenario is
listed with multiple commands, this means that it needs multiple command
prompt windows.  In this case, each of the listed commands must be entered
into its own separate command prompt window in the order shown.

For each scenario, the following are given:
 Directory: the current directory for the command prompt window or windows
 Command(s): the command or commands for running the scenario
 Contributions: SCA contributions used in this scenario
 Launchers: other launcher directories needed by this scenario, if any
 Services: non-SCA services used in this scenario, if any
 Clients: non-SCA services used in this scenario, if any

1) Jumpstart - First simple example of using Tuscany

Directory: launchers/jumpstart
Command: ant run
Contributions: introducing-trips
Launchers: common

2) Introducing - Simplified introduction to the travel application

Directory: launchers/introducing
Command: ant run 
Contributions: introducing-client, introducing-tours, introducing-trips
Launchers: common

3) Introducing (distributed) - Distributed services with a domain manager

Directory: launchers/introducing-client
Commands: ant run-domain, ant run-trips, ant run-tours, ant run
Contributions: introducing-client, introducing-tours, introducing-trips
Launchers: introducing-domain, introducing-tours, introducing-trips

4) Interaction - Different SCA interaction styles 

Directory: launchers/interaction
Command: ant run
Contributions: calendar, common, currency, flight, hotel, interaction-client, 
   interaction-service-remote, shoppingcart
Launchers: common

5) Full application - The full interactive travel application

Directory: launchers/fullapp
Command: ant run
Contributions: car, common, creditcard-payment-jaxb-policy, currency, flight,
   fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
   fullapp-shoppingcart, fullapp-ui, hotel, payment-java-policy, scatours,
   shoppingcart, travelcatalog, trip, tripbooking
Launchers: common

6) Full application (distributed) - Distributed services with a domain manager

Directory: launchers/fullapp-nodes
Commands: ant run-domain, ant run
Contributions: car, common, creditcard-payment-jaxb-policy, currency, flight,
   fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
   fullapp-shoppingcart, fullapp-ui, hotel, payment-java-policy, scatours,
   shoppingcart, travelcatalog, trip, tripbooking
Launchers: fullapp-domain

7) Blog feed

Directory: launchers/blog-feed
Command: ant run
Contributions: blog-feed
Launchers: common

8) Data binding

Directory: launchers/databinding
Command: ant run
Contributions: creditcard-payment-sdo, databinding-client, payment-java
Launchers: common

9) Feed logger

Directory: launchers/feed-logger
Command: ant run
Contributions: feed-logger
Launchers: common

10) Help pages

Directory: launchers/help-pages
Command: ant run
Contributions: help-pages
Launchers: common

11) Policy

Directory: launchers/policy
Command: ant run
Contributions: creditcard-payment-jaxb-policy, policy-client, payment-java-policy
Launchers: common

12) SCA currency converter service interoperating with SCA or non-SCA client

12a) SCA client

Directory: launchers/currency-converter
Command: ant run
Contributions: currency
Launchers: common

12b) CORBA client

Directory: launchers/currency-converter-corba
Commands: ant run, ant run-client
Contributions: currency, currency-corba
Launchers: common
Clients: currency-converter-corba

12c) JMS client

Directory: launchers/currency-converter-jms
Commands: ant run-broker, ant run, ant run-client
Contributions: currency, currency-jms
Launchers: common
Clients: currency-converter-jms

12d) RMI client

Directory: launchers/currency-converter-rmi
Commands: ant run, ant run-client
Contributions: currency, currency-rmi
Launchers: common
Clients: currency-converter-rmi

12e) JAX-WS client

Directory: launchers/currency-converter-ws
Commands: ant run, ant run-client
Contributions: currency, currency-ws
Launchers: common
Clients: currency-converter-ws-jaxws

13) SCA notification service interoperating with non-SCA SMS gateway service

13a) SMS gateway CORBA service

Directory: launchers/notification-corba
Commands: ant run-nameserver, ant run-smsgateway, ant run 
Contributions: notification, notification-corba
Launchers: common
Services: smsgateway-corba

13b) SMS gateway EJB service

Directory: launchers/notification-ejb
Commands: ant run-smsgateway, ant run 
Contributions: notification, notification-ejb
Launchers: common
Services: smsgateway-ejb

13c) SMS gateway JMS service

Directory: launchers/notification-jms
Commands: ant run-broker, ant run-smsgateway, ant run 
Contributions: notification, notification-jms
Launchers: common
Services: smsgateway-jms

13d) SMS gateway RMI service

Directory: launchers/notification-rmi
Commands: ant run-smsgateway, ant run 
Contributions: notification, notification-rmi
Launchers: common
Services: smsgateway-rmi

13e) SMS gateway JAX-WS service

Directory: launchers/notification-ws
Commands: ant run-smsgateway, ant run 
Contributions: notification, notification-ws
Launchers: common
Services: smsgateway-jaxws


Running the travel sample from the distribution directories
-----------------------------------------------------------

If the travel sample was built using maven, a binary distribution
directory will be created containing all the built jar files together with
a "lib" directory containing a complete set of runtime dependencies for
these jar files.  The jar files in the "launchers" directory in the
distribution output can be run using the command

 java -jar <distribution-jar>

where <distrbution-jar> is the name of the jar file in the distrbution
directory tree.  For example, to run the "jumpstart" scenario, you
would use the command

 java -jar <your-path>/scatours-launcher-jumpstart.jar

It isn't possible currently to run scenarios 3 and 6 (distributed execution
with a domain manager) from the distribution directory in this way.