| 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. |