質問

私はWebサービスを知っており、リモート処理に関する知識があります。 どちらの概念もクライアントマシンでメソッドを呼び出すので、違いはどこにありますか?

リモート処理により、リモートマシンでメソッドを実行することもでき、Webサービスでも同じ機能を実現できます。

明らかな質問であれば、すみません。

役に立ちましたか?

解決

どちらも分散アプリケーションをサポートします。

Webサービスは、共通の標準を使用し、ファイアウォールを介して機能するクロスプラットフォームです。また、オブジェクトではなくメッセージの観点から考えます。サービスにメッセージを送信すると、返信が返されます。

リモート処理は、クロスプラットフォームではなく、バイナリ形式で通信するMSのみのテクノロジーです。オブジェクトの観点から考えると、リモートサーバー上にオブジェクトを作成し、それを操作します。ファイアウォールではうまく機能しません。リモーティングも最近死んでいます。MSはWCF(Webサービスを含む)を支持しています

他のヒント

.NET Remotingコンセプトは、Microsoft / .NET固有のプロセス間通信テクノロジーです。

用語「Webサービス」その誇大宣伝のために非常に拡散しています。しかし、ほとんどの場合、 W3C定義が意図されていると思います。インターフェイスの説明として WSDL の使用を定義し、 SOAP をメッセージプロトコルとして使用。

Microsoft .NET Remoting:MSDNの技術概要、RemotingはバイナリまたはXMLエンコーディングを使用します。一方、XMLエンコードはSOAPを使用します。しかし、私が知る限り、 WS-I Basic Profile には準拠していません。 。したがって、Webサービスの相互運用性は非常に限られています。

どちらの概念でもプロセス間通信が可能です。アプリケーションが.NETのみを使用する場合は、.NET Remotingを使用することをお勧めします。

ただし、他のプログラミング言語との相互運用性を提供する予定がある場合は、Webサービスを使用する必要があります。

ASP.NETベースのWebサービスには、HTTP経由でのみアクセスできます。 .NET Remotingは、あらゆるプロトコルで使用できます。

Webサービスはステートレス環境で動作し、各リクエストの結果、リクエストを処理するために新しいオブジェクトが作成されます。 .NET Remotingは状態管理オプションをサポートし、同じクライアントからの複数の呼び出しを相関させ、コールバックをサポートできます。

Webサービスは、SOAPメッセージに含まれるXMLを介してオブジェクトをシリアル化するため、XMLで完全に表現できるアイテムのみを処理できます。 .NET Remotingは、データ型に関する情報を含む共通言語ランタイムアセンブリの存在に依存しています。これにより、オブジェクトについて渡す必要のある情報が制限され、オブジェクトを値または参照で渡すことができます。

Webサービスは、プラットフォーム間の相互運用性をサポートしており、異種環境に適しています。 .NET Remotingでは、.NET、または同種環境を意味する.NET Remotingをサポートする別のフレームワークを使用してクライアントを構築する必要があります。

リモート処理とWebサービスの両方は、アプリケーション間の通信方法です。

リモーティング-リモーティングでは、通信プロセスに関係するアプリケーションが同じコンピューター、同じまたは異なるネットワーク内の異なるコンピューターに配置される場合があります。リモート処理では、両方のアプリケーションが相互に認識しています。アプリケーションオブジェクトのプロキシが他のアプリケーションで作成されます。

Webサービス-Webサービスを使用したアプリケーション間の通信は、プラットフォームとプログラミングに依存しません。このWebサービスが実際にどのように実装されているかを知る必要なく、Webサービスを使用するアプリケーションは単にアクセスするだけです。作成した。

WebServicesはリモーティングの一種です。AppDomainの外部の同じマシン上または同じマシン上でコードを効率的に実行しているためです。

同じマシン上またはネットワーク経由のリモート処理(InterProcess)は、透過的なプロキシとシリアル化を介してAppDomain /プラットフォーム境界間でオブジェクトをマーシャリングするという点で異なります。リモート処理には複雑さが伴うため、非常に複雑になる可能性があります。 WCFにより、物事の維持がずっと簡単になりました。パフォーマンスに関しては、私は両方のアプローチを比較していないため、InterProcessコンテキストで両方がどのように機能するかを確認することに間違いなく興味があります。 WCFはバイナリバインディングと通信でき、HTTPプロトコルに限定されないため。

WCFは、プロセス間通信にPipesを使用することでこれをはるかに単純化しました。

最終的に、ポート80(標準)を介した通信に使用されるWebServicesは、異なるシリアル化フォーマッターを使用して、事前定義されたポートおよびチャネルを介して通信できます。

これらは、これらのタイプの通信のためのメソッドを提供するWCFによってアップグレードされました。

リモーティングは、ローカルメソッドとして呼び出される外部メソッドをシミュレートし、同じタイプのパラメーターを受け入れるため、オブジェクトをシリアル化して転送し、リモートメソッド(同じ言語またはプラットフォーム)を呼び出し、応答を提供するだけです。 / p>

Webサービス(SOAPサービス)はRPC用語でクロスプラットフォームメソッドの呼び出しを処理しますが、ドキュメントスタイルサービスを使用してさらに改善できます。XMLはネイティブをマーシャリングおよびアンマーシャリングすることで中間として機能するため、言語またはプラットフォームは障壁ではありませんおよびXML表現。

WebServiceはHTTP経由で実装されますが、RemotingはTCP / UDP経由で実装されます。 したがって、リモート処理の速度は向上します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top