Business Data Connectivity Service によってサポートされるフィルターの種類
最終更新日: 2010年7月16日
適用対象: SharePoint Server 2010
フィルターは、Business Data Connectivity (BDC) service がユーザー入力 (またはシステム入力) を取り込み、バックエンド API 呼び出しにその入力を提供するために使用する基本的な方法です。フィルターは、一連の複雑なパラメーターのどの場所にフィルター値を挿入するかを記述します。これを行うために、メソッド定義の入力または戻り値パラメーターが "タグ付け" され、挿入を行う必要のある位置としてフラグ設定されます。バックエンド API 呼び出しにはフィルター機能が備えられている必要があります。フィルターは、ユーザーに対してこの機能の表面を仕上げるメカニズムを形成しているだけです。
外部システムはさまざまなフィルタリング メカニズムを提供します。BDC には、データ ソースに関係なく同じフィルタリング セマンティクスをユーザーに提供できるように一般的なパターンがまとめられています。BDC には、いくつかのフィルターとフィルタリング パターンが用意されています。Comparison のようなユーザー フィルターは、ユーザーが上書きできる入力を宣言します。UserContext、UserProfile などのシステム フィルターを使用すると、BDC でユーザー トークンなどの値を安全に設定できます。詳細については、表 1 を参照してください。クライアントは、メタデータ リポジトリのクエリを実行して、システムがサポートしているフィルターを特定し、それに応じてユーザー インターフェイスを表示します。
重要 |
---|
ユーザー名をユーザー制御可能フィルターとして使用して機密性の高い個人データを返すメタデータをメタデータ作成者が作成すると、あるユーザーに他のユーザーのデータが表示される可能性があります。これを防ぐために、UserContextFilter を使用してユーザー名をメソッド呼び出しに渡します。 |
表 1 で、BDC がサポートするフィルターについて説明します。
表 1. フィルター値
値 |
フィルターの種類 |
説明 |
---|---|---|
ActivityId |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、呼び出している操作のコンテキスト ID を表す必要があります。Business Connectivity Services は、現在の操作コンテキストを表す GUID を ActivityId フィルターに関連付けられている入力パラメーターの値として設定します。 |
Batching |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。その値は、外部システムから取得されたフィルターの最後の値に、任意のクライアント アプリケーションで自動的に設定できます。その後、外部システムは、この値を使用して、アイテムまたは変更の列挙を再開できます。 |
BatchingTermination |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。外部システムから返される値は、残りのデータを取得するために追加の呼び出しが必要かどうかを示します。 |
Comparison |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。外部システムは、ComparisonFilter の値と、一連の EntityInstances の特定のフィールドの値を比較し、フィールドの値が比較テストに合格した EntityInstances のみを返すことができます。 |
Input |
ユーザー フィルター |
外部システムの操作を呼び出すときに使用されます。外部システムは、InputFilter の値を操作に対する追加引数として使用できます。 |
InputOutput |
ユーザー フィルター |
外部システムの操作を呼び出すときに使用されます。外部システムは、InputOutputFilter の値を操作に対する追加引数として使用し、ReturnTypeDescriptor では取得できない、操作の他の結果を InputOutputFilter の値として取得できます。 |
LastId |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。その値は、複数のチャンクにデータを返すファインダー内で外部システムから読み取られた最後のアイテムの識別子値に、任意のクライアント アプリケーションで自動的に設定できます。その後、外部システムは、この値を使用して次のアイテム以降の残りのアイテムを返すことができます。 |
Limit |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。その値は、それが属するメソッドが呼び出されたときに返される外部アイテム (EntityInstances) の数に対する制限として解釈できます。 |
Output |
ユーザー フィルター |
外部システムの操作を呼び出すときに使用されます。ReturnTypeDescriptor では取得できない、操作の他の結果を、InputOutputFilter の値として取得できます。 |
PageNumber |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。その値は、複数ページの結果に対して外部システムが返す必要のある、ページの 0 から始まるインデックスを表します。 |
Password |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、Secure Store に格納されているパスワードを表す必要があります。Business Connectivity Services は、外部システム インスタンス (LobSystemInstance) の SecondarySsoApplicationId プロパティと SsoProviderImplementation プロパティにマッピングする資格情報を取得します。その資格情報から取得したパスワードを、Password フィルターに関連付けられている入力パラメーターの値として使用します。 注意 SecondarySSOApplicationId は、SSOApplicationId とは異なります。SecondarySSOApplicationId は、UserName フィルターと Password フィルターで使用されます。詳細については、「BDC カスタム プロパティ」および「LobSystemInstances の LobSystemInstance 要素 (BDCMetadata スキーマ)」を参照してください。 |
SSOTicket |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、Secure Store に格納されているユーザーのサインオン チケットを表す必要があります。対象のサービスまたはアプリケーションは、このチケットを使用してユーザー資格情報を取得できます。Secure Store では、外部システム インスタンスに指定されている SSOProviderImplementation プロパティを使用し、このプロバイダーに SSOTicket を発行するように要求します。この SSOTicket は、SSOTicket フィルターに関連付けられている入力パラメーターとして渡されます。 |
Timestamp |
ユーザー フィルター |
外部システムの操作を呼び出すときに使用されます。その値は、クライアントがこの関数を最後に呼び出した時間を表します。その後、外部システムは、この値を使用して、指定された時間以降の変更をレポートできます。 |
UserContext |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、ユーザー コンテキストを表す必要があります。この場合、Business Connectivity Services は、フィルター (FilterDescriptor) の UserContextType プロパティを使用して、入力パラメーターで設定する値を見つけます。 指定されている UserContextType が MachineId の場合、入力パラメーターに渡される値は、コンピューターのオペレーティング システム インストールの一意 ID です。 指定されている UserContextType が QualifiedUserName の場合、入力パラメーターに渡される値は、次のどちらかの値です。
|
UserCulture |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、操作を呼び出しているユーザー環境のカルチャを表す必要があります。Business Connectivity Services は、フィルターの Format プロパティを使用して、入力パラメーターで設定する値を見つけます。
|
UserName |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、Secure Store に格納されているユーザー名を表す必要があります。Business Connectivity Services は、外部システム インスタンスの SecondarySsoApplicationId プロパティと SsoProviderImplementation プロパティにマッピングする資格情報を取得します。その資格情報から取得したユーザー名を、UserName システム フィルターに関連付けられている入力パラメーターの値として使用します。 注意 SecondarySSOApplicationId は、SSOApplicationId とは異なります。SecondarySSOApplicationId は、UserName フィルターと Password フィルターで使用されます。詳細については、「BDC カスタム プロパティ」および「LobSystemInstances の LobSystemInstance 要素 (BDCMetadata スキーマ)」を参照してください。 |
UserProfile |
システム フィルター |
外部システムの操作を呼び出すときに使用されます。入力パラメーターとして渡される値は、現在のユーザーのプロファイルのプロパティである必要があります。Business Connectivity Services は、フィルターに指定されている UserProfileProvider プロパティと UserProfilePropertyName プロパティを使用して、入力パラメーターで設定する値を見つけます。UserProfileProvider は、現在のユーザーのプロファイルを取得するために使用されます。UserProfilePropertyName には、値が入力パラメーターに渡される必要があるユーザー プロファイルのプロパティ名が格納されています。 |
Wildcard |
ユーザー フィルター |
外部システムのクエリを実行するときに使用されます。その値は、通常の文字とワイルドカード文字のパターンを表し、そのパターンは一連の EntityInstances の特定のフィールドの値と照合されます。外部システムは、指定されたパターンにフィールドの値が一致する EntityInstances のみを返します。 |