Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.83 KB

README.md

File metadata and controls

60 lines (47 loc) · 2.83 KB

CORBA Echo Server

This is a primitive CORBA echo server (and client) in five languages, straight from the omniORB and Java tutorials:

http://omniorb.sourceforge.net/omni42/omniORB/index.html http://docs.oracle.com/javase/7/docs/technotes/guides/idl/jidlExample.html

All server appliations print their IOR and block then. All client applications take the IOR as command-line argument, connect to that servant and call the echo() routine once. You can now run the different client / servers against each other for some 'CORBA is cool' demonstrations. Check the demo.py script.

Everything is optimized to be small, including the Makefile's. Therefore, the usage of a naming service is ommitted.

Python

  • Install omniORB, test that it is available as Python package (import OMNIOrb).
  • Go into the ./python subdirectory.
  • (Optional) Re-generate stubs and skeletons with "omniorb -bpython ../echo.idl".
  • Start the server with "python server.py". It will print the server IOR to be used by the client.
  • Start the client with "python client.py ".

C++

  • Install omniORB.
  • Go into the ./cxx subdirectory.
  • (Optional) Re-generate stubs and skeletons with "omniorb -bcxx ../echo.idl".
  • Call "make" to build client and server.
  • Start the server with "./server". It will print the server IOR to be used by the client.
  • Start the client with "./client ".

C++11

  • Obtain and install TAOX11, see http://www.remedy.nl/en/taox11
  • Go into the ./cxx11 subdirectory.
  • Call "brix11 gen build" to generate the GNU makefiles
  • Call "make" to build the client and server
  • Start the server with "./server". It will print the server IOR to be used by the client.
  • Start the client with "./client ".

Java

  • Install a recent JDK.
  • Go into the ./java subdirectory.
  • (Optional) Re-generate stubs and skeletons with "idlj -fall ../echo.idl".
  • Call "make" to build the JAR files for client and server.
  • Run the server with "java -jar server.jar". It will print the server IOR to be used by the client.
  • Run the client with "java -jar client.jar ".

Ruby

  • Install R2CORBA, see http://www.remedy.nl/en/r2corba
  • Go into the ./ruby subdirectory.
  • No need to run an IDL compiler
  • Start the server with "ruby server.rb". It will print the server IOR to be used by the client.
  • Start the client with "ruby client.rb ".

Compatibility Matrix

The following table shows which combinations of operating system and ORB product were reported to work with the different language implementations.

openSuSE 13.2 MacOS X Yosemite
omniORB 4.1.7 Python, C++
JDK 1.8 Java
Remedy R2CORBA 1.4.1 Ruby
Remedy TAOX11 1.3.2 C++11