Maximo Base Service(以下Maximo)*1はMaximo Asset Managementだけでなく、2008年5月にリリースされたIBM Tivoliブランド IBM Service Management (以下ISM) 製品群の基礎となるフレームワークです。この章では、Maximoのビジネスプロセスを管理する上で重要な機能を果たすワークフロー管理について解説します。Maximo上で動作する様々なツールを用いてワークフローを実際に作成し、アプリケーション上で実行することでMaximoのワークフロー機能について理解を深めます。

西村 康孝, Tivoli 開発 / ソフトウェア開発研究所, IBM

西村 康孝(にしむら やすたか)
日本アイ・ビー・エム、ソフトウェア開発研究所に所属。2006年,日本IBM入社。以来,ソフトウェア開発研究所にてシステム管理製品のソリューション開発に従事。現在はTivoli第一開発にてサービス・マネジメント製品とアセット・マネジメント製品の品質検証を担当。



2009年 4月 24日

はじめに

Maximo Base Service(以下Maximo)*1はMaximo Asset Managementだけでなく、2008年5月にリリースされたIBM Tivoliブランド IBM Service Management (以下ISM) 製品群の基礎となるフレームワークです。本稿では、Maximoのビジネスプロセスを管理する上で重要な機能を果たすワークフロー機能について解説します。はじめにMaximoのビジネスプロセス管理とワークフロー機能の概要について説明し、次にその個別機能と実装方法を解説します。


ビジネス・プロセス管理(BPM)とは

ビジネス・プロセスとは、顧客(または内部の利用者)に特定のサービスを提供するための一連の処理のことを指します。例としては顧客とサプライヤーとの間の購買に関する一連の処理(監査・承認・検証など)が挙げられます。ビジネス・プロセス管理(BPM: Business Process Management)とはビジネス・プロセスの設計や管理を行うツール・手法を指し、BPMで最も重要な機能としてワークフロー管理があります。ワークフローとは人や物などのリソース間の管理の流れとタスクの実行を記述し、まとめたものです。Maximoには自身のアプリケーションや外部のアプリケーションと連動できるワークフロー管理機能が標準で備わっています。ワークフロー管理機能を用いればビジネス・プロセスを一貫性を保ちながら正しい順序で間違いなく遂行することができます。特に以下のような場合に効果を発揮します。

  • 複数のアプリケーションまたはレコードに対して一貫性を保ちながら処理を行いたい
  • 承認プロセスなど一つのレコード(処理)に複数の人が関係する処理を間違いなく実行したい
  • プロセスの実行にどのくらい時間を費やしたかを計測したい
  • 監査のためにプロセスを追跡できるようにしたい

本稿ではMaximoのワークフロー実装方法と管理機能について説明します。


Maximoにおけるワークフロー管理と管理ツール

MaximoにはWeb UIからドラックアンドドロップで直感的に操作できるワークフロー管理ツールが用意されています。ワークフローの機能として、担当者への割り当て、電子メール通知、作業指示書・チケットの作成、ワークフローの呼び出し、プログラムの実行などの様々なアクションを行うことができます。


ワークフロー・デザイナー

ワークフロー・デザイナーでは、アクション、条件、分岐などから構成される一連の手続きを定義することができます。ワークフロー・デザイナーはWeb UIから要素をドラッグアンドドロップを用いて直感的な操作で作成することができます。ワークフロー・デザイナー自身もMaximoのアプリケーションとして作成されており、内部でほとんどの設定を完結させることができます。ワークフロー・デザイナーは以下の機能を実現します。

  • レコード/アプリケーションに対するアクションの自動実行
  • 担当者の割り当て(スタート・センターへの登録、メールの送信)
  • アクションのマニュアル実行
  • ステータスの変更
  • ユーザーへのダイアログ・ボックスの表示と入力フォームの提供
  • エスカレーションを用いたタイマー機能
  • アプリケーションへのワークフローの割り当て、自動実行の設定

ワークフロー・キャンバス

図1. ワークフロー・キャンバスの画面イメージ
図1. ワークフロー・キャンバスの画面イメージ

ワークフロー・デザイナーではフローを制御する様々な機能を提供しています。フローを記述・編集できる画面を「ワークフロー・キャンバス」と呼びます。キャンバスおよびツール・パレットに表示されているアイコンを「ノード」と呼びます。ノードにはいくつかの種類があり、それぞれにワークフローで実行できる機能があります。ノードはキャンバスへ「ワークフロー・ツール・パレット」からアイコンをドラッグアンドドロップすることで追加できます。また、キャンバス内のアイコンをダブル・クリックすると該当するノードのプロパティを呼び出すことができます。それぞれのノードの機能については次章以降で解説します。

図2. 操作用ツール・パレット
図2. 操作用ツール・パレット
図3. ノード用ツール・パレット
図3. ノード用ツール・パレット

ノードの配置と接続

ワークフローの作成は簡単ですがプロセスの定義は難関です。ワークフローを実装する前に業務プロセスを見直し理解を深めてください。ワークフロー・デザイナーはワークフローがバックエンドで動いていてもワークフローの改訂版を作成し修正することができます。よって、現在稼働しているワークフローを停止することなく業務プロセスの継続的改善を行うことが可能です。

では実際にワークフロー・キャンバスにどのようにワークフローを定義していくか見ていきましょう。今回作成するワークフローはMaximoに新規ユーザーを追加しMaximo管理者がユーザーを承認するプロセスです。

まずは「一覧」タブから「新規作成」ボタンを押し、新しいワークフロー・キャンバスを開きます。「プロセス」フィールドにそのワークフローの名前を入力します。今回は「USERAUTH」とします。次に「オブジェクト」フィールドにMBO*2の名前を入力します。「オブジェクト」はそのワークフローがどのオブジェクト上で実行されるかを定義します。今回はユーザーを取り扱うオブジェクト「MAXUSER」を指定します。

図4. 初期設定
図4. 初期設定

初期状態として開始ノードと停止ノードが置かれています。始めにツール・パレットからノードの移動/追加ボタンを選択します。これでツール・パレットから各種ノードをドラッグアンドドロップしてキャンバスに追加することができるようになります。以下の図のように、タスク・ノードをワークフロー・キャンバスにドラッグアンドドロップして追加してください。

図5. タスクノードの追加
図5. タスクノードの追加

次にノードの接続ボタンを選択します。これでノード同士を正の接続線でつなぐことができます。ボタンを選択するとマウスのポインタが鉛筆のアイコンに変わります。この状態で2つのノードをドラッグアンドドロップすると接続線をひくことができます。接続線には正負の2種類あり、条件やユーザーの選択によってどの接続点を経由するかを決定することができます。また、接続線には「アクション」を設定することができその接続線を経由する際に自動的にコマンドの実行やステータスの変更などを行うことができます。例えば条件ノードがTrueを返した場合、正の接続線にあるアクションが自動的に実行され、その接続線の先にあるノードに遷移します。また、条件ではないノード間は通常、正の接続線で接続します。

図6. ノードの接続
図6. ノードの接続

「ズーム」メニューからキャンバスの拡大・縮小ができます。

図7. キャンバスの拡大・縮小
図7. キャンバスの拡大・縮小

ノードの移動/追加ボタンを選択し、各種ノードおよび接続線をダブルクリックするとそのノードのプロパティを呼び出すことができます。またプロセス・タブからノードの一覧を見ることができます。プロパティもこちらから編集することができます。各種ノードの機能とプロパティについては次章以降で解説します。

タスク・ノードをダブルクリックしてプロパティを開きます。また、プロセス・タブでノードの一覧が表示されこちらからもプロパティの変更を行う事ができます。

図8. プロセス・タブ
図8. プロセス・タブ

プロパティを表示したら割り当てテーブルにある「新規行」をクリックしレコードを追加します。「ロールID」にMaximoの管理者である「MAXADMIN」を指定します。これでタスク・ノードが実行された際、管理者IDのスタート・センターにタスクが表示されます。「説明」に「新規ユーザー作成のリクエスト」と入力します。スタート・センターにこの説明が表示され、ユーザーが行うアクションを指示します。

図9. タスク・ノードのプロパティ
図9. タスク・ノードのプロパティ

「ロール」とは個人または複数の人やメールアドレスなどの情報をまとめ、その役割が定義されたものです。ロールは担当者への作業指示書・チケットなどの割り当てや電子メール通知などに使用されます。例えば「MAXADMIN」ロールは以下のように設定されています。ロールについては次章以降で詳しく解説します。

図10. MAXADMIN・ロール
図10. MAXADMIN・ロール

タスク・ノードにおいて管理者が承認した場合、ユーザーをアクティブにする「アクション」を実行させるようにします。プロセス・タブのプロセスのノード・テーブルから「認証」を選択します。すると下の「アクション」テーブルに正の接続線のレコードが表示されます。「アクション」フィールドの詳細メニューを選択し、「アクション」アプリケーションを呼び出します。

図11. アクション・メニュー
図11. アクション・メニュー

「アクション」アプリケーションが表示されますが現在はまだなにも選択されていません。「新規アクション」ボタンをクリックしアクションを作成します。

図12. アクション・アプリケーション
図12. アクション・アプリケーション

それぞれのフィールドに値を入力します。図13を参照してください。このアクションはオブジェクト「MAXUSER」のレコードに対してステータスをアクティブにします。上部にある「値を入力して戻る」をクリックしワークフロー・デザイナーに戻ります。

図13. ユーザーの承認アクション
図13. ユーザーの承認アクション

認証アクションの「指示」フィールドに「承認」と入力しワークフローを保存します。これでタスク実行時にユーザーが「承認」を選択できるようになります。これでワークフローの作成は終了です。

図14. 認証アクション
図14. 認証アクション

アプリケーションへの割り当てと自動実行

作成したプロセスをアプリケーションに追加したい場合、「アクションの選択」メニューから「アプリケーションへワークフローを追加」を実行します。図のようにMBO(オブジェクト)と対応しているアプリケーションを選択することができます。どのアプリケーションがどのオブジェクトに対応しているかは「アプリケーション・デザイナー」から追加・確認することができます。「サポートを追加」ボタンにチェックすることによって「アクションの選択」メニューからワークフローを呼び出すことができます。

図15. アプリケーションへワークフローを追加
図15. アプリケーションへワークフローを追加

また、「ワークフローの移動ボタンの編集」を実行することによりワークフローを各アプリケーションのツールバーから実行させることができるようになります。まずは新規行ボタンを押しレコードを追加します。次にツールバーに設置したアプリケーションを指定します。ツールバーにはアイコンを設定することができ、複数のワークフロー・ボタンを設置する場合、「プロセス名」に起動したいプロセスを指定します。「順序」は複数のプロセスがある場合、高い順位から左へツールバーにアイコンを設置します。通常と実行中の2つのアイコンを選択します。標準ではそれぞれ「nav_icon_route.gif」、「nav_icon_route_active.gif」が用意されています。

図16. ワークフローの「移動」ボタンの編集
図16. ワークフローの「移動」ボタンの編集

「アクションの選択」メニューから「プロセスを自動開始するように設定」を選択すると、アプリケーションにレコードを追加・保存したタイミングでワークフローが自動実行されます。自動実行されるワークフローを複数指定することはできません。別のワークフローが自動実行の設定がされた場合、以前設定したワークフローは自動実行から外されます。

ワークフローの改訂、有効化とアクティブ化

一旦ワークフローをアクティブにするとアプリケーションで使用されてしまうため変更することができません。そのためワークフロー・デザイナーには改訂機能があります。「アクションの選択」-「プロセス改訂の作成」を実行するとそのワークフローのプロセスの改訂が1つ増え、現在動いているプロセスを停止することなく変更することができます。

図17. プロセスの改訂
図17. プロセスの改訂

ドラフト版のプロセスをテストするには「プロセスの有効性チェック」を実行します。これはプロセスが論理的に矛盾が存在しない状態であることをチェックします。

図18. プロセスの有効性チェック
図18. プロセスの有効性チェック

次に「プロセスの有効化」を実行します。プロセスを有効にすることでサブ・プロセスとして実行することできます。「プロセスの有効化」では有効化と同時に「プロセスの有効性チェック」も実行します。検証が失敗した場合プロセスは有効になりません。

図19. プロセスの有効化
図19. プロセスの有効化

最後に「プロセスのアクティブ化」を選択するとアプリケーションから呼び出したり、自動実行させることができるメイン・プロセスとなります。ただし、まだ有効になっていないプロセスはアクティブ化することはできません。

図20. プロセスのアクティブ化
図20. プロセスのアクティブ化

プロセスを有効化するとワークフローを編集することはできなくなります。有効化されたワークフローはサブ・プロセスとして他のワークフローから呼び出すことができます。アクティブ化されたワークフローはアプリケーションに割り当てられ、「アクションの選択」メニューや自動実行などが有効になります。いずれの場合もプロセスの編集はロックされ、変更するには改訂を作成する必要があります。また、改訂したサブ・プロセスをメイン・プロセスに反映させたい場合、「アクティブなワークフロー・プロセスを再同期する」を実行することでワークフローが改訂版に変更されます。

これでワークフローを実行させる手順が完了しました。


ワークフローの実行

実際にアプリケーションから作成したワークフローを実行させる手順を説明します。ワークフローを用いることによって適切な担当者にタスクが割り当てられ、処理が確実に実行できることを確認してください。

アプリケーションからワークフローを実行

実際にアプリケーションからワークフローを実行し検証します。まずは、「ユーザー」アプリケーションにレコードが保存できる権限を持つ「セキュリティ・グループ」に属しているユーザーでMaximoにログインしてください。「リンク先」メニューから「セキュリティ」-「ユーザー」を選択します。「新規ユーザー」ボタンを押し、新しいレコードを作成します。「ユーザー」、「ユーザー名」、「パスワード」、「担当者」、「主要な電子メール」を入力し保存します。ワークフローの自動実行が有効になっている場合、上部にワークフローが開始された事を表すメッセージが表示されます。

図21. ワークフローの自動実行
図21. ワークフローの自動実行

ワークフローを手動で実行する場合、「アクションの選択」メニューから「ワークフロー」-「ワークフローのルートを定める」を選択します。「ワークフローの開始」ダイアログが表示され、どのプロセスを実行するか選択することができます。「ワークフローの「移動」ボタン」を設定していた場合、ツールバーからワークフローを実行させる事ができます。

図22. ワークフローの開始
図22. ワークフローの開始
図23. ワークフローの実行ボタン
図23. ワークフローの実行ボタン

プロセスの実行・管理

タスクがユーザーに割り当てられると、スタート・センターの「インボックス/割り当て」にレコードが表示されます。「MAXADMIN」ロールに属している担当者、例えば「MAXADMIN」などでMaximoにログインします。スタート・センターに表示されている「新規ユーザー作成のリクエスト」を選択すると「ユーザー」アプリケーションが開き、ワークフローが実行されているレコードが表示されます。

図24. インボックス
図24. インボックス

「ルート」ボタンを選択するとアクションを選択するダイアログが表示されます。「承認」を選択しOKボタンを押すと設定されたアクションが実行されワークフローが終了します。

図25. アクションの実行
図25. アクションの実行

再割り当てボタンを選択すると、別の担当者に割り当てを委譲することができます。その際、通信テンプレートなどを用いて任意のユーザーに通知を行う事ができます。その他「アクションの選択」から「ワークフローの停止」を選択すると、ワークフローの実行を停止することができます。これらは後述する「ワークフロー管理」アプリケーションからも実行することができます。

「アクションの選択」メニューから現在実行されているワークフローの状態を確認することができます。ワークフローが実行されているレコードを開き、「ワークフロー履歴の表示」「ワークフロー割り当ての表示」「ワークフロー・マップの表示」を選択してください。それぞれダイアログが表示され履歴や現在のワークフローのルートなどが確認できます。

「ワークフロー履歴の表示」ではレコードに対して過去どのようなプロセスのタスクおよびアクションを行いどの担当者が割り当てられたかなどを確認することができます。

図26. ワークフロー履歴の表示
図26. ワークフロー履歴の表示

「ワークフロー割り当ての表示」では現在どのプロセスでどのタスクがどの担当者に割り当てられているか確認することができます。

図27. ワークフロー割り当ての表示
図27. ワークフロー割り当ての表示

「ワークフロー・マップの表示」では現在実行されているワークフローのどのノードが割り当てられているか、ワークフロー・キャンバスと同等のフロー図上で確認することができます。

図28. ワークフロー・マップの割り当て
図28. ワークフロー・マップの割り当て

ワークフロー管理

現在実行されているワークフローに対して、一覧表示、ワークフローの停止、割り当てられた担当者の閲覧・削除・再割り当てを行うことができます。ワークフロー管理は「リンク先」-「システムの構成」-「プラットフォームの構成」-「ワークフロー管理」から実行できます。

図29. ワークフロー管理アプリケーションの画面
図29. ワークフロー管理アプリケーションの画面

割り当ての管理

右側にある「アクティブな割り当ての表示/変更」ボタンから担当者の割り当てを変更することができます。ダイアログに現在アクティブな割り当て済み担当者の一覧が表示されます。このダイアログから割り当ての削除と再割り当てを行う事ができます。

図30. アクティブな割り当ての表示
図30. アクティブな割り当ての表示

現在アクティブな担当者が複数人いる場合割り当てを削除することができます。割り当てが1人のみの場合削除することはできません。「割り当ての再割り当て」ボタンを押すと割り当てられた担当者を変更することができます。割り当ての変更を行うときに担当者が変更になったことを通知するために電子メールを送信することも可能です。通知には通信テンプレートを使用できます。

図31. 再割り当て
図31. 再割り当て

ワークフローの停止

ワークフローを停止するには「プロセスの停止」ボタンを押してください。ワークフローを停止する際、電子メールを送信します。「送信先」フィールドには任意のロールを割り当てる事ができます。わかりにくいオプション名ですが、「電子メールの開封」チェック・ボックスはワークフローに割り当てられている現在有効な担当者に電子メールを送信します。「電子メールの完了」チェック・ボックスは現在有効な担当者以外の以前割り当てられた担当者へメールを送信します。

図32. ワークフローの停止
図32. ワークフローの停止

まとめ

本稿では、Maximoのビジネスプロセスを管理する上で重要な機能を果たすワークフロー機能について解説しました。Maximoのワークフロー機能の概要について説明し、ワークフローの定義に使用される「ワークフロー・デザイナー」、実行されているワークフローの管理を行う「ワークフロー管理」「ワークフロー・メニュー」などを解説し、Maximo上でどのようにワークフローが作成・実行されるか解説しました。


注釈

*1 Maximo Base ServiceとはMaximo関連製品の共通部分を指しています。製品、ガイド、マニュアル等にはこれ以外にTivoli Process Automation Engine、Tivoli Process Automation Platformとなっている所もあります。2008年10月以降、IBMでは、このMaximo関連製品が持つ共通機能としてのフレームワークを指してTivoli Process Automation Engineと呼んでいます。

*2 Maximo Business Objectの略です。MBOはMaximoシリーズPart2で解説しています。

参考文献

コメント

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=Tivoli (service management)
ArticleID=375869
ArticleTitle=Maximo シリーズ: Part7 - Workflow
publish-date=04242009