summaryrefslogtreecommitdiffstats
path: root/branches/java-post-M1/samples/sca/recursive/calculator/readme.htm
blob: 8ae5ca648806f9ba3a1c98ecfde8a88361ab17bc (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
<!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
Calculator</title><!-- LINK rel="stylesheet" href="ait.css" type="text/css" -->
<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"></head>
<body><h2>Tuscany
Calculator Sample</h2>
<h3>Overview</h3>
<p>The Tuscany calculator sample shows using the Tuscany SCA
runtime in a J2SE environment &nbsp;loading several components.
Each component provides a basic operation (add, subtract, etc).<br>The
main component uses each of these to perrform a simple calculation.</p><h3>Location</h3>This
sample is located &nbsp;in the samples\sca\calculator directory.<br><br>

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

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

, both of these must be available on the classpath to run the sample.
<ol>
</ol>
<h3>Running</h3>

    In the directory samples/sca/calculator use the JDK 1.5 java command to run the class calculator.CalculatorClient

    <pre>Linux: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar:target/sample-calculator-incubating-M1.jar calculator.CalculatorClient</pre>
    <pre>Windows: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar;target/sample-calculator-incubating-M1.jar calculator.CalculatorClient</pre>

<br><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:
<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr><td>src<br>+---main<br>&nbsp;&nbsp;&nbsp; +---java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp; +---calculator<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddService.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddServiceImpl.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CalculatorClient.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CalculatorService.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CalculatorServiceImpl.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DivideService.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DivideServiceImpl.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MultiplyService.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MultiplyServiceImpl.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SubtractService.java<br>&nbsp;&nbsp;&nbsp; &brvbar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SubtractServiceImpl.java<br>&nbsp;&nbsp;&nbsp; &brvbar;<br>&nbsp;&nbsp;&nbsp; +---resources<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logging.properties<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sca.module<br></td></tr></tbody></table>
<br><table style="text-align: left; width: 879px; height: 154px;" border="0" cellpadding="2" cellspacing="2"> <tbody><tr><td style="vertical-align: top;">sca.module</td>
<td>Defines the SCA module and component. Defines for the CalculatorServiceComponent component&nbsp; the Java class that
implements that component. &nbsp;Wires each of the operation components to the&nbsp;CalculatorServiceComponent</td> </tr> <tr> <td style="vertical-align: top;">CalculatorService.java</td>
<td>Defines the Java interface implemented by the cacomponent.</td>
</tr> <tr> <td style="vertical-align: top;">CalculatorServiceImpl.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;">CalculatorClient.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 CalculatorServiceComponent and then
calls operations on that component to demonstrating it using the multiple components implementing the operations..</td>
</tr> </tbody></table><br></body></html>