Windows Communication Foundation のドキュメントでは、次の用語が定義されています。
条件
| 任期 | Definition |
|---|---|
| address | メッセージを受信する場所を指定します。 URI (Uniform Resource Identifier) として指定されます。 URI スキーマ部分では、HTTP や TCP など、アドレスに到達するために使用するトランスポート メカニズムの名前が付けられます。 URI の階層部分には、形式がトランスポート メカニズムに依存する一意の場所が含まれています。 |
| アプリケーション エンドポイント | アプリケーションによって公開され、アプリケーションによって実装されるサービス コントラクトに対応するエンドポイント。 |
| ビヘイビアー | 動作は、サービス、エンドポイント、特定の操作、またはクライアントのさまざまなランタイムの側面を制御するコンポーネントです。 動作はスコープに従ってグループ化されます。一般的な動作はすべてのエンドポイントにグローバルに影響し、サービスの動作はサービス関連の側面にのみ影響し、エンドポイントの動作はエンドポイント関連のプロパティにのみ影響し、操作レベルの動作は特定の操作に影響します。 |
| バインディング | WCF サービスとの通信に使用する通信プロトコルを定義します。 これは、通信インフラストラクチャを作成するために一方を積み重ねるバインディング要素と呼ばれる一連のコンポーネントで構成されます。 エンドポイントを参照してください。 |
| チャネル | バインド要素の具象実装。 バインディングは構成を表し、チャネルはその構成に関連付けられている実装です。 そのため、各バインド要素に関連付けられたチャネルがあります。 チャネルは互いに重なって、バインディングの具象実装であるチャネル スタックを作成します。 |
| クレーム ベースのセキュリティ | 要求に基づいて保護されたリソースへの承認されたアクセスを許可します。 |
| クライアント アプリケーション | クライアント アプリケーションは、1 つ以上のエンドポイントとメッセージを交換するプログラムです。 クライアント アプリケーションは、まず WCF クライアントのインスタンスを作成し、WCF クライアントのメソッドを呼び出します。 1 つのアプリケーションがクライアントとサービスの両方になることに注意することが重要です。 |
| コーディング | 開発者は、サービスまたはクライアントのすべてのコンポーネントを厳密に制御でき、構成を通じて行われるすべての設定を検査し、必要に応じてコードによってオーバーライドすることができます。 アプリケーションの制御は、コーディング、構成、または両方の組み合わせによって行うことができます。 |
| 構成 | 構成には、コードの記述後に再コンパイルしなくても、開発者以外のユーザー (ネットワーク管理者など) がクライアントとサービスのパラメーターを設定できるという利点があります。 構成では、エンドポイント アドレスなどの値を設定できるだけでなく、エンドポイント、バインド、動作を追加できるようにすることで、さらに制御することもできます。 アプリケーションの制御は、構成、コーディング、または両方の組み合わせによって行うことができます。 |
| コントラクト | コントラクトとは、特定の種類のコントラクトに対するサポートの仕様です。 たとえば、サービス コントラクトは、操作のグループの仕様です。 WCF では、コントラクトには、System.ServiceModel.Description 名前空間にある説明オブジェクトにミラー化された階層があります。 サービス コントラクトは、WCF の最大のコントラクト スコープです。 サービス コントラクト内の各サービス操作には、エラー メッセージを含むメッセージを指定する操作コントラクトがあり、操作は交換でき、その方向を指定します。 操作内の各メッセージには、メッセージ コントラクト、SOAP メッセージ エンベロープの構造の仕様、および各メッセージ コントラクトには、メッセージに含まれるデータ構造を指定するデータ コントラクトがあります。 |
| データ コントラクト | 他のユーザーがサービスと相互運用できるようにするには、サービスが使用するデータ型をメタデータで記述する必要があります。 データ型の説明はデータ コントラクトと呼ばれ、型はメッセージの任意の部分 (パラメーターや戻り値の型など) で使用できます。 サービスで単純型のみを使用している場合、データ コントラクトを明示的に使用する必要はありません。 |
| 宣言型アプリケーション | 命令命令を実行せずに実行時に作成するのに十分に記述されたアプリケーション。 |
| エンドポイント | WCF サービスとの通信に使用されるアドレス、バインディング、コントラクトで構成されます。 |
| エンドポイント アドレス | サービス内のエンドポイントごとに一意のエンドポイント アドレスを作成したり、特定の条件下でエンドポイント間でアドレスを共有したりできます。 |
| fault contract | エラー コントラクトをサービス操作に関連付けて、呼び出し元に返すことができるエラーを示すことができます。 操作には、0 個以上のエラーを関連付けることができます。 これらのエラーは、プログラミング モデルの例外としてモデル化された SOAP エラーです。 例外は SOAP エラーに変換され、クライアントに送信できます。 |
| ホスティング | サービスは、何らかのプロセスでホストされている必要があります。 ホストは、サービスの有効期間を制御するアプリケーションです。 サービスは、既存のホスティング プロセスによってセルフホステッドまたは管理できます。 |
| ホスティング プロセス | ホスティング プロセスは、サービスをホストするように設計されたアプリケーションです。 これには、インターネット インフォメーション サービス (IIS)、Windows ライセンス認証サービス (WAS)、および Windows サービスが含まれます。 これらのホストされるシナリオでは、ホストはサービスの有効期間を制御します。 たとえば、IIS を使用して、サービス アセンブリと構成ファイルを含む仮想ディレクトリを設定できます。 メッセージを受信すると、IIS はサービスを開始し、その有効期間を制御します。 |
| 開始操作 | 新しいセッションの最初の操作として呼び出される操作。 非開始操作は、少なくとも 1 つの開始操作が呼び出された後にのみ呼び出すことができます。 |
| インスタンス化モデル | サービスにはインスタンス化モデルがあります。 3 つのインスタンス化モデルがあります。"単一" では、1 つの CLR オブジェクトがすべてのクライアントにサービスを提供します。各クライアント呼び出しを処理する新しい CLR オブジェクトが作成されます。と "セッションごと"。CLR オブジェクトのセットが作成されます。これは、個別のセッションごとに 1 つずつです。 インスタンス化モデルの選択は、アプリケーションの要件とサービスの予想される使用パターンによって異なります。 |
| メッセージ | メッセージは、本文やヘッダーなど、複数の部分で構成されるデータの自己完結型の単位です。 |
| メッセージ コントラクト | メッセージ コントラクトは、メッセージの形式を記述します。 たとえば、メッセージ要素をヘッダーと本文のどちらで使用するか、メッセージの要素にどのレベルのセキュリティを適用する必要があるかなどを宣言します。 |
| メッセージ セキュリティ モード | メッセージ セキュリティ モードでは、1 つ以上のセキュリティ仕様を実装することによってセキュリティが提供されることを指定します。 各メッセージには、転送中にセキュリティを提供し、受信者が改ざんを検出してメッセージを復号化できるようにするために必要なメカニズムが含まれています。 この意味で、セキュリティはすべてのメッセージ内にカプセル化され、複数のホップにわたってエンドツーエンドのセキュリティが提供されます。 セキュリティ情報はメッセージの一部になるため、メッセージに複数の種類の資格情報を含めることもできます (これらはクレームと呼ばれます)。 この方法には、メッセージが配信元と送信先の間の複数のトランスポートを含め、すべてのトランスポートを安全に移動できるという利点もあります。 この方法の欠点は、使用される暗号化メカニズムの複雑さによって、パフォーマンスに影響が生じることです。 |
| メタデータ | サービスのメタデータは、外部エンティティがサービスと通信するために理解する必要があるサービスの特性を記述します。 メタデータは、ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe) で使用して、WCF クライアントと、クライアント アプリケーションがサービスとの対話に使用できる付随する構成を生成するために使用できます。 サービスによって公開されるメタデータには、サービスのデータ コントラクトを定義する XML スキーマ ドキュメントと、サービスのメソッドを記述する WSDL ドキュメントが含まれます。 有効にすると、サービスとそのエンドポイントを調べることで、WCF によってサービスのメタデータが自動的に生成されます。 サービスからメタデータを発行するには、メタデータの動作を明示的に有効にする必要があります。 |
| 操作コントラクト | 操作コントラクトは、操作のパラメーターと戻り値の型を定義します。 サービス コントラクトを定義するインターフェイスを作成するときは、コントラクトの一部である各メソッド定義に T:System.ServiceModel.OperationContractAttribute 属性を適用することで、操作コントラクトを示します。 操作は、1 つのメッセージを取得して 1 つのメッセージを返すか、一連の型を受け取って型を返すようにモデル化できます。 後者の場合、システムは、その操作と交換されるメッセージの形式を決定します。 |
| プロジェクション | ワイヤ上のデータの表現。 たとえば、SOAP プロジェクションは SOAP エンベロープとしてメッセージを送信し、Web プロジェクションは JSON 形式でメッセージを送信します。 |
| セキュリティ | WCF のセキュリティには、機密性 (傍受を防ぐためのメッセージの暗号化)、整合性 (メッセージの改ざんを検出する手段)、認証 (サーバーとクライアントの検証手段)、承認 (リソースへのアクセス制御) が含まれます。 これらの機能は、TLS over HTTP (HTTPS とも呼ばれます) などの既存のセキュリティ メカニズムを利用するか、さまざまな WS-* セキュリティ仕様の 1 つ以上を実装することによって提供されます。 |
| セルフホステッド サービス | セルフホステッド サービスは、開発者が作成したプロセス アプリケーション内で実行されるサービスです。 開発者は、その有効期間を制御し、サービスのプロパティを設定し、サービスを開き (リッスン モードに設定します)、サービスを閉じます。 |
| サービス | 1 つ以上のエンドポイントを公開し、各エンドポイントが 1 つ以上の操作を公開するプログラムまたはプロセス。 |
| サービス コントラクト | サービス コントラクトは、複数の関連する操作を 1 つの機能単位に結び付けます。 コントラクトでは、サービスの名前空間、対応するコールバック コントラクト、その他の設定など、サービス レベルの設定を定義できます。 ほとんどの場合、コントラクトは、選択したプログラミング言語でインターフェイスを作成し、T:System.ServiceModel.ServiceContractAttribute 属性をインターフェイスに適用することによって定義されます。 実際のサービス コードは、インターフェイスを実装することによって得られます。 |
| サービス操作 | サービス操作は、操作の機能を実装するサービスのコードで定義されたプロシージャです。 この操作は、WCF クライアントのメソッドとしてクライアントに公開されます。 このメソッドは値を返し、オプションの数の引数を受け取ったり、引数を受け取ったり、応答を返さない場合があります。 たとえば、"Hello" として機能する操作は、クライアントのプレゼンスの通知として使用したり、一連の操作を開始したりできます。 |
| システム提供のバインディング | WCF には、システム指定のバインドが多数含まれています。 これらは、特定のシナリオ用に最適化されたバインド要素のコレクションです。 たとえば、T:System.ServiceModel.WSHttpBinding は、さまざまな WS-* 仕様を実装するサービスとの相互運用性のために設計されています。 これらのバインドは、特定のシナリオに正しく適用できるオプションのみを提示することで、時間を節約します。 これらのバインディングのいずれかが要件を満たしていない場合は、独自のカスタム バインドを作成できます。 |
| 終了操作 | 既存のセッションの最後のメッセージとして呼び出される操作。 既定のケースでは、WCF は、サービスが関連付けられたセッションが閉じられた後に、サービス オブジェクトとそのコンテキストをリサイクルします。 |
| トランスポート セキュリティ モード | セキュリティは、トランスポート モード、メッセージ セキュリティ モード、メッセージ資格情報モードでのトランスポートの 3 つのモードのいずれかで提供できます。 トランスポート セキュリティ モードでは、機密性、整合性、および認証がトランスポート層メカニズム (HTTPS など) によって提供されることを指定します。 HTTPS のようなトランスポートを使用する場合、このモードはパフォーマンスが効率的であるという利点があり、インターネット上での普及のために十分に理解されています。 欠点は、この種のセキュリティが通信パスの各ホップに個別に適用され、通信が "中間者" 攻撃の影響を受けやすくなります。 |
| メッセージ資格情報セキュリティ モードを使用したトランスポート | このモードではトランスポート層を使用してメッセージの機密性、認証、整合性を提供しますが、各メッセージにはメッセージの受信者が必要とする複数の資格情報 (要求) を含めることができます。 |
| 型コンバーター | CLR 型は、1 つ以上の System.ComponentModel.TypeConverter 派生型に関連付けることができます。この派生型を使用すると、CLR 型のインスタンスを他の型のインスタンスとの間で変換できます。 型コンバーターは、System.ComponentModel.TypeConverterAttribute 属性を使用して CLR 型に関連付けられます。 TypeConverterAttribute は、CLR 型またはプロパティで直接指定できます。 プロパティで指定された型コンバーターは、プロパティの CLR 型で指定された型コンバーターよりも常に優先されます。 |
| WCF クライアント | WCF クライアントは、(Visual Basic や Visual C# など、選択した .NET Framework プログラミング言語で) サービス操作をメソッドとして公開するクライアント アプリケーションコンストラクトです。 サービスをホストするアプリケーションを含め、任意のアプリケーションで WCF クライアントをホストできます。 そのため、他のサービスの WCF クライアントを含むサービスを作成できます。 WCF クライアントは、ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe) を使用して、メタデータを発行する実行中のサービスをポイントすることで自動的に生成できます。 |
| ワークフロー サービス | ワークフロー サービスは、ワークフローとして実装される WCF サービスです。 ワークフローには、WCF メッセージを送受信するメッセージング アクティビティが含まれています。 |
| WS-* | WS-Security、WS-ReliableMessaging など、WCF で実装される Web サービス (WS) 仕様のセットの短縮形。 |
| XAML | eXtensible アプリケーション マークアップ言語 |
| XAML スキーマ | XAML でカスタム型を定義するために使用されるマークアップ スキーマ。 |