Microsoft Rules Composer を使用して、ルールセットで使用するボキャブラリを作成および管理する (プレビュー)

適用対象: Azure Logic Apps (Standard)

重要

この機能はプレビュー段階にあり、「Microsoft Azure プレビューの追加使用条件」が適用されます。

"ボキャブラリ" とは、ルールの条件およびアクションで使用されるファクトのフレンドリ名を使用する "ボキャブラリの定義" をまとめたものです。 ボキャブラリを定義すると、ルールセット内のルールは参照、理解が簡単になり、特定のビジネス分野の複数のユーザーによって共有できるようになります。 たとえば、ルール作成を新しい (または既存の) アプリケーションに統合するツール開発者も、ボキャブラリを使用できます。 ボキャブラリは、ビジネス セマンティクスと実装のギャップを解消します。

このガイドでは、Microsoft Rules Composer を使用して、共有ルール ストアに配置されるボキャブラリを作成および定義する方法について説明します。 使用するデータ ソースを選択できるほか、新しいボキャブラリを作成したり、ボキャブラリの定義を追加したりすることもできます。 ボキャブラリのバージョンをルール ストアに保存できます。

前提条件

  • Microsoft Rules Composer をダウンロードしてインストールします。

  • ボキャブラリを追加するルール ストアを含む XML ファイル。

ボキャブラリによってルールを読むのと理解するのが簡単になるしくみ

ルールの条件やアクションを定義するために使用される用語は、多くの場合、分野または業界に固有の用語体系に従って表現されます。 たとえば、メール ユーザーは、"次の送信者から受信したメッセージ" や "次より後に受信したメッセージ" などの用語を使用してルールを記述します。 保険ビジネス アナリストは、"リスク要因" や "補償額" などの用語を使用してルールを記述します。

別の例として、承認状態の変数が XML スキーマ内の特定の値を指している場合があります。 ルールにこの複雑な表現を挿入する代わりに、その変数値に関連付けるボキャブラリの定義を作成し、フレンドリ名として "Status" を使用できます。 その後、任意の数のルールで "Status" を使用できます。 この分野固有の用語の背景には、ルールの条件やルールのアクションを実装するテクノロジ アーティファクト (XML オブジェクトや XML ドキュメントなど) が存在します。 ただし、ルール エンジンは、そのデータを格納するテーブルから対応するデータを取得できます。

ルールの条件とアクションはデータ ソースに基づいていますが、これにはバインドが何を参照しているのかをユーザーにほとんど示さない、読むのが難しい詳細なバインド情報が含まれる可能性があります。 ルール エンジンを使用して、ボキャブラリを作成できます。これにより、ユーザーがルールの条件とアクションに関連付けることのできる直観的かつ分野固有の用語を定義して、ルールの開発を簡略化できます。

ボキャブラリを作成する

  1. Microsoft Rules Composer を開きます。 [ルール ストア] メニューで、[読み込み] を選択します。

  2. 作業するルール ストアを含む XML ファイルを探して選択します。

  3. ファクト エクスプローラー ウィンドウで、[ボキャブラリ] タブを選択します。

  4. [ボキャブラリ] タブで、[ボキャブラリ] フォルダーを見つけます。

  5. フォルダーのショートカット メニューを開き、[新しいボキャブラリの追加] を選択します。

    Microsoft Rules Composer は、既定のバージョンとして 1.0 のボキャブラリ バージョンを持つ新しい空のボキャブラリを作成します。

    ボキャブラリを使用するには、ボキャブラリにバージョン スタンプが必要です。 この要件により、ボキャブラリの定義が変更されず、参照整合性が保持されることを保証します。つまり、その特定のバージョンを使用するルールセットが、基になるボキャブラリの変更によって予期せず失敗することはありません。

次の表に、ボキャブラリの操作に使用できるその他のショートカット コマンドを示します。

ショートカット コマンド タスク
新しいバージョンの追加 選択したボキャブラリから新しい空のボキャブラリ バージョンを作成します。 他のボキャブラリ バージョンからボキャブラリの定義をコピーし、新しいバージョンに貼り付けることができます。
ボキャブラリのバージョンの貼り付け 選択したボキャブラリで、前に別のボキャブラリ バージョンからコピーしたボキャブラリの定義を新しいバージョンとして貼り付けます。
削除 選択したボキャブラリとそのすべてのバージョンを削除します。

次の表に、ボキャブラリ バージョンの操作に使用できるその他のショートカット コマンドを示します。

ショートカット コマンド タスク
新しい定義の追加 ボキャブラリの定義ウィザードを起動して、選択したボキャブラリ バージョンに新しい定義を作成します。
および 選択したボキャブラリ バージョンとその定義に加えた変更を保存します。
再読み込み 選択したボキャブラリ バージョンとその定義を再度読み込みます。バージョンに加えた作業中の変更を破棄し、ルール ストアからその内容を復元することもできます。

次の表に、ボキャブラリ バージョンの操作に使用できるその他のショートカット コマンドを示します。

ショートカット コマンド タスク
変更 ボキャブラリの定義ウィザードを起動して、選択した定義を変更します。
ソース ファクトに移動 選択したボキャブラリの定義の、.NET アセンブリまたは XML スキーマ内の対応するソース ファクトに移動します。
ショートカット コマンド タスク
ルート ノードの選択 複数のルート ノードを含む XML スキーマから、読み込むルート ノードを選択します。

以降のセクションでは、これらのタスクについて詳しく説明します。

ボキャブラリ バージョンをコピーする

ボキャブラリに変更を加える場合は、変更を反映する新しいボキャブラリ バージョンを作成します。 既存のボキャブラリ バージョンからコピーを作成できますが、バージョン番号は異なります。

  1. ファクト エクスプローラー ウィンドウで、ボキャブラリ バージョンのショートカット メニューを開き、[コピー] を選択します。

  2. ボキャブラリのショートカット メニューを開き、[ルールセット バージョンの貼り付け] を選択します。

    Microsoft Rules Composer は、コピーしたバージョンと同じ定義で、異なる番号を持つ新しいボキャブラリ バージョンを作成します。

重要

新しいボキャブラリ バージョンを作成する場合、以前のボキャブラリ バージョンを使用して構築されたルールは、引き続き以前のバージョンを参照します。 それらのルールと新しいボキャブラリ バージョンの間の参照を必ず更新してください。

空のボキャブラリ バージョンを作成する

ボキャブラリ バージョンに定義を追加した後、別の番号で新しい空のボキャブラリ バージョンを作成し、後で作業できるようにそのバージョンを保存できます。

  1. ファクト エクスプローラー ウィンドウで、[ボキャブラリ] タブを選択します。

  2. [ボキャブラリ] タブで、新しいバージョンを作成するボキャブラリを見つけます。

  3. ボキャブラリのショートカット メニューを開き、[新しいバージョンの追加] を選択します。

    Microsoft Rules Composer は、別の番号で新しい空のボキャブラリ バージョンを作成します。

  4. 新しいボキャブラリ バージョンのショートカット メニューを開き、[保存] を選択します。

これで、他のボキャブラリ バージョンからボキャブラリの定義をコピーし、新しいバージョンに貼り付けることができます。

ボキャブラリ名を変更する

ボキャブラリまたはルールセットの名前を変更する前に、すべてのもの (ボキャブラリの定義のすべてのバージョン) を保存する必要があります。

  1. ファクト エクスプローラー ウィンドウで、[ボキャブラリ] タブを選択します。

  2. [ボキャブラリ] タブの [ボキャブラリ] フォルダーで、名前を変更するボキャブラリを見つけます。

  3. ボキャブラリを選択し、[プロパティ] ウィンドウで名前を編集します。

ボキャブラリの定義を作成する

"ボキャブラリの定義" は、定数値、値の範囲、値セット、または .NET アセンブリや XML ドキュメントの要素として作成できます。 ボキャブラリの定義を作成するには、ボキャブラリの定義ウィザードを使用できます。

あるいは、[.NET クラス] タブか [XML スキーマ] タブ、または .NET クラスのメンバーからファクトを選択することにより、新しいボキャブラリの定義を作成できます。対象ファクトを [ボキャブラリ] タブにドラッグします。

たとえば、XML ノードなどです。

パブリック変数を選択する場合は、XML の定義ウィザードと同じように、Get および Set オプションを指定することもできます。

ボキャブラリの定義として定数値を追加する

  1. [ボキャブラリ] タブの [ボキャブラリ] フォルダーに移動します。

  2. [ボキャブラリ] フォルダーで、目的のボキャブラリ バージョンのショートカット メニューを開きます。

  3. ボキャブラリ バージョンのショートカット メニューから、[新しい定義の追加] を選択します。

    [.NET クラス] タブと [XML スキーマ] タブから項目をドラッグすることもできます。

    ボキャブラリの定義ウィザードが起動し、定義を作成できます。

  4. ウィザードで、[定数値、値の範囲、または値セット] を選択し、[次へ] を選択します。

  5. 次の情報を指定します。

    プロパティ 説明
    定義名 定義の名前。
    説明 定義の説明。
    定義の種類 このタスクでは、[定数値] を選択します。
  6. 準備ができたら、 [次へ] を選択します。

  7. 次の情報を指定します。

    プロパティ 説明
    定義の種類 定義のシステム データ型を選択します。
    [表示名] 512 文字以下の名前を入力します。
    Value 定数の値を入力します。
  8. 終わったら、[完了] を選択します。

ボキャブラリの定義として値範囲を追加する

  1. [ボキャブラリ] タブの [ボキャブラリ] フォルダーに移動します。

  2. [ボキャブラリ] フォルダーで、目的のボキャブラリ バージョンのショートカット メニューを開きます。

  3. ボキャブラリ バージョンのショートカット メニューから、[新しい定義の追加] を選択します。

    [.NET クラス] タブと [XML スキーマ] タブから項目をドラッグすることもできます。

    ボキャブラリの定義ウィザードが起動し、定義を作成できます。

  4. ウィザードで、[定数値、値の範囲、または値セット] を選択し、[次へ] を選択します。

  5. 次の情報を指定します。

    プロパティ 説明
    定義名 定義の名前。
    説明 定義の説明。
    定義の種類 このタスクでは、[値の範囲] を選択します。
  6. 準備ができたら、 [次へ] を選択します。

  7. [定義の種類] リストから、定義のシステム データ型を選択します。

  8. [手順 1 - 範囲の上限値と下限値の表示名/値を指定します] のテーブルで、[範囲の下限] を選択してから [編集] を選択します。

    開いた [パラメーター定義] ボックスでは、[定数値の使用] オプションのみを使用できます。

  9. 範囲の下限を指定する定数値を入力し、[OK] を選択します。

  10. [範囲の上限] ([範囲の下限] 値を超える必要があります) について前の手順を繰り返します。

  11. [手順 2 - 範囲の表示書式文字列を指定します] で、[表示書式文字列] プロパティに表示書式文字列を入力します。 既定の表示書式文字列に戻すには、[既定値] を選択します。

    Note

    書式文字列に、中かっこで囲んだパラメーター インデックスが含まれていることを確認します。たとえば、範囲の上限および下限パラメーターのプレースホルダーとして機能する {0}{1} を使用します。

    次の例は、値の範囲のボキャブラリの定義の例を示しています。

    スクリーンショットは、ボキャブラリの定義ウィザードの、値の範囲の定義と表示書式文字列を含むボキャブラリの定義を示しています。

  12. 準備ができたら、[終了] を選択します。

ボキャブラリの定義として値セットを追加する

  1. [ボキャブラリ] タブの [ボキャブラリ] フォルダーに移動します。

  2. [ボキャブラリ] フォルダーで、目的のボキャブラリ バージョンのショートカット メニューを開きます。

  3. ボキャブラリ バージョンのショートカット メニューから、[新しい定義の追加] を選択します。

    [.NET クラス] タブと [XML スキーマ] タブから項目をドラッグすることもできます。

    ボキャブラリの定義ウィザードが起動し、定義を作成できます。

  4. ウィザードで、[定数値、値の範囲、または値セット] を選択し、[次へ] を選択します。

  5. 次の情報を指定します。

    プロパティ 説明
    定義名 定義の名前。
    説明 定義の説明。
    定義の種類 このタスクでは、[値セット] を選択します。
  6. 準備ができたら、 [次へ] を選択します。

  7. 次の情報を指定します。

    プロパティ 説明
    定義の種類 定義のシステム データ型を選択します。
    [表示名] 512 文字以下の名前を入力します。

    [値の定義] では、[定数値の使用] オプションのみを使用できます。

  8. セットにメンバーを追加するには、定数値を入力し、[追加] を選択します。

  9. セットに含めるすべての値に対して、この手順を繰り返します。

    次の例は、セット内の複数の値を示しています。

    スクリーンショットは、ボキャブラリの定義ウィザードの、値セットとして書式指定文字列を含むボキャブラリの定義を示しています。

  10. セットの相対順序内で値を移動するには、[値] ボックスで値を選択し、[上へ] または [下へ] を選択します。

  11. セットからメンバーを削除するには、[値] ボックスで値を選択し、[削除] を選択します。

  12. セットが完成したら、[完了] を選択します。

ボキャブラリの定義として .NET クラスまたはクラス メンバーを追加する

開始する前に、.NET アセンブリを Microsoft Rules Composer のローカル ディレクトリに配置してください。 .NET アセンブリを更新する場合は、そのアセンブリへのルールセット バージョンの参照を更新してください。 詳細については、「.NET アセンブリ参照の更新」を参照してください。

  1. [ボキャブラリ] タブの [ボキャブラリ] フォルダーに移動します。

  2. [ボキャブラリ] フォルダーで、目的のボキャブラリ バージョンのショートカット メニューを開きます。

  3. ボキャブラリ バージョンのショートカット メニューから、[新しい定義の追加] を選択します。

    [.NET クラス] タブから .NET クラスまたはクラス メンバーをドラッグすることもできます。

    ボキャブラリの定義ウィザードが起動し、定義を作成できます。

  4. ウィザードで、[.NET クラスまたはクラス メンバー] を選択し、[次へ] を選択します。

  5. 次の情報を指定します。

    プロパティ 説明
    定義名 定義の名前。
    説明 定義の説明。
  6. [クラス メンバー情報] セクションで、[参照] を選択します。

  7. 目的のアセンブリを見つけて選択し、[開く] を選択します。

  8. [バインドの選択] ボックスで、アセンブリ ノードを展開します。

  9. クラスを選択するか、クラスを展開してクラス メンバーを選択し、[OK] を選択します。

  10. 次のいずれかの操作を実行します。

    • クラスを選択した場合は、[表示名] に 512 文字以下の名前を入力し、[完了] を選択します。

      このセクションについては、これで終了です。

    • パラメーターを持つクラス メンバーを選択する場合は、[次へ] を選択します。

      [表示名の指定 - .NET クラスまたはクラス メンバー定義] ページが表示されるので、各パラメーターの値と表示書式文字列を指定できます。

      1. [手順 1 - 各パラメーターの表示名/値を指定します][パラメーター] ボックスで、パラメーターを選択してから [編集] を選択します。

      2. [パラメーター値] では、[定数値の使用] オプションのみを使用できるため、定数値を入力します。

      3. [手順 2 - 表示書式文字列を指定します] で、[表示書式文字列] プロパティに表示書式文字列を入力します。 既定の表示書式文字列に戻すには、[既定値] を選択します。

        Note

        書式文字列に、中かっこで囲んだパラメーター インデックスが含まれていることを確認します。たとえば、パラメーターのプレースホルダーとして機能する {0}{1} を使用します。

      4. クラス メンバーの各パラメーターについて前の手順を繰り返します。

        次の例は、クラス メンバーの複数のパラメーターを示しています。

        スクリーンショットは、.NET クラスまたはクラス メンバーを含むボキャブラリの定義のボキャブラリの定義ウィザードを示しています。

.NET アセンブリからボキャブラリの定義を作成する

.NET アセンブリ内のクラスまたはクラス メンバーからボキャブラリの定義を作成して、述語、引数、アクションを定義できます。 開始する前に、.NET アセンブリを Microsoft Rules Composer のローカル ディレクトリに配置してください。 .NET アセンブリを更新する場合は、そのアセンブリへのルールセット バージョンの参照を更新してください。 詳細については、「.NET アセンブリ参照の更新」を参照してください。

  1. ファクト エクスプローラー ウィンドウで、[.NET クラス] タブを選択します。

  2. [.NET アセンブリ] の下から、クラスまたはクラス メンバーを既存のボキャブラリの定義にドラッグします。これは、[ボキャブラリ] タブに表示されます。

XML ドキュメントの要素または属性からボキャブラリの定義を定義する

XSD スキーマ内を参照し、項目を条件エディターまたはアクション エディターにドラッグして、述語、引数、アクションを定義することで、XML 要素と属性からボキャブラリの定義を作成できます。

  1. [ボキャブラリ] タブの [ボキャブラリ] フォルダーに移動します。

  2. [ボキャブラリ] フォルダーで、目的のボキャブラリ バージョンのショートカット メニューを開きます。

  3. ボキャブラリ バージョンのショートカット メニューから、[新しい定義の追加] を選択します。

    ボキャブラリの定義ウィザードが起動し、定義を作成できます。

  4. ウィザードで、[XML ドキュメントの要素または属性] を選択し、[次へ] を選択します。

  5. 次の情報を指定します。

    プロパティ 説明
    定義名 定義の名前。
    説明 定義の説明。
  6. [XML ドキュメント情報] セクションで、[参照] を選択します。

  7. スキーマ (.xsd) ファイルを探して選択し、ドキュメントの要素または属性を選択します。

  8. [型] リストで、スキーマから選択した要素または属性の型と互換性のある型を選択します。

    Note

    エンジンにより、定義済み要素の存在およびドキュメントの種類は検証されません。 要素がない XML ドキュメントをアサートすると、実行時にエラーが発生します。 ドキュメントの種類が不明な XML ドキュメントをアサートした場合、エンジンはドキュメントを無視するだけです。

    エンジンが、指定した型と選択したドキュメントの要素または属性の型の間で有効なキャストを実行できない場合は、実行時にエラーが生成されます。

  9. [操作の選択] セクションで、要素または属性の値を取得するか、またはその値を設定するかを示す操作の種類を選択します。

  10. 値の設定を選択した場合は、[次へ] を選択し、表示書式を指定します。

    [表示名の指定 - XML ドキュメントの要素または属性] ページが表示され、使用する値と表示書式文字列を指定できます。

    1. [手順 1 - 各パラメーターの表示名/値を指定します][パラメーター] ボックスで、パラメーターを選択してから [編集] を選択します。

    2. [パラメーター値] では、[定数値の使用] オプションのみを使用できるため、定数値を入力します。

    3. [手順 2 - 表示書式文字列を指定します] で、[表示書式文字列] プロパティに表示書式文字列を入力します。 既定の表示書式文字列に戻すには、[既定値] を選択します。

      Note

      書式文字列に、中かっこで囲んだパラメーター インデックスが含まれていることを確認します。たとえば、パラメーターのプレースホルダーとして機能する {0}{1} を使用します。

  11. 終わったら、[完了] を選択します。

    次の例は、XML ドキュメントの要素または属性に基づくボキャブラリの定義の詳細を示しています。

    スクリーンショットは、XML ドキュメントの要素または属性を含むボキャブラリの定義のボキャブラリの定義ウィザードを示しています。

    XML ノードのボキャブラリの定義を作成する際、バインドの XPath 式には、前に説明したルールに基づいた同様の既定値が設定されます。 ただし、これらの値はボキャブラリの定義ウィザードで編集できます。 式に加えた変更はボキャブラリの定義に含められ、ボキャブラリの定義から作成したルールの引数すべてに反映されます。