0

別の質問では、完了までに 5 分かかる Web サービスの使用について心配していました。このユース ケースでは、Web サービスの代わりに RMI を使用することを考えていました。

しかし、結局のところ、Web サービスと RMI の両方が基礎となる接続に TCP ソケットを使用するのでしょうか? 5 分かかる Web サービス呼び出しが、同じ時間かかる RMI 要求よりも不安定である理由はありますか?

この場合、内部アプリの通信について話していることに注意してください。


更新: この質問は、完了までに 3 ~ 5 分かかる Web サービスで、接続が切断されたり、その他の問題が発生したりするのではないかと心配していることが原因です。この心配は完全に不合理かもしれません。別の質問への回答者は、クライアントとサーバーの両方を制御できれば問題ないと答えました。しかし、5 分間の通話で切断された接続が、RMI 実装よりも Web サービス実装を使用している可能性の方が低い理由をより詳細に理解したいと思いました。どちらもソケット接続に依存している場合、違いがない理由を説明できるかもしれません...

4

2 に答える 2

3

1 回のリモート呼び出しが完了するまでに 5 分かかる場合は、Web サービス レイヤー自体が遅いためではなく、おそらくその呼び出しを実装する操作が遅いためです。操作を RMI で再ラップする場合は、同じくらい遅くなる可能性があります。

RMI が SOAP よりも効率的であるため、SOAP に対する RMI のパフォーマンス上の利点は、1 つの操作の速度ではなく、多数の操作が呼び出された場合にのみ明らかになります。しかし、遅い操作が魔法のように速くなるわけではありません。

ソケットに関するあなたの質問については、はい、RMI と SOAP は両方とも、十分にダウンするとソケットレベルのプロトコルを使用します (RMI の場合は IIOP または JRMP、SOAP の場合は HTTP)。ただし、それはあなたの問題にはあまり関係ありません。

于 2009-11-21T23:01:32.283 に答える
1

RMI は主に JRMP (純粋な Java コンテキストの場合) または IIOP (非 JVM コンテキストの場合) を介して使用されますが、SOAP メッセージは通常 (排他的ではありません) HTTP を介して送信されます。これらの 3 つのワイヤ プロトコルはすべて TCP/IP を使用するため、この点では Web サービスよりも RMI を選択するメリットはありません。

于 2009-11-21T22:48:54.183 に答える