BRE ポリシーの操作
MICROSOFT BizTalk Accelerator for SWIFT (A4SWIFT) は、「SWIFT リファレンス ガイド」で説明されているように、ビジネス ルール エンジン (BRE) ポリシーを使用して SWIFT メッセージを検証します。 このようなポリシーには、次のようなものがある。
書式設定
値の範囲
有効なリスト エントリ
対応するエラー コードを含むネットワーク ルール
メッセージの内容から検証できる使用規則
これらのポリシーには、メッセージの内容に依存しない一般的なプラクティスや、メッセージ間の検証は含まれません。
メッセージ (およびヘッダーとトレーラー) の XSD スキーマは、基本的なフィールドのオプション性とカーディナリティを実装しますが、書式設定を実装するメッセージ スキーマは SWIFT 基本型.xsd スキーマを参照します。 メッセージの種類ごとに 2 つの特定のポリシーによって、各メッセージに関連付けられているルールが定義されます。
マスター ポリシー (MTxxx_Master_Policy.xml)
検証ポリシー (MTxxx_Validation_Policy.xml)
各メッセージの種類のマスター ポリシーは、そのメッセージの種類に適用される特定のポリシーを呼び出します。 これらの特定のポリシーには、一般的な関数が実装する特別なフィールド チェック、ネットワーク ルール、および使用規則が含まれます。 メッセージのマスター ポリシーは、そのメッセージに対して最初に実行されるポリシーです。 ポリシーの一覧には、メッセージの種類の検証ポリシーが含まれています。 各マスター ポリシーには、"このメッセージの種類の場合は、ポリシーの一覧を実行する" というコンストラクトがあります。
各メッセージの種類の検証ポリシーには、フィールド コードなど、他の外部ルールで実装されている単一フィールド チェックや、フィールドに特定のボキャブラリを使用するチェックが一覧表示されます。 これらの個々のルールは、フィールド固有であるため、通常、2 つ以上のメッセージで一般的です。 プログラミング コードではなく、BRE ボキャブラリのA4SWIFT_Codelistsは、許可されるフィールド値を提供します。
SWIFT リファレンス ガイドでは、各ネットワーク 規則を個別に実装します。 各ネットワーク 規則は、 SWIFT リファレンス ガイド で定義されているメッセージの種類のセットに対応します。
A4SWIFTセットアップでは、A4SWIFTのインストール時にルールがインストールされません。 スキーマを選択し、アセンブリをビルドして配置したら、BRE 配置ユーティリティを使用して、スキーマ セットに適した規則を選択して展開できます。 選択したメッセージのルールを展開するには、ユーティリティを実行し、関連するアセンブリを選択します。 このツールは、対応するマスター ポリシー、検証ポリシー、および参照されているネットワークまたはその他の規則を選択します。
A4SWIFTでは、2 種類のボキャブラリをA4SWIFTルールに関連付けます。 最初のボキャブラリは、さまざまなコード リスト値を含むA4SWIFT_Codelistです。 2 番目のボキャブラリはA4SWIFT_Functionsです。 これらのボキャブラリは、ロジックの検証と計算のための .NET クラスです。
BRE 検証構成パラメーターを true に設定することで、受信パイプラインのA4SWIFT逆アセンブラーによってルールを呼び出すことができます。 オーケストレーションからルールを呼び出すこともできます。 A4SWIFT アセンブラー (ASM) によって規則を呼び出すことはできません。 スキーマに対してインスタンスを検証し、ルールを呼び出すには、オーケストレーションまたは受信パイプラインを使用する必要があります。
メッセージがスキーマ検証またはビジネス ルールのいずれかに失敗した場合、A4SWIFTは、見つかったエラーの説明とエラーのフィールドの表示、またはエラーが発生したメッセージ内の位置を含むエラー コレクションを準備します。 詳細については、「 失敗したメッセージ サブスクリプションの操作」を参照してください。
A4SWIFTが提供するセットにルールを追加できます。 たとえば、新しいメッセージのセットに影響を与えるマーケット プラクティス グループ ルールを採用する場合は、必要に応じて、1 つ以上の新しい検証を含む新しいバージョンのマスター ポリシーを実装できます。 同様に、追加の単一フィールド チェックを適用する場合は、これらのチェックをメッセージ検証ポリシーの新しいバージョンに追加できます。 新しい検証は、新しいルールまたはボキャブラリ関数として実装できます。
このセクションには、次のトピックが含まれています。