私は現在、最初は Mac OS X (Cocoa を使用) に焦点を当てたプロジェクトで、分散モデル オブジェクト (つまり、複数の異なるコンピューターで実行される計算モデル) をサポートするさまざまな方法を検討しています。私の知る限り、クラス クラスターを使用する可能性がありますNSProxy
。しかし、Objective-C をサポートする CORBA の実装もあるようです。
後で、Windows マシンもサポート/含める必要があるかもしれません。その場合、Windows 側で Gnustep のようなものを使用する必要があります (うまく機能する場合はオプションになる可能性があります)。または、両方のテクノロジの組み合わせを考え出す必要があります。または、何かを手動で記述します (もちろん、これは最も望ましくないオプションです)。
私の質問は次のとおりです。
両方のテクノロジー (Cocoa ネイティブ インフラストラクチャと CORBA) の経験がある場合は、どちらのアプローチの重要な機能や問題点を指摘できますか? (編集:このスレッドで既に指摘したように、リモート メソッドは今のところ iPhone と iPad では使用できません。一方、どちらのプラットフォームでも動作する CORBA 実装があります。たとえば、「AdORB - Mac OS X 用の CORBA ORBおよび iPhone OS ".)
上記の方法で Cocoa で Gnustep を使用することは可能ですか? [編集: Gnustep FAQ エントリ 1.1.5によると、これは不可能であるため、Cocoa のネイティブ インフラストラクチャを使用すると、このテクノロジに縛られてしまいます。]
Cocoa のテクノロジを使用してすべての Mac OS クライアント間で通信し、CORBA を介して Windows クライアントと通信することは可能ですか? [編集:私が今学んだことから、これは可能ですが、確かに実現可能ではありません。メッセージは双方向に転送される必要があります。つまり、あるシステムから別のシステムに、またはその逆にメッセージを転送するための「プロキシ」が必要です。これは、ネットワーク層を手動で作成するのと本質的に同等であり、
NSProxy
クラス クラスタまたは CORBA のいずれからも実際的な利点はありません。]
更新:柔軟性と拡張性が懸念される場合は、CORBA の方が適しているようです。欠点は、学習と最初の使用がより複雑に見えることです。実用的な側面に関するさまざまな視点については、このスレッド(Kristopher Johnson によって提供されたリンク – ありがとう!) を参照してください。Web サービスは、通信パターンが十分に単純である限り実行可能なオプションです。iOS で適切に機能するオプションについては、このスレッドを参照してください。調査結果をこの記事にまとめました。