[ 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)