
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1027074 13f79535-47bb-0310-9956-ffa450edef68
141 lines
5.1 KiB
Text
141 lines
5.1 KiB
Text
Calculator CORBA Reference Sample
|
|
=================================
|
|
|
|
This sample illustrates the use of the Tuscany CORBA Binding to reference
|
|
services that are hosted as CORBA services.
|
|
|
|
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, first
|
|
navigate to the calculator-corba-service sample and do:
|
|
|
|
ant run
|
|
|
|
OR if you don't have ant, on Windows do
|
|
|
|
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-corba-service.jar calculator.CalculatorCORBAServer
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-calculator-corba-service.jar calculator.CalculatorCORBAServer
|
|
|
|
Now you have the server running you need to open another 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-corba-reference.jar calculator.CalculatorClient
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-calculator-corba-reference.jar calculator.CalculatorClient
|
|
|
|
Sample Overview
|
|
---------------
|
|
This sample extends the calculator sample by replacing the local wired
|
|
connections with CORBA bindings. Instead of local add, subtract, multiply and
|
|
divide components, a CORBA service implementation now provides the
|
|
add, subtract, multiply and divide interfaces and is hosted as an CORBA object.
|
|
References specified in the .composite file include a CORBA binding which targets
|
|
this CORBA object. The name service which is used in CORBA communication is
|
|
provided in the test case class - CalculatorCORBAReferenceTestCase.java.
|
|
|
|
This sample adds a number of classes to the basic calculator sample:
|
|
|
|
calculator-corba-reference/
|
|
src/
|
|
main/
|
|
java/
|
|
calculator/
|
|
CalculatorService.java - as calculator sample
|
|
AddService.java - as calculator sample
|
|
SubtractService.java - as calculator sample
|
|
MultiplyService.java - as calculator sample
|
|
DivideService.java - as calculator sample
|
|
CalculatorClient.java - as calculator sample
|
|
CalculatorServiceImpl.java - calls the CORBA service
|
|
that provides the target for the
|
|
CORBA bindings in the composite
|
|
resources/
|
|
CalculatorCORBAReference.composite - the SCA assembly for this sample
|
|
test/
|
|
java/
|
|
calculator/
|
|
CalculatorCORBAReferenceTestCase.java - JUnit test case
|
|
CalculatorCORBAServant.java - CORBA service implementation
|
|
idl/ - contains files generated
|
|
from the IDL file. Files are
|
|
used to create a CORBA object which
|
|
will be consumed by SCA references.
|
|
_CalculatorCORBAServiceImplBase.java
|
|
CalculatorCORBAService.java
|
|
CalculatorCORBAServiceOperations.java
|
|
resources/
|
|
CalculatorCORBA.idl - IDL description for CORBA object
|
|
pom.xml - the Maven build file
|
|
|
|
Note. As this test creates and uses local network connections you may need to
|
|
configure your firewall, if you are running one, to allow the test to run
|
|
successfully.
|
|
|
|
Building And Running The Sample Using Ant
|
|
-----------------------------------------
|
|
With the binary distribution the sample can be built and run using Ant.
|
|
|
|
The calculator-corba-service sample provides a CORBA server that acts as a target
|
|
for the SCA CORBA binding. Start a new console and use the following commands.
|
|
|
|
cd calculator-corba-service
|
|
ant compile
|
|
ant run
|
|
|
|
This will run up the server and display the following.
|
|
|
|
run:
|
|
[java] Calculator CORBA server started (press enter to shutdown)
|
|
|
|
The client is very similar to the calculator sample. It starts the SCA runtime
|
|
and calls each of the calculator operations. In doing this the CORBA binding
|
|
makes calls out to the CORBA server you started in the previous step. Start
|
|
a new console and use the following commands.
|
|
|
|
cd calculator-corba-reference
|
|
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
|
|
|
|
If you now return to the console window running the server and press enter the
|
|
server should stop.
|
|
|
|
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-corba-reference
|
|
mvn
|
|
|
|
You should see the following output from the test phase.
|
|
|
|
-------------------------------------------------------
|
|
T E S T S
|
|
-------------------------------------------------------
|
|
Running calculator.CalculatorCORBAReferenceTestCase
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.308 sec
|
|
|
|
Results :
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
|
|
|
This shows that the Junit test cases have run successfully.
|