第43章 変数タグ

ランタイム時に使用するデータを格納する変数。変数の動作をより細かく制御するには、BPMN ケースファイルでケース変数とローカル変数にタグ付けできます。タグは、特定の変数にメタデータとして追加する単純な文字列値です。

Red Hat Process Automation Manager は、ケースとローカル変数の以下のタグをサポートします。

  • required: ケースを開始するための要件として変数を設定します。要件である変数なしでケースインスタンスを起動すると、Red Hat Process Automation Manager は VariableViolationException エラーを生成します。
  • readonly: 変数が情報提供のみを目的としており、設定できるのはケースの実行中に 1 回のみであることを示します。readonly 変数の値がいずれかの時点で変更されると、Red Hat Process Automation Manager は VariableViolationException エラーを生成します。
  • restricted: VariableGuardProcessEventListener で使用するタグで、既存のロールをもとに変数を変更できるパーミッションが付与されていることを示します。2 つ目のコンストラクターを使用して、新規タグ名を渡す場合には、restricted タグは他のタグ名に置き換えることができます。

VariableGuardProcessEventListener クラスは、DefaultProcessEventListener クラスから拡張されたもので、2 つの異なるコンストラクターをサポートします。

  • VariableGuardProcessEventListener

    public VariableGuardProcessEventListener(String requiredRole, IdentityProvider identityProvider) {
        this("restricted", requiredRole, identityProvider);
    }
  • VariableGuardProcessEventListener

    public VariableGuardProcessEventListener(String tag, String requiredRole, IdentityProvider identityProvider) {
        this.tag = tag;
        this.requiredRole = requiredRole;
        this.identityProvider = identityProvider;
    }

    したがって、以下の例に示すように、許可されたロール名とユーザーロールを返す ID プロバイダーを使用して、イベントリスナーをセッションに追加する必要があります。

    ksession.addEventListener(new VariableGuardProcessEventListener("AdminRole", myIdentityProvider));

    上記の例では、VariableGuardProcessEventListener メソッドで、変数にセキュリティー制約タグ (restricted) が付いているかどうかを確認します。必要なロールがユーザーに割り当てられていない場合 (例: AdminRole) には、Red Hat Process Automation Manager は VariableViolationException エラーを生成します。注記: Business Central UI (例: internalinputoutputbusiness-relevant、および tracked) に表示される変数タグは、Red Hat Process Automation Manager ではサポートされません。

タグは、![CDATA[TAG_NAME]] 形式で定義されたタグ値を使用し、customTags メタデータプロパティーとして BPMN プロセスソースファイルに直接追加できます。

たとえば、以下の BPMN プロセスは、required タグを approved プロセス変数に適用します。

図43.1 BPMN モデラーでタグ付けされた変数の例

Image of variable tags in BPMN modeler

BPMN ファイルでタグ付けされた変数の例

<bpmn2:property id="approved" itemSubjectRef="ItemDefinition_9" name="approved">
  <bpmn2:extensionElements>
    <tns:metaData name="customTags">
      <tns:metaValue><![CDATA[required]]></tns:metaValue>
    </tns:metaData>
  </bpmn2:extensionElements>
</bpmn2:property>

必要に応じて、変数に複数のタグを使用できます。BPMN ファイルでカスタム変数タグを定義して、Red Hat Process Automation Manager プロセスイベントリスナーが変数データを利用できるようにすることも可能です。カスタムタグは、標準の変数タグのように Red Hat Process Automation Manager のランタイムに影響を与えることはせず、情報提供のみを目的としています。カスタム変数タグは、標準の Red Hat Process Automation Manager 変数タグに使用する場合と同じ customTags メタデータプロパティー形式で定義します。