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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Tuscany Hello World JMS Service Sample</title><!-- LINK rel="stylesheet" href="ait.css" type="text/css" --><!-- maven -->
<style type="text/css" media="all">
@import url("../../../../css/maven-base.css");
@import url("../../../../css/maven-theme.css");
@import url("../../../../css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print">
<!-- end maven -->
</head>
<body>
<h2>Tuscany Hello World JMS Service Sample</h2>
<h3>Overview</h3>
<p>
The Tuscany hello world jms sample shows using the Tuscany SCA runtime using the Celtix/J2SE environment to provide a web service using
XML over JMS as well as SOAP over HTTP.
</p>
<h3>Location</h3> This sample is located in the samples\sca\helloworld-jms\server
directory.<br>
<h3>Setup</h3>This sample depends on the Tuscany runtime, Celtix, and the sample jar,
<span style="font-weight: bold;">
sample-helloworldjms-service-incubating-M1.jar
</span>
, all of these must be available on the classpath to run the sample.
<h3>Running</h3>
In the directory samples/sca/helloworld-jms/server use the JDK 1.5 java command to start the JMS broker and then run the class helloworld.HelloWorldServer.
<pre>Linux:<br>
java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar:../../../../lib/celtix/tuscany-celtix-incubating-M1.jar org.activemq.spring.Main activemq.xml
java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar:../../../../lib/celtix/tuscany-celtix-incubating-M1.jar:target/sample-helloworldjms-service-incubating-M1.jar helloworld.HelloWorldServer
</pre>
<pre>Windows:<br>
java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar;../../../../lib/celtix/tuscany-celtix-incubating-M1.jar org.activemq.spring.Main activemq.xml
java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar;../../../../lib/celtix/tuscany-celtix-incubating-M1.jar;target/sample-helloworldjms-service-incubating-M1.jar helloworld.HelloWorldServer
</pre>
<h3>Code Overview</h3> The source files are physically organized as shown below:<br>
<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>
<pre>
+---main
+---java
¦ +---helloworld
¦ HelloWorldServer.java
¦ HelloWorldImpl.java
¦ HelloWorldService.java
+---resources
¦ sca.module
+---wsdl
helloworld.wsdl
activemq.xml
</pre>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table style="text-align: left; width: 100%; height: 154px;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>HelloWorldServer.java</td>
<td>Main method to startup the Tuscany runtime which will startup the services defined in sca.module</td>
</tr>
<tr>
<td style="vertical-align: top;">HelloWorldService.java</td>
<td>Defines the Java interface implemented by the component.</td>
</tr>
<tr>
<td style="vertical-align: top;">HelloWorldImpl.java</td>
<td>Implements the SCA component. Uses the SCA service annotation
tag on the class to show what SCA interface is being implemented.</td>
</tr>
<tr>
<td style="vertical-align: top; height: 62px;">sca.module</td>
<td style="height: 62px;">Defines the SCA module, entryPoint and component.
Defines for the HelloWorldServiceComponent component and the Java class that
implements the component For the entryPoint it defines WSDL for the service, the
Java interface provided by the service, and wires the service to the HelloWorldServiceComponent</td>
</tr>
<tr>
<td>helloworld.wsdl</td>
<td>WSDL for the service.</td>
</tr>
<tr>
<td>activemq.xml</td>
<td>Configuration file for ActiveMQ to setup the broker</td>
</tr>
</tbody>
</table>
</body>
</html>
|