Author
海老原 由夫樹Yuki Ebihara
こんにちは。リックソフトの海老原です。
今回は Alfresco Process Services という BPM のツールをご紹介します。
やや長い内容となるため、2回に分けてお送りします。
はじめに
Alfresco Process Services は英 Alfresco 社が開発・提供している、ビジネスプロセスマネージメント(BPM)プラットホームです。 ビジネスユーザと開発者のそれぞれにとって利用しやすいプロセスのデザインツールが用意されているので、プロセスをすぐに形にして利用することができます。また、Alfresco社が得意とする文書管理のシステムとの連携によって、アカウント毎にワークフロー上の文書を振り分ける処理や、フォームから入力した値を、文書のプロパティを付与する処理を、プログラムを書くことなく簡単に行えることが特徴です。
今回はAlfresco Process Services を使用した、簡単なビジネスプロセスを定義する方法をご紹介します。
Alfresco Process Services にログインする
Alfresco Process Services は Web アプリケーションになっています。ローカルにインストールしたアプリケーションは、 http://localhost:8080/activiti-app/ からアクセスできます。最初にアクセスすると、以下のようなログイン画面が表示されます。
ユーザ名とパスワードを入力すると、ランディングページ(ダッシュボード)に遷移します。
上記は管理者で初めてログインした場合に表示される画面です。何も作成していない状態では、画面上には次の4つのアプリケーションが表示されています。
- アプリデザイナー
- タスクアプリ
- ID の管理
- 分析アプリ
(一般のユーザがログインすると、上記の4つのアプリケーションのうち3番目の「ID の管理」を除く3つのアプリケーションが表示されます)
プロセスの定義と構築
ここからは実際に Alfresco Process Services を使用してプロセスを定義・構築していきます。
Alfresco Process Services ではビジネスプロセスを「アプリ」という単位で定義します。アプリは「プロセス」とその中で使用される「フォーム」の2種類の要素から構成されます。
「プロセス」と「フォーム」の詳細については、後述します。
ビジネスプロセスを構築する流れは大まかに次の3つのステップです。
- プロセスモデルを定義する
- 定義したプロセスモデルを元にアプリを作成する
- アプリを公開する
登場人物 | 役割 |
---|---|
申請者 | 経費精算を申請する |
レビューワー | 申請された経費精算を最初にチェックし、承認/却下 する |
最終承認者 | レビューワーが承認した経費精算の申請を最終的に 承認/却下 する |
項目 | 内容 |
---|---|
件名 | 何の経費の精算か |
日付 | 使用した日付 |
金額 | 使用した金額 |
添付ファイル | 領収書などの画像 |
今回作成するプロセスの流れは以下の内容を想定しています。
- 申請者が必要な情報(上記の「申請時に入力する項目」の内容)を登録し、申請を提出する
- 提出された申請の確認依頼がまずレビューワーに送られる
- レビューワーは受け取った申請を確認し、承認する
- レビューワーが承認した申請は次に最終承認者へと送信される
- 最終承認者はその申請を確認し、承認する。これで申請が「承認済み」の状態となる
なお今回は管理者以外のユーザを登録しないため、「申請者」「レビューワー」「最終承認者」を管理者が全て実行する形で進めます。
プロセスモデルの定義
まずはプロセスモデルを作成します。
- ランディングページを開いた状態でアプリデザイナーをクリックします
- プロセスの作成をクリックします
- モデル名を入力して新しいモデルの作成をクリックします
- BPMN エディタに遷移します。最初にプロセスを作成すると、キャンパス内に円形の開始イベントが作成された状態になっています。その円形のBPMNオブジェクトをダブルクリックします。するとテキストボックスが表示されます。
- 「経費申請」と入力し、キャンバス内の空白部分をクリックします。
- 円形のBPMNをクリックして、さらに表示された人型のアイコンをドラッグ&ドロップします。
この人型のアイコンは「ユーザータスク」で、ユーザが手動で実行するタスクを表したものです。 - ユーザータスクはパレットからも追加することができます。
パレットの「アクティビティ」をクリックすると以下のように表示されるので、そこから「ユーザータスク」をキャンバスにドラッグ&ドロップして、開始イベントである円形のBPMNオブジェクトと線で繋いでも同じ状態となります。 - 追加したユーザタスクをダブルクリックします
- 「レビュー」と入力して、キャンバス内の空白部分をクリックします。
- 今度は「レビュー」BPMN オブジェクトをクリックして、表示される人型のアイコンをドラッグ&ドロップします
- 追加したユーザタスクをダブルクリックします
- テキストボックスに「最終承認」と入力して、キャンバス内の空白部分をクリックします
- 「最終承認」BPMN オブジェクトをクリックし、表示される黒い実線の円形アイコンをドラッグ&ドロップします
このアイコンは「終了」を表すBPMN オブジェクトで、そこに進むということはプロセスが終了するということになります。
終了イベントも開始イベントと同様にパレットから配置することが可能です。
パレット内の「終了イベント」をクリックすると以下のような画面が表示されますので、その中の「終了イベント」BPMNオブジェクトをドラッグ&ドロップで右側のキャンバスに配置して線でつなぐことでも同じようにできます。 - 新しく作成された終了イベントのBPMN オブジェクトをダブルクリックします
- テキストボックスに「経費承認」と入力して、キャンバス内の空白部分をクリックします
ここまでの手順を実施すると、以下のようなプロセスモデルが作成された状態となっていると思います。
この状態でツールバーの左から2番目のチェックマークのボタンをクリックしてみましょう。
このチェックマークのボタンは「モデルの検証」ボタンで、現在作成もしくは編集しているモデルに不備がないかどうかを検証してくれます。
ボタンを押すと、残念ながらエラーとなります。作成・編集したプロセスモデルに不備があると、画面上部のヘッダー付近に赤いバナーが表示されます。
それでは何が原因でエラーになっているかを調べてみましょう。
エラーの原因となっているものを確認するには、キャンバス左上の×印をクリックします。
クリックすると画面上にポップアップが表示されて、詳細なエラーメッセージが表示されます
今回のケースだとエラーメッセージは以下の内容が表示されています
要素IDが無効です
メッセージに記載されている「要素ID」はプロセス IDです。少しわかりにくいのですが、最初に×印がついていたのは、プロセスについて何か問題があること示しています。また、他のユーザタスクなどに×印がついていれば、その要素にさらに問題があることを示しているのですが、今回はプロセスだけに×印がついているので、問題がプロセス(の要素ID)に問題があることを示しています。要素IDは半角英数で設定する必要があるため、ここでは経費精算のプロセス IDを「Expense」に変更してみましょう
修正して再度「モデルの検証」ボタンをクリックしてみると・・・
今度は「エラーが含まれていません」と表示されています。これでプロセスモデルの作成ができました。
おわりに
いかがでしたでしょうか。
今回はビジネスプロセスの流れを定義する方法を説明しました。次回はこのプロセスで利用するフォームの定義とアプリの公開について説明していきたいと思います。
ご質問、ご相談のある方は、お気軽にお問い合わせください。