summaryrefslogtreecommitdiffstats
path: root/branches/java-post-M1/samples/sca/helloworld-jms/client/readme.htm
blob: 8449aace44952abd41207bfa6421064b54fe3db8 (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
<!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 Client 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 Client Sample</h2> <h3>Overview</h3>
    <p>
    The Tuscany Hello World JMS client sample shows using the Tuscany SCA runtime in 
    a J2SE environment invoking a service using XML over JMS. 
    </p>
    <h3>Location</h3> This sample is located &nbsp;in the samples\sca\helloworld-jms\client
    directory.<br>

    <h3>Setup</h3>This sample depends on the Tuscany runtime, Celtix, and the sample jar, 

    <span style="font-weight: bold;">
    sample-helloworldjms-client-incubating-M1.jar
    </span>

, all of these must be available on the classpath to run the sample. Additionally, the <a target="_blank" href="../server/readme.htm">JMS server sample</a> must also be running. 

<h3>Running</h3>

    In the directory samples/sca/helloworld use the JDK 1.5 java command to run the class helloworld.HelloWorldClient

    <pre>Linux: java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar:../../../../lib/celtix/tuscany-celtix-incubating-M1.jar:target/sample-helloworldjms-client-incubating-M1.jar helloworld.HelloWorldClient</pre>
    <pre>Windows: java -cp ../../../../lib/tuscany-runtime-incubating-M1.jar;../../../../lib/celtix/tuscany-celtix-incubating-M1.jar;target/sample-helloworldjms-client-incubating-M1.jar helloworld.HelloWorldClient</pre>

    <h3>Results</h3>
    <p>
    The sample when run should simply display to the standard output:<br>
    <code>Hello World</code>
    </p>
    <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>
   src
   +---main
   +---java
   &brvbar;   +---helloworld
   &brvbar;           HelloWorldClient.java
   &brvbar;           HelloWorldService.java
   &brvbar; 
   +---resources
   &brvbar;   logging.properties
   &brvbar;   sca.module
   &brvbar;
   +---wsdl
           helloworld.wsdl 
   </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 style="vertical-align: top; height: 62px;">sca.module</td>
            <td style="height: 62px;">Defines the SCA module, externalService and component. 
            Defines for the HelloWorldServiceComponent component and the Java class that 
            implements the component For the externalService it defines WSDL for the service, 
            the Java interface provided by the service. The&nbsp;the&nbsp;HelloWorldServiceComponent 
            is via a referenced wired to the externalService</td>
        </tr>
        <tr>
            <td style="vertical-align: top;">HelloWorldClient.java</td>
            <td>Creates a Tuscany runtime and starts it. &nbsp;Obtains the module context 
            which was defined by the sca.module file. From the module context locates the 
            HelloWorldService entryPoint and then calls&nbsp; the getGreetings method to 
            invoke the web service defined in the helloword.wsdl.</td>
        </tr>
        <tr>
            <td style="vertical-align: top; height: 26px;">HelloWorldService.java</td>
            <td style="height: 26px;">Defines the Java interface implemented by the 
            component.</td>
        </tr>
        <tr>
            <td>helloworld.wsdl</td>
            <td>WSDL for the service.  Not that the WSDL defines a XML binding using a JMS transport intead of the normal SOAP/HTTP</td>
        </tr>
        </tbody>
    </table>
    </body>
</html>