apache-tuscany/branches/sca-java-1.3.1/samples/binding-echo
2008-08-11 07:29:53 +00:00
..
src Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00
binding-echo.png Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00
binding-echo.svg Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00
build.xml Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00
pom.xml Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00
README Start branch for 1.3.1, the only changes in this commit are for the version 2008-08-11 07:29:53 +00:00

Binding Echo Sample Application
===============================
This sample demonstrates how to use the new binding extension 
binding-echo-extension.

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;..\binding-echo-extension\target\sample-binding-echo-extension.jar;target\sample-binding-echo.jar echo.EchoBindingClient

and on *nix do

java -cp ../../lib/tuscany-sca-manifest.jar:../binding-echo-extension/target/sample-binding-echo-extension.jar:target/sample-binding-echo.jar echo.EchoBindingClient

This looks like a long command. The three things we add to the classpath are

tuscany-sca-manifest.jar - all of the standard Tuscany SCA runtime and 
                           extension classes
sample-binding-echo-extension.jar  - the new echo binding extension implementation
sample-binding-echo - the application that uses the echo binding                         

Note: this sample currently is not working on Linux

Sample Overview
---------------
This sample contains an application (client and server code) that uses
an SCA binding that simply echoes back any messages that are sent to it. 

binding-echo/
  src/
    main/
      java/
        echo/
          Echo.java                     - interface definition for the sample  
                                          reference and service
          EchoComponentImpl.java        - sample component implementation with 
                                          echo binding reference
          EchoBindingClient.java        - sample client
      resources/
        EchoBinding.composite           - the SCA assembly for this sample
    test/
      java/ 
        echo
          EchoBindingTestCase.java      - sample JUnit test case for the sample 
                                          client
  binding-echo.png                      - 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 binding-echo
ant compile
ant run

You should see the following output from the run target.

run:
     [java] Passing thro invoker...
     [java] Returned message: foo
     [java] Echo reference = foo
     [java] Passing thro invoker...
     [java] Returned message: bar
     [java] Echo service = bar


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 binding-echo
mvn

You should see the following output from the test phase.

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running echo.EchoBindingTestCase
Passing thro invoker...
Returned message: foo
Passing thro invoker...
Returned message: bar
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.811 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 

This shows that the Junit test cases have run successfully.