ビジネスプロセス管理アプリ - タスクの実行(グループの指定)

Red Hatの梅野です。

前回の記事は、タスクの実行に必要なソースをご紹介しましたが、今回はグループとしてタスクの実行を行うケースを見てみましょう。

なぜグループなのか

常に固定的なユーザ(Business Central上ではアクターと表記)にアサインすることは好ましくありません。タスクを行うのは「その役割を担う人」であり、組織として活動をしている会社内では「特定の個人」ではないのです。特定の個人にしていると、骨折した・入院した等で業務が遂行できない場合に、ボトルネックになってしまい、最悪の場合は業務が停止してしまうことになります。 折角RHPAMを導入して業務の効率改善を行うのであれば、タスクは役割を持つ「グループ」にアサインすることをおすすめします。

グループとユーザの設定

グループは複数のユーザが属する事が可能です。Business Centralにadmin権限のあるユーザでログインし、設定(ギアのアイコン)をクリックします。

f:id:mumeno:20190408163439p:plain
Business Centralno

まずグループを作成します。新規グループ をクリックしてグループを作成します。

f:id:mumeno:20190408164224p:plain
グループの作成

すでに割り当てたいユーザがあれば、ここで割り当てることもできます。ユーザが居ない場合は、ユーザを作成します。

新規ユーザ をクリックして、ユーザを作ります。

f:id:mumeno:20190408163713p:plain
ユーザの作成

ユーザ名を入力します。

f:id:mumeno:20190408163824p:plain
ユーザ名入力

次へを押し、右の方にある"グループへ追加" をクリックします。

f:id:mumeno:20190408164022p:plain
グループにアサイン

あとはテンポラリなパスワードなどを設定して終了です。

Business Centralではこのような手順でユーザ・グループを設定可能ですが、JBoss EAPに慣れている人は、コマンドラインでの追加でも同じことが可能です。CLI インターフェースにて、add-user.sh 等で追加できます。追加されたユーザ情報は、$JBOSS_HOME/standalone/configuration 以下のapplication-users.properties, application-roles.properties に追加されます。

タスクでの設定

プロセス図の中のタスクでは、下記のようにグループを指定します。その際、アクターに名前が指定されていれば外しておきます。

f:id:mumeno:20190408165816p:plain
タスクでのグループのアサイン

プロセスインスタンスが開始され、該当のタスクに到達すると、自動的にグループにアサインされます。

ステータスの遷移

タスクのステータスは下記の遷移になります。

f:id:mumeno:20190613153700p:plain
TastState

タスクが特定のアクターに指定されている場合は「予約済み」になりますが、グループに指定されている場合は「使用可能」というステータスになります。そのグループにアサインされている人であれば誰でも、タスクリストに表示される状態です。タスクを実行する場合、まず「クレーム」を行います。クレームはグループからアクターにアサインする操作になります。クレームが行われてアクターにタスクがアサインされると「予約済み」になります。 また、予約済み、もしくは実行中のタスクに対して「リリース」という操作をすると、タスクがグループとして指定されていてもアクターが指定されていても「使用可能」ステータスに戻ります。再度実行する場合は、「使用可能」からクレームを行い「予約済み」にしてから実行します。

実行中に「権限委譲」を行った場合、ステータスは移譲したアクターのタスクリストに入り、ステータスとしては「予約済み」になります。

タスクの実行の結果意図的に失敗としたい場合は、失敗ステータスにすることが出来ます。 絵には記載しませんでしたが、メールを送るタスクでメールの送信に失敗した等の時は、エラーというステータスになり、該当のタスクに紐付けられてJavaのExcpetionが記録されます。

ステータスの遷移についてご紹介しました。直感的にわかるかと思いますが、タスクにおけるステータスの遷移は覚えておくと障害時に対応可能かと思います。

うめの(id:mumeno)

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。