リモート オブジェクト
同じコンピュータ上にあるか、遠く離れた複数のコンピュータ上にあるかに関係なく、異なるプロセスを実行するオブジェクト間に通信を確立することは、開発する者にとっての共通の目標です。特に広範囲にわたる分散アプリケーションを構築する場合は、より重要になってきます。これまでは、この目標を実現するには、通信ストリームの両端を担うオブジェクトだけでなく、下位レベル プロトコルのホスト、アプリケーション プログラミング インターフェイス、そして構成ツールや構成ファイルに関する深い知識が必要でした。複雑な作業であるために、豊富な経験と専門的な取り組みを必要としていたわけです。
.NET Framework には、プロトコルやエンコーディングに詳しくなくても、すばやく簡単に作業できるようにする通信方法がいくつか用意されています。したがって、Web アプリケーションを短期間で開発する必要がある場合でも、また、複数のプロトコルやシリアル化した最適化を使って、多数のコンピュータやオペレーティング システム上で実行する全社的規模の重要なアプリケーションを時間をかけて構築する場合のどちらでも、.NET Framework はサポートします。プロセス間通信が複雑な作業であることに変わりはありませんが、その大部分を .NET Framework によって処理できます。
.NET リモート処理によって、クライアント アプリケーションは、同じコンピュータまたはネットワークで利用できる他の任意のコンピュータの、他のプロセスのオブジェクトを使用できます。また、.NET リモート処理を使用すると、同じプロセスの他のアプリケーション ドメインと通信できます。.NET リモート処理によって、プロセス間通信の抽象的な手法が提供されるため、特定のサーバーとクライアントのプロセスや特定の通信機構からリモート処理可能オブジェクトを分離できます。この結果、柔軟性が向上し、カスタマイズも簡単になります。クライアントまたはサーバーを再コンパイルせずに、通信プロトコルやシリアル化形式を別のものに変更できます。また、リモート処理システムは、特定のアプリケーション モデルを前提としません。Web アプリケーション、コンソール アプリケーション、Windows サービスなど、ほぼすべての種類のプログラムから通信できます。任意の種類の実行可能アプリケーションを、リモート処理サーバーとして使用できます。どのようなアプリケーションでもリモート処理オブジェクトをホストできるため、同一のコンピュータまたはネットワーク上の任意のクライアントにサービスを提供できます。
このセクションの内容
- .NET での通信オプションの選択
アプリケーション ドメイン間通信に利用できる .NET Framework のオプションについて説明します。
- .NET Framework リモート処理の概要
.NET リモート処理に関する専門的な概要と、詳細な情報を示します。
- 高度なリモート処理
高度な通信を実現するための、さまざまな方法に関する情報を提供します。
- リモート処理の例
各種のリモート処理インフラストラクチャの要素を使用する完全なサンプル アプリケーションを紹介します。
参照
- リモート処理設定スキーマ
構成ファイルを使用して .NET リモート処理を構成する場合に使用する要素に関する参照情報を示します。
- System.Runtime.Remoting
分散アプリケーションの作成や構成に使用できるクラスとインターフェイスが用意されています。
関連するセクション
- アプリケーション ドメイン
アプリケーション ドメインと、その共通言語ランタイムでの使われ方に関する概要を示します。