[ C++で開発 ]
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 Is CORBA
CORBAコンポーネントの実装がある。
The ACE ORB
かなり最新のCORBAスペックに追従している他、リアルタイムCORBAや独自QoS等のリアルタイム拡張を持っている。オープンソースであるが、このリアルタイム性能の点から軍用(航空機搭載電子機器、シミュレーションのRTI部分、他)に採用されたりと応用例が広い。TAOは下位にACE(Adaptive Communication Environment)と呼ばれるライブラリを使用している。ACEはプラットフォーム非依存なC++クラスライブラリでリアルタイム・ネットワークを主とした機能を持つ。
CORBAの入門としてTAOを使うのは、ドキュメントが乏しい点やよいチュートリアルがない点、ACEが絡んでいるので使い方が面倒な点などで苦しいと思われる。インストールも大変かと‥‥。逆に、いろいろなプラットフォームでネットワークプログラミングをしており、リアルタイム性が欲しい状況ではACE+TAOは強力なソリューションになるだろう。
CORBA2.6仕様に追従している(omniORB4.0)が未だ一部未実装。