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.