複雑さ、オーバーヘッド、逆速度で分類すると、次の可能性が思い浮かびます。
- SOAP (既に除外したもの)
- コルバ
- DCOM (DCE)
- XML メッセージの交換
- ONC-RPC (SunRPC)
- HTTP に似たメッセージの交換
- telnet のようなメッセージの交換 (回線指向)
多かれ少なかれ、ライブラリやパッケージなどをオープンソースとして使用する準備ができています (イライラする準備ができています)。
上記のいくつかは奇妙に聞こえるかもしれませんが、実際には、HTTP または Telnet を RPC に使用することがよくあります。その理由は、テストするのに派手な環境は必要なく、ほとんどのエイリアン ソフトウェアは簡単にそれに適応できるからです。これらにより、WebBrowser、telnet セッション、または単にソケットを開いて要求を送信する別のプログラムから、プログラムのサービスを簡単に使用できるようになります。たとえば、私のプログラムのほとんどには --scripting コマンド ライン引数が含まれています。これにより、JavaScript のような言語を介してアプリケーション オブジェクト モデル全体にアクセスできる telnet ポートが開きます。これを使用して、任意のアプリを非常に簡単にリモート コントロールすることもできます。このようなフレームワークを 1 回作成したことがある場合は、すべての新しいアプリで再利用できます (ここでどのように見えるかを参照してください) 。
私のアプリはすべて、上記のすべてが既に含まれており、クライアントとサーバーの両方としてすぐに使用できる環境で作成されていることを認めなければなりません。
要約: 最も単純な方法を使用してください。アプリをそのようなインフラストラクチャに統合する必要がない限り、Corba や SOAP は必要ありません。