クロスプラットフォームの相互運用性とパフォーマンスがはるかに優れていると聞きました。
2 に答える
混合言語プロジェクトで ZeroC Ice を使用しています。これまでのところ、C++、Python、および C# で記述しています。Ice は非常に使いやすく、スケーラブルで拡張可能です。唯一の不便は、一部の言語のプラグインとオブジェクト ファクトリを別々に作成する必要があることです。たとえば、C++ のトランスポート アダプター プラグインは C# では再利用できません (ただし、Python では機能します)。私たちのソフトウェア (その C++ 部分) はパフォーマンスが重要であり、Ice は非常に良い結果をもたらしています。非常に優れた機能は、古いデータ構造の更新 (たとえば、データベースに保存されている古いクラスを変更して、それらに新しいフィールドを追加することができます) と、オンザフライの永続化 (Freeze サービス) です。強くお勧めします。
zeroc については知りませんが、もう 1 つのオプションは「プロトコル バッファ」です。これは Google のオープン ソース バイナリ シリアル化形式で、移植性 (プラットフォームと実装の間)、パフォーマンス (バイナリ、読み書きが安価)、および拡張性のために設計されています。
ただし、プロトコル バッファによって定義される標準の RPC スタックはありません。ただし、少数の RPC スタックがコミュニティに登場しています。
Java、C++、および php は Google リリースに含まれており、C# を含むさまざまなコミュニティ バージョンが利用可能です。