式とスクリプトの使用

式とスクリプトは、Bonita BPM Studio で多目的に使用され、変数の初期化、デフォルト値の設定にも使用されます。式は単純なステートメントでプログラム風の構造を持っています。

このページは、式とスクリプトを使用可能する Bonita BPM Studio の機能について説明します。

式エディタの開始
Groovy スクリプトの管理
スクリプト式内での変数の使用
Groovy スクリプトのログメッセージ

この式エディタは、データモデルに対し異なる概念を持つ UI デザイナーでは使用できないことに注意してください。

式エディタの開始

この式エディタは Bonita BPM Studio を介して、式やスクリプトの作成や変更に使用されます。

式エディタを開始するには、式を入力したフィールドの次にある鉛筆アイコンをクリックします。

式には次の種類があります:

  • 比較: 演算子( !, ==, !=, <, >:, <:=, or >= )を使用して変数、パラメータ、またはコンスタントの値を比較
  • コンスタント: コンスタント(固定)の値に式をセット
  • パラメータ: 式が評価された時点でパラメータの値に式をセット
  • スクリプト: 式の値をセットするスクリプトの結果
  • 変数: 式が評価された時点で変数の値に式をセット

式の文脈によってこれらの使用可能な種類が違います。例えば、比較の式はシーケンススローでのみ使用可能です。

Groovy スクリプトの管理

Groovy 関数を作成し、プロセスの定義から分離してそれを Bonita BPM Studio 内に格納できます。そして任意のプロセス定義内でその関数使用できます。この機能は、あなたがアプリケーション開発者のプロファイルを使って Bonita BPM Studio を使用中ならば使用可能です。

関数を作成するには、[開発] メニューで [Groovyスクリプトの管理…] を選択して [作成…] をクリックし新しい関数名を入力します。

関数の内容を編集する(作成する)ためには、 関数名を選択し [開く] をクリックすると、式エディタが開きます。ポップアップ ウィンドウ内に関数の詳細を入力します。式エディタのユーザー定義関数リストに含まれるべき関数は、static で宣言され、適切な可視性(public など)を持つ必要があります。関数を検証するには [テスト] をクリックします。関数を保存するには [OK] をクリックします。

この機能を使用して関数だけでなく、どんなGroovy スクリプトも保存できることに注意してください。しかしながら、関数を定義している事前定義スクリプトだけが式の中で使用できます。Groovy スクリプトにはメソッドを宣言できますが、クラスは宣言できません。

ユーザー定義関数に加え、Bonita 関数、コレクション、数値、文字列、その他のカテゴリに分類された数々の標準関数があります。式エディタのドキュメントボックス内の説明を見るには、関数名をクリックします。

式にユーザー定義または標準関数を追加するには:

  1. 式エディタの[式のタイプ] リスト内の[スクリプト] を選択します。
  2. スクリプトを入力し、関数を組み込みたい箇所にカーソルを位置付けます。
  3. [カテゴリ] リスト内の[ユーザー定義] を選択します。関数のリストが使用可能なユーザー定義関数を表示します。
  4. この関数のリストで式に組み込みたい関数をダブルクリックします。その関数はスクリプト内のカーソルで位置付けた箇所に挿入されます。

スクリプト内の連結ポイントで、この式エディタは関連する用語リストをポップアップを表示します。このポップアップではGroovy用語とプロセス変数を切り替えることができます。例えば、提供済み変数のリストから「activityInstanceId」を選択し、ドットをタイプすると、式エディタはオートコンプリートと同様の振る舞いで使用可能な用語のリストを表示します。

スクリプト式内での変数の使用

式に変数を使用できます。プロセスの実行中、式が評価されるときは、変数の最新値が式で使用されます。

プロセス変数

ステップのコンテキストに式を定義したとき、その式はそのステップを含んでいるプール内のプロセスレベルで定義した変数を含めることができます。式はそのステップまたはプロセス内の別のステップで定義された変数を含めることはできません。式にプロセス変数を追加するには、[変数の選択…] ドロップダウンリストからその変数を選択します。

提供済み変数

プロセスを実行しているBonita BPM エンジンが提供する変数を使用することもできます。例えば、式にプロセス内のタスクを遂行するユーザーのIDを組み込むことができます。式に提供済み変数を追加するには、[提供済み変数の選択…] ドロップダウンリストからその変数を選択します。

提供済み変数は:

  • activityInstanceId: アクティビティ インスタンスの識別子 (プロセスのレベルの式では使用不可)
  • loggedUserId: 式が評価される時点でアクティビティを遂行しているユーザーの識別子
  • processDefinitionId: プロセスの識別子
  • processInstanceId: プロセス インスタンスの識別子
  • rootProcessInstanceId: コールされたプロセス、またはイベント サブプロセスのルートプロセスの識別子。(ルートプロセスとは、コールされたプロセスまたはサブプロセスが多階層に存在する場合は、その階層構造の最上位にあるプロセスであり、コールされたプロセス、またはイベント サブプロセスの親プロセスではありません)

提供済み変数のリストは、特別な変数、 apiAccessor も含んでいます。オートコンプリートを使用し、スクリプト内のAPI コールのコーディングが容易になります。例えば、期限切れになったオープンタスクの数を取得するには、提供済み変数のリストから apiAccessor を選択し、processAPI を追加し getNumberOfOverdueOpenTasks を追加します。

Groovyスクリプトのログメッセージ

開発する Groovy スクリプト、または Java コードにロギングを追加できます。