Wcf-overview
WCF-概要
WCFはWindows Communication Foundationの略です。 WCFの基本的な機能は相互運用性です。 これは、サービス指向アプリケーションの構築に使用されるマイクロソフトの最新技術の1つです。 HTTP要求が均一に表されるメッセージベースの通信の概念に基づいて、WCFでは、さまざまなトランスポートメカニズムに関係なく、統一されたAPIを使用できます。
WCFは2006年にWindows Vistaの.NETフレームワークの一部として初めてリリースされ、その後数回更新されました。 WCF 4.5は、現在広く使用されている最新バージョンです。
WCFアプリケーションは3つのコンポーネントで構成されています-
- WCFサービス、
- WCFサービスホスト、および
- WCFサービスクライアント。
WCFプラットフォームは、サービスモデルとも呼ばれます。
WCFの基本概念
メッセージ
これは、身体から離れたいくつかの部分で構成される通信ユニットです。 メッセージインスタンスは、クライアントとサービス間のすべてのタイプの通信で送受信されます。
終点
メッセージが送信または受信されるアドレスを定義します。 また、メッセージのセットを定義するとともに、メッセージの送信方法を記述する通信メカニズムも指定します。 エンドポイントの構造は、次の部分で構成されます-
住所
アドレスは、メッセージを受信する正確な場所を指定し、Uniform Resource Identifier(URI)として指定されます。 scheme://domain [:port]/[path]で表されます。 以下に記載されているアドレスを見てください-
net.tcp://localhost:9000/ServiceA
ここで、「net.tcp」はTCPプロトコルのスキームです。 ドメインは「localhost」であり、これはマシンまたはWebドメインの名前にすることができ、パスは「ServiceA」です。
製本
エンドポイントが通信する方法を定義します。 通信のためのインフラストラクチャを作成するいくつかのバインディング要素で構成されます。 たとえば、バインディングは、TCP、HTTPなどのトランスポートに使用されるプロトコル、メッセージエンコーディングの形式、およびセキュリティと信頼性に関連するプロトコルを示します。
契約
これは、エンドポイントがクライアントに公開する機能を指定する操作のコレクションです。 通常、インターフェイス名で構成されます。
ホスティング
WCFの観点からのホスティングとは、セルフホスティング、IISホスティング、WASホスティングなど、利用可能な多くのオプションを通じて実行できるWCFサービスホスティングのことです。
メタデータ
これは、クライアントアプリケーションとWCFサービス間の簡単な相互作用を促進するため、WCFの重要な概念です。 通常、WCFサービスのメタデータは有効にすると自動的に生成され、これはサービスとそのエンドポイントの検査によって行われます。
WCFクライアント
メソッドの形式でサービス操作を公開するために作成されるクライアントアプリケーションは、WCFクライアントと呼ばれます。 これは、サービスホスティングを行うアプリケーションも含め、どのアプリケーションでもホストできます。
チャネル
チャネルは、クライアントがサービスと通信するための媒体です。 さまざまなタイプのチャネルがスタックされ、チャネルスタックと呼ばれます。
SOAP
「シンプルオブジェクトアクセスプロトコル」と呼ばれていますが、SOAPはトランスポートプロトコルではありません。代わりに、ヘッダーと本文セクションで構成されるXMLドキュメントです。
WCFの利点
- 他のサービスとの相互運用が可能です。 これは、クライアントとサービスの両方に.Netが必要な.NET Remotingとは対照的です。
- WCFサービスは、ASMX(Active Server Methods)Webサービスと比較して、信頼性とセキュリティが強化されています。
- セキュリティモデルの実装とWCFのバインディングの変更には、コーディングの大きな変更は必要ありません。 制約を満たすには、わずかな構成の変更が必要です。
- WCFにはログメカニズムが組み込まれていますが、他のテクノロジでは、必要なコーディングを行うことが不可欠です。
- WCFは、AJAXとJSON(JavaScriptオブジェクト表記法)のサポートを統合しています。
- スケーラビリティと、今後のWebサービス標準のサポートを提供します。
- 非常に堅牢なデフォルトのセキュリティメカニズムがあります。