Giter Site home page Giter Site logo

jonaselan / corba-example Goto Github PK

View Code? Open in Web Editor NEW

This project forked from troeger/corba-example

0.0 2.0 0.0 28 KB

This is a primitive CORBA echo server (and client) implementation in multiple languages, intended for educational purposes.

License: MIT License

Makefile 13.49% C++ 46.70% Python 14.77% Java 17.03% Ruby 8.01%

corba-example's Introduction

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 applications 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 Makefiles. Therefore, the usage of a naming service is omitted.

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://taox11.remedy.nl
  • 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/products/r2corba.html
  • 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

corba-example's People

Contributors

alchemyst avatar jwillemsen avatar troeger avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.