サンプルから始めてみようIBM BPM V7.5: 第1回 プロセスの開発と実行

2011年6月にIBM Business Process Manager 7.5(以下IBM BPM 7.5)が出荷されました。この製品はこれまでご提供していたWebSphere Lombardi EditionおよびWebSphere Process Serverを1つの製品に統合したものです。当記事ではIBM BPM 7.5が提供するProcess Designerを使ってプロセスの開発および実行、モニタリング、分析機能について3回にわけてご紹介します。事前にIBM Business Process Manager V7.5 概要を一読することをお勧めします。

有衛 恵子, WebSphere BPM クライアント・テクニカル・プロフェッショナル, IBM China

有衛 恵子の肖像有衛 恵子
IBM ソフトウエア事業 WebSphere テクニカル・セールスです。BPM関連製品を担当しており、主にお客様への提案活動を行っています。



2011年 8月 16日

はじめに

IBM BPM 7.5は、BPMに必要な要素である、プロセスの設計、実行、モニタリング、分析をひとつの製品で構築できるように機能を提供しています。今回の連載では実際に単純なサンプルの構築手順を追いながら、製品が提供する機能をご紹介します。第1回では、プロセスの開発と実行についてです。

ビジネスプロセスの作成

早速ビジネス・プロセスを作成してみます。ビジネス・プロセスの作成にはIBM Process Designer を使用します。最初にリポジトリであるProcess Centerを起動し、IBM Process Designerを起動します。起動するとまずProcess Centerで管理されている有効なアプリケーションのリストが表示されます。新規にアプリケーションを作成する時には、「Process Appの新規作成」をクリックしてアプリーケーション名を指定して作成します。

図1:Process Center 表示画面
図1:Process Center 表示画面

アプリケーションが作成されるとProcess Centerのアプリケーションのリストに追加されます。「Designerで開く」と、Process Designerが開きます。ビジネス・プロセスを作成するためには「ビジネス・プロセスの定義」で新規に作成します。ビジネス・プロセス定義画面では、右側のパレットにアイコンが提供されています。基本的には「アクティビティ」アイコンを配置し、「シーケンスフロー」でアクティビティ間をつなぎビジネス・プロセスを定義します。プロセス間での戻りや、分岐、結合も可能です。

図2:Process Designerのビジネス・プロセス定義画面
図2:Process Designerのビジネス・プロセス定義画面

以下にいくつかのコンポーネントを紹介します。

コンポーネント説明

選択ツール
ダイアグラム上のコンポーネントを選択して移動できます。

シーケンスフロー
プロセス・コンポーネントに接続して、プロセスのステップを実行する順序を設定できます。

アクティビティ
個々のステップに最適な実装を選択して、プロセスの各ステップをモデル化します。

レーン
システムまたはプロセスに参加するユーザーのグループごとに定義します。

決定ゲートウェイ
条件に応じて、複数のパスの中の1つのパスを選択するプロセス実行のポイントをモデル化します。

開始イベント
プロセスを手動で開始する場合にプロセスの開始をモデル化します。着信メッセージまたはイベントによりプロセスを開始する場合は、「メッセージの開始イベント」 を使用します。

終了イベント
プロセス実行を終了します。

タイマーイベント
個々のステップに最適な実装を選択して、プロセスの各ステップをモデル化します。

その他のコンポーネントについてはこちらを参照ください。

プロセスのモデル化

図3の画面は、ビジネス・プロセス定義画面に「レーン」を追加しています。レーンは、特定のユーザー・グループまたはシステムによって実行されるすべてのアクティビティーのコンテナーです。システムまたはプロセスに参加するユーザーのグループごとにレーンを含める必要があります。

図3:ビジネス・プロセス定義画面のレーンの追加
図3:ビジネス・プロセス定義画面のレーンの追加

アクティビティを追加します。各レーンにアクティビティを配置し、プロセス内のステップを表します。

図4:ビジネス・プロセス定義画面のアクティビティの追加
図4:ビジネス・プロセス定義画面のアクティビティの追加

「シーケンスフロー」を使って、各アクティビティ間やその他の要素をつなぎ、フローの設定を行います。プロセスの最初は「開始」イベントから始まり、最後には「終了」イベントにつなげる必要があります。シーケンスフローでは、戻りのフローを定義することも可能です。

図5:ビジネス・プロセス定義画面のシーケンスフローによるフローの設定
図5:ビジネス・プロセス定義画面のシーケンスフローによるフローの設定

プロセスのプレイバック

変数やアクティビティの実装をまだ定義していませんが、プロセスを定義した時点で、プレイバックを実行できます。プロセスを動かし、意図する動きになっているかを確認しながら、修正や追加、実行を繰り返し行うことが可能です。

図6:プロセスの実行
図6:プロセスの実行

「プロセスの実行」を起動すると「Inspector」画面に切り替わります。「Inspector」画面では、定義したプロセスをWeb画面を使いながらステップバイステップで確認します。図7の画面の例では、「オーダー情報入力」というアクティビティが実行されており、そのアクティビティに対する入力画面としてWebブラウザーが起動しています。まだプロセスには変数の設定をしていないため、この時点のプロセスのプレイバックは、アクティビティの基本情報が含まれたブラウザが起動します。ブラウザで「Done」をクリックすると、プロセスは次のステップへ移動します。ここでは単純なプロセスですが、戻り処理や、分割、自動化処理など、意図していない動きになった場合は、適宜修正して、再度「Inspector」を実行します。このようにProcess Designerはアジャイルな開発を得意としています。

図7:プロセスのプレイバック
図7:プロセスのプレイバック

変数の定義

ビジネス・プロセス定義画面に戻ります。ビジネス・プロセス定義画面で「変数」タブを選択します。プロセスのステップ間で渡されるビジネス・データを収集するために、変数を宣言する必要があります。
ここでは、以下の変数を定義できます。

変数説明
プライベートプライベート変数は、プロセスの内部でのみ使用されるローカル変数です。
入力入力変数は、現行プロセスに渡すことができる値にマップされます。
出力出力変数は、現行プロセスから親プロセスに渡すことができる値にマップされます。
公開プロセス値プロセスのインスタンスの実行中にエンド・ユーザーが値を設定または変更できるようにするために作成可能な変数です。

図8では、「プライベートの変数」を設定しています。変数には複合タイプの変数(ビジネス・オブジェクト)と単純タイプの変数が定義可能です。ここでは「order」という複合タイプの変数を定義します。変数の名前に「order」と入力し、変数の型で「新規」に型を作成します。

図8:変数定義画面
図8:変数定義画面

ここで複合型変数であるビジネス・オブジェクトを作成します。パラメーターで「追加」するとビジネス・オブジェクトを構成するフィールドを追加することが可能です。各フィールドの変数の型もこの画面で定義します。

図9:ビジネス・オブジェクト定義画面
図9:ビジネス・オブジェクト定義画面

変数定義画面に戻ります。プライベート変数には「order」配下にビジネス・オブジェクト定義画面で作成した複合型変数が定義されていることがわかります。またここでは「デフォルト値」のチェックをつける必要があります。このチェックにより変数を初期化することが可能です。

図10:変数定義画面
図10:変数定義画面

アクティビティの実装

プロセス・フローのダイアグラムに戻り、アクティビティに実装を追加します。アクティビティを実装する際に、いくつかのオプションを使用できます。

実装オプション説明
サービス (タスク)これは、参加者レーン内のアクティビティに関するオプションです。作成できるサービスのタイプは、 統合、拡張統合、ヒューマン、Ajax、ルール、および General System です。アクティビティの要件によって、選択するサービスのタイプは異なります。例えば、オーダー受付担当者が注文に関するデータを入力する必要のあるアクティビティの場合、 Coach を使用して ヒューマン・サービスを作成します。
ネストされたプロセスネストされたビジネス・プロセス定義を使用してアクティビティを実装できます。 ネストされたビジネス・プロセス定義を使用すると、 親プロセスの概要ビューは維持したまま、論理的に関連するステップを 1 つのプロセス内にカプセル化できます。
JavaScriptプロセス内のステップを実装する JavaScript を作成し、そのスクリプトをアクティビティに埋め込むことができます。
外部アクティビティEclipse RCP、または Microsoft® .NET アプリケーションなどの外部アプリケーションを使用して、アクティビティを実装できます。
図11:ビジネス・プロセス定義の各アクティビティの実装
図11:ビジネス・プロセス定義の各アクティビティの実装

このサンプルでは、「オーダー情報入力」アクティビティにヒューマン・サービスを実装する手順を紹介します。
アクティビティの「オーダー情報入力」を選択して、右クリックして、「アクティビティ・ウィザード」を実行します。アクティビティで実装するサービス・タイプを選択可能です。「ヒューマン・サービス」を選択すると、ヒューマン・サービスが作成されます。ヒューマン・サービスとは、対話式サービスを作成する場合に使用します。ヒューマン・サービスは、IBM Process Portal でタスクを生成します。

図12:サービス・タイプの選択
図12:サービス・タイプの選択

図13は画面フローの定義画面です。ヒューマン・サービスをビルドするとき、通常、エンド・ユーザーとの対話を行うインターフェースを提供する Coach を組み込みます。このサンプルでは単純に1つのCoachしかありません(アクティビティ・ウィザード実行時にデフォルトで自動生成される)が、Web画面上で複数のページにまたがった画面を作成する場合には、複数のCoachをならべて画面フローを定義します。

図13:画面フロー定義画面
図13:画面フロー定義画面

「Coach」をダブルクリックするとCoachデザイナーが開きます。デフォルトでは、ビジネス・プロセスで定義した変数がデータフィールドとして定義されています。Coach を設計する最初の段階では、静的エレメントでモックアップをビルドし、ランタイム Coach で必要なデータ、およびそのデータをレイアウトの中で表示する場所を視覚化します。Coach のルック・アンド・フィールを設計した後、プロセス参加者が相互に対話し、適切な決定を下せるように、実際のビジネス・データを Coach コントロールに送る必要があります。そのためには、Coach コントロールと、IBM Business Process Manager プロセス内でビジネス・データを表すデータ構造体 (変数) との間のバインディングを作成する必要があります。

図14:Coachデザイナー
図14:Coachデザイナー

Coachデザイナーでは、右側にあるコントロールを使ったエレメントを追加する以外にも、動的にリストへデータを取り込んだり、DBからデータを取得することが可能です。また入力コントロールの必須フィールド化や、特定グループへのコントロールの表示・非表示、別のコントロールの入力値に基づくコントロールの表示などの制御が可能です。Coachデザイナーを使用して、様々な画面設計を行うことが可能です。Coachデザイナーによる画面設計が終了したら、前に述べたInspector機能を利用して、画面や画面フローのテストを実施することが可能です。


Process Portalによる実行

作成したプロセスを実行するには「Process Portal」を起動します。Process Portalにログインすると、ログインユーザにアサインされたタスクの一覧が表示されます。処理するタスクを選択し、実行します。例では、「注文プロセス」の「オーダー内容確認」がアサインされています。

図15:Process Portal
図15:Process Portal

Process Portalでは、タスクの処理以下にも様々な機能を提供しています。以下は一例です。

  • プロセスの開始および管理
  • プロセス・インスタンスの期限の変更
  • プロセスの進行状況
  • タスクの管理および実行
  • 検索
  • スコアボードの表示

最後に

今回はサンプルを使って、ビジネス・プロセスの開発にかかわる一連の作業および実行についての手順と機能を紹介しました。プロセスの設計、開発だけでなく、プロセスを構成するアクティビティの実装、特にヒューマン・サービスのユーザ・インターフェースも1つのツールで開発可能です。また、プレイバック機能により、プロセスの確認や、画面フローの確認も、簡単に実行できます。Process Portalによりアサインされたタスクの実行が可能であることをご紹介しました。次回はモニタリング機能についてご紹介します。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere
ArticleID=751830
ArticleTitle=サンプルから始めてみようIBM BPM V7.5: 第1回 プロセスの開発と実行
publish-date=08162011