[ C++で開発 ]

C++でCORBA


実装系

Javaと違ってC++でのCORBAについてはあまりWeb上に情報が載っていないようである。まあ、それはそれとして、C++で利用できるフリーなCORBA実装系でメジャーなものは以下である。

項目 MICO TAO omniORB
製品Versionとリリース日 2.3.13@2008.9.4 1.7.7@2010.3.3 4.1.4@2009.7.20
ライセンス GPL ライブラリ:GNU LGPL
ツール:GNU GPL
OMG CORBA仕様 2.1 2.6準拠(一部未実装) 2.6準拠(一部未実装)
GIOP/IIOP 1.? 1.2 1.2
両方向GIOP(Bidirectional GIOP) ∨ ∨
IPv6対応 Beta ∨ ∨
BOA ∨ N/A
POA ∨ ∨
SSL ∨ ∨ ∨
long long, long double, 固定小数 ∨
wchar,wstringとコードセットネゴシエーション ∨
動的起動・動的スケルトンインタフェース(DII/DSI) ∨ ∨ ∨
2.6 DynAny ∨ ∨ ∨
オブジェクト渡し(Object By Value) ∨ ∨ N/A(Ver.4.1実装予定)
Portable Interceptors ∨ ∨ N/A
Interface Repository(IR) ∨ ∨ N/A
Interoperable Naming Service(INS) ∨ ∨ N/A
Trading Service ∨ ∨
Event Service ∨ ∨
Relationship Service ∨
Property Service ∨
Time Service ∨ ∨
Security Service ∨
CORBA Component(CCM) ∨ ∨
対応するプラットフォーム Windows/Visual C++ 7.0以上
Linux
Solaris
HP-UX
SGI Irix
Digital UNIX
AIX
Utrix
PocketPC
Windows/Visual C++ 5.0以上
Windows/Borland C++
Windows/MinGW
Linux
Solaris
HP-UX
SGI Irix
Digital UNIX
AIX
Windows CE
VxWorks
Windows/Visual C++ 5.0以上
Linux/GCC 2.95以上
Solaris 2.5以上/SC++ 4.2以上, GCC2.95以上
HPUX 10.2, 11.00/aC++
SGI Irix6.x/SGI C++ 7.2
Digital Unix 4.0D/DEC C++ 6.0
AIX 4.2, 4.3
Mac OS X
他

MICO

MICO Is CORBA

CORBAコンポーネントの実装がある。

TAO

The ACE ORB

 かなり最新のCORBAスペックに追従している他、リアルタイムCORBAや独自QoS等のリアルタイム拡張を持っている。オープンソースであるが、このリアルタイム性能の点から軍用(航空機搭載電子機器、シミュレーションのRTI部分、他)に採用されたりと応用例が広い。TAOは下位にACE(Adaptive Communication Environment)と呼ばれるライブラリを使用している。ACEはプラットフォーム非依存なC++クラスライブラリでリアルタイム・ネットワークを主とした機能を持つ。

 CORBAの入門としてTAOを使うのは、ドキュメントが乏しい点やよいチュートリアルがない点、ACEが絡んでいるので使い方が面倒な点などで苦しいと思われる。インストールも大変かと‥‥。逆に、いろいろなプラットフォームでネットワークプログラミングをしており、リアルタイム性が欲しい状況ではACE+TAOは強力なソリューションになるだろう。

omniORB

 CORBA2.6仕様に追従している(omniORB4.0)が未だ一部未実装。


リンク

TAO

CORBA実装系比較


This page is written by Toru TAKAHASHI.(torutk@02.246.ne.jp)