CORBAを使用したJava / C ++相互運用に最適なORBは何ですか?
質問
通信にCORBAを使用してJavaで記述されたクライアント/サーバーアプリケーションがあります。使用されるORBは、Java6プラットフォームによって提供されるorbdです。 Javaサーバーの実装をC ++で記述された別の実装に置き換える必要があります。質問は、CORBAライブラリの無料ソース実装のうち、どれがこのORBとよりよく相互運用できるかということです。 Java ORBを置き換え、C ++ライブラリが提供するORBも使用する必要がありますか?
目的は、すでに機能しているサーバーを新しいC ++実装に置き換えるときに、簡単かつスムーズに移行できるようにすることです。他に考慮すべきことはありますか?
解決
JavaとC ++の相互運用性のためにCORBAを使用していなかったので、私の答えは少し時代遅れかもしれません。
非常にうまく機能することがわかったのは、omniORB(C ++)とJacORB(Java)です。 Googleでこれらのライブラリを検索し、それらがまだサポートされているかどうかを確認できます。
「ネイティブ」で大きな問題があったことも覚えています。 Java CORBA(Sun Bugs Paradeには多くのバグがあり、長年にわたってオープンしています...)が、それはJDK1.4の時点でした。
他のヒント
TAOは間違いなく最も商業的に使用されているオープンソースC ++ ORBです。 Java ORBとしてJacORBと非常によく機能しますが、JDK ORBも使用できます。ソフトウェアが現在JDK ORBで動作する場合、TAOで動作しない理由はありません。問題が発生した場合は、JDK ORBをJacORBに置き換えてください。
ああ、以前の投稿について、ZEN Java ORBは死んでおり、開発されていません。 Javaの場合、JDK ORBで十分でない場合は、JacORBを使用する必要があります。
商用サポートが必要な場合も利用できます。サポートニーズ(TAOとJacORBの両方)にRemedy IT( http://www.remedy.nl )を使用します)。
多くのデータをMicoで作成されたC ++サーバーにプッシュ/プルするJavaクライアントがいくつかあります。問題は一切ありません。
Visibrokerもその負荷分散機能に使用していますが、間もなく廃止されます。
C ++
ACE / TAO ORBを見ましたか。
https://www.dre.vanderbilt.edu/~schmidt/TAO.html
ACEは基本的にOS抽象化レイヤーです。
また、TAOはこの抽象化の上に構築されたCORBA ORBなので、クロスプラットフォームです。
Java
TAOのJavaバージョンはZEN:
http://www.zen.uci.edu/
技術的には、ORBは同じである必要はありません。 CORBAプロトコル/仕様に準拠している限り、相互運用可能である必要があります。したがって、ZENを使用できますが、JacORBを使用するのと同じくらい簡単です。