summaryrefslogtreecommitdiffstats
path: root/sandbox/sebastien/java/sca-node/samples/calculator-script/README
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/sebastien/java/sca-node/samples/calculator-script/README')
-rw-r--r--sandbox/sebastien/java/sca-node/samples/calculator-script/README105
1 files changed, 105 insertions, 0 deletions
diff --git a/sandbox/sebastien/java/sca-node/samples/calculator-script/README b/sandbox/sebastien/java/sca-node/samples/calculator-script/README
new file mode 100644
index 0000000000..ab1dda13df
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/samples/calculator-script/README
@@ -0,0 +1,105 @@
+Calculator Script Sample
+========================
+This sample implements a simple calculator using SCA components implemented
+using Java, JavaScript, Ruby, Python and Groovy.
+
+The README in the samples directory (the directory above this) provides
+general instructions about building and running samples. Take a look there
+first.
+
+If you just want to run it to see what happens open a command prompt, navigate
+to this sample directory and do:
+
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-script.jar calculator.CalculatorClient
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-calculator-script.jar calculator.CalculatorClient
+
+Sample Overview
+---------------
+The sample provides a single calculator service with a default SCA (java)
+binding. The CalculatorClient exercises this interface by calling add,
+subtract, multiply and divide operations. This results in messages passing
+to the appropriate components in the composite across the local wires. Each
+component is implemented using a different language.
+
+calculator-script/
+ src/
+ main/
+ java/
+ calculator/
+ CalculatorService.java - the first component calls +-/* as
+ appropriate
+ CalculatorServiceImpl.java
+ AddService.java - adds two numbers
+ SubtractService.java - subtracts one number from another
+ MultiplyService.java - multiplies two numbers
+ DivideService.java - divides one number by another
+ CalculatorClient.java - starts the SCA Runtime and
+ deploys the Calculator.composite.
+ It then calls the deployed Calculator
+ Components services
+ resources/
+ calculator/
+ AddServiceImpl.js - A JavaScript implementation of the
+ Add component
+ SubtractServiceImpl.rb - A Ruby implementation of the Subtract
+ component
+ MultiplyServiceImpl.py - A Python implementation of the
+ Multiple component
+ DivideServiceImpl.groovy- A Groovy implementation of the
+ Divide component
+ Calculator.composite - the SCA assembly for this sample
+
+ test/
+ java/
+ calculator/
+ CalculatorTestCase.java - JUnit test case
+ calculator-script.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 calculator-script
+ant compile
+ant run
+
+You should see the following output from the run target.
+
+run:
+ [java] 3 + 2=5.0
+ [java] 3 - 2=1.0
+ [java] 3 * 2=6.0
+ [java] 3 / 2=1.5
+
+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 calculator-script
+mvn
+
+You should see the following output from the test phase.
+
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running calculator.CalculatorTestCase
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.918 sec
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+This shows that the Junit test cases have run successfully.