omniORBのインストール

(2008.9.26)

フリー(自由)なCORBA ORB、omniORBのインストール方法。

(2017.5.21) 現在のバージョンに更新。

Object Request Broker (ORB)

プロセスを跨いで関数を呼び出したり、オブジェクトのメソッドを呼び出すのが Remote Procedure Call (RPC) です。さらに、機械を跨ぐ場合には ORB が仲立ちを務めます。

仕様は Sun RPC, CORBA, Java RMIなどがあります。異なる機械、異なるプログラミング言語でやり取りするなら CORBAが妥当です。

CORBA以外では、次のようなものもあります。CORBAをシンプルにしたもののようです。

Ice - Comprehensive RPC Framework
高パフォーマンス、豊富なbinding -- C++, Java, .NET, Python, PHP, Ruby.

また、SOAP + WSDL + WS-I Basic Profile でもRPCが実現できます。

CORBA

2008.11現在、CORBA仕様の最新版は, CORBA/IIOP 3.1 (2008年1月) です。[2017-05] その後、2012年11月のCORBA 3.3まで更新されている。

フリー (自由) なCORBA ORBには、次のようなものがあります。

ORBit2
GNOME環境で使われています。binding は plain CとPythonだけ。C++ bindingは現在では提供されていないようです。
omniORB
高パフォーマンスCORBA ORB。
MICO
安定したCORBA ORB。開発が止まっていたようですが、最近(2008年9月)新バージョンが出ました。CORBA 3.0のサポートを始めたようです。

omniORB

omniORBは、次のような特徴を持つCORBA ORB (Object Request Broker) です。

  • 堅牢で高いパフォーマンス
  • 開発が継続している
  • C++とPythonのbindingを持つ
  • ライセンスは、ライブラリはLGPL, ツールはGPL
  • CORBA 2.6をカバー

インストール

さっそく導入します。次のサイトから入手できます。

2008.11 現在の最新版はバージョン4.1.3 (2008年9月) です。Windows用にはバイナリも用意されています。

Fedora 9 Linuxにはパッケージが含まれていないので、自分でソースからコンパイルします。

$ ./configure
$ make
$ su
# make install

[2017-05] 最新は、2017年5月リリースのバージョン4.2.2. Fedora 25 Linux には、バッケージも用意されている (バージョン4.2.1)。

  • omniORB-devel.i686
  • omniORB-devel.x86_64
  • omniORB-doc.noarch
  • omniORB-servers.x86_64
  • omniORB-utils.x86_64
  • omniORB.i686
  • omniORB.x86_64
  • omniORBpy-devel.noarch
  • omniORBpy-libs.x86_64
  • python-omniORB.noarch

設定ファイル

UNIX環境では、デフォルトの設定ファイルは /etc/omniORB.cfg です。

最小限、ネームサービス (naming service) のホスト名を設定します。それ以外の設定は、ソースに含まれるsample.cfg を参照してください。

InitRef = NameService=corbaname::127.0.0.1:2809
supportBootstrapAgent = 1