レベル: 初級 福井 清香, ソフトウェア開発研究所, IBM
2009年 1月 20日 FileNet P8のビジネス・プロセス管理 (BPM) 機能を導入すると、コーディングなしに簡単にBPM環境を構築することが可能です。実業務で使われるBPMアプリケーションの多くはエンドユーザーが直接使用するので、その画面やセキュリティには多種多様な機能が求められます。FileNet Business Process FrameworkはFileNet BPM環境で稼働する、簡単な設定のみで使用可能なWebアプリケーションです。本稿ではFileNet Business Process Frameworkの機能、アーキテクチャーを実際の画面イメージを交えて紹介します。
FileNet Business Process Framework概要
ビジネス・プロセス管理 (Business Process Management, 以下BPM) システムは、企業にて日々発生する業務を効率よく処理するために導入されます。そのため、BPM製品を使ってシステムを構築する場合、対象とするユーザーは一般ユーザーである場合が多いと想定されます。そのようなBPMシステムにはビジネス・プロセスの処理エンジンの性能はもちろんのこと、一般ユーザーにも受け入れられる使い易い画面であること、各ユーザーの権限に応じてアクセス管理を正しく行えるシステムであることが求められます。一方、画面やセキュリティに関する要件に応えるためにリッチなアプリケーションを作ろうとすると、それだけ工数が多く掛かって費用対効果の低いシステムになってしまう、という危険性も常にはらんでいます。
FileNetを使ってBPM環境を構築する場合、製品として添付されているWorkplaceというWebアプリケーションによって、シンプルなセキュリティ機能やフォーム画面が付加された画面でBPM環境をすぐに使用することが可能です(詳細はIBM FileNet P8 機能概説: Part 2 – ビジネス・プロセス管理機能およびIBM FileNet P8 機能概説 (Part 5) –BPMアジャイル開発をご参照ください)。一方、よりレイアウトやセキュリティ機能がカスタマイズされたアプリケーションを使いたいという要望がある場合は追加のBPMアプリケーション導入が必要となります。
FileNetには、製品のJava APIを使って構築されたFileNet Business Process Framework (以下BPF)というWebアプリケーションがオプション製品として用意されています。これはFileNet環境の上で動くWebアプリケーションの一つです。設定画面を使って画面レイアウトやセキュリティ設定のカスタマイズを行うことで、コーディングを行わずにシステム要件に特化したBPMアプリケーション環境を迅速に構築できることが大きな特徴です。BPFと各FileNet製品との関係は下図のようになっています。BPFはWorkplaceと同じようにContent Engine, Process Engineと通信して稼動するWebアプリケーションであることが分かります。
BPFではワークフローの各プロセスを”ケース”(案件)と呼ばれる単位で扱います。一つのケースでビジネス・プロセスの一単位(例:一件の新規契約処理、一件の承認処理)を取り扱います。下図のように一つのバインダーに契約書などの必要な書類をすべて挟み込み、それを人から人へ、またはシステムへワークフローの定義に従って回していき、途中でデータの確認や変更、承認や却下といった処理を行うことで、一つのケースの処理が進んでいきます。BPFではバインダーを人から人、または人からグループに回す際、アクセス管理された受信トレイに入れることで、次の処理を担当する人やグループを指定することができます。この一連の流れをすべて終えることで、一つのケースの処理が完了し、処理されたデータはFileNetリポジトリーに保管されます。
BPFの特徴
本節ではBPFの画面やカスタマイズ用の部品の特徴を、製品添付のサンプルワークフローを使って1つのケースを処理する手順に従ってご紹介します。
BPFアプリケーションの機能
BPFはFileNet BPMのJava APIを使って実装されたワークフローを処理するためのアプリケーションですが、Workplaceとは異なる以下の特徴があります。
- 「ロール」と呼ばれる役割グループの種類によって、参照できる受信トレイや画面上で使用可能な部品などの画面レイアウトを指定することが可能。一人のユーザーが複数ロールを持つことで、画面を切り替えてロールに応じたタスクを処理可能
- ワークフローに添付されたファイルと実行結果のデータをFileNetリポジトリーに永続的に保管、処理終了後に参照可能
- 自動でアプリケーション実行の監査ログを保管、画面より参照可能
- 設定画面によりデータ項目の順番や段組などのカスタマイズが可能
- ファイルを添付したワークフローの開始、各ユーザーのタスク処理、監査ログの参照、フィルターや検索テンプレートによる検索などの機能をすべて一つの画面上で使うことができるため、操作が非常に容易
以上のようにBPFでは様々な製品機能が用意されていて、これらをすべてコーディングなしに使用することができます。下図はBPFアプリケーションの代表的なレイアウト例です。ここではロール”インデクサ”のユーザーとしてログインした場合の初期画面を表示しています。
上の画面にはロール”インデクサ”のユーザーが見られる受信トレイである”インデックス”に割り当てられた3つの業務(以降タスクと呼びます)が右のペインに一覧となって表示されています。一つのロールには複数のユーザーを割り当てられますので、何人かでこの受信トレイに入っているタスクを分担することができます。一人のユーザーが一つのタスクを実行している時は排他制御がかかり、他のユーザーが処理をすることはできないようになっています。また、個人だけが見られる受信トレイ”マイワーク”にタスクを割り当てて、特定のユーザーに必ず処理を行わせることも可能です。
ユーザーが自分のロールに割り当てられたタスクの一つをクリックすると、以下のようなタスクの詳細画面が出てきて、このタスクのデータや添付ファイルを閲覧・編集することができます。
ここでユーザーは値の入力や確認、または添付ファイルの閲覧を行います。そして内容に問題がなければ右上のアクションから「完了」、それ以外の場合は「保留」や「拒否」を選択します。なお、画面はこのようにすべて日本語化されていますが、画面に表示する文字列はすべてリソースファイルによって定義が可能ですので、多国語環境への対応も行うことができます。
また、画面左下にアイコンで表示されている添付ファイルを開くと、以下のようなFileNet付属の画像ビューアーが開きます。ユーザーはここで画像にアノテーションと呼ばれる、メモやスタンプを添付、保存することができます。この機能はWorkplaceのイメージビューアーと同じものを使用していて、セキュリティ設定によってメモの表示・非表示や編集権限などを設定可能です。
このようにしてユーザーが処理を完了すると、タスクはワークフロー定義の流れに従って次の受信トレイへと移っていきます。すべてのユーザーが処理を終了したところでこのケースは完了となり、最終的な入力値と添付ファイルはFileNetリポジトリーに保管されます。また、タスクの参照・編集といった実行ログも以下のように画面から簡単に参照することが可能です。この画面を表示するかどうかもロール単位で定義することができます。
BPF Explorerによる画面カスタマイズ
以上で紹介した機能はすべてBPFの設定のみで使用可能です。BPFの一つの大きな特徴として、BPF Explorerという、Windows上で稼動するBPFの基本設定やカスタマイズのためのツールが提供されています。これはBPFの設定を保持しているデータベースにWindowsからODBC接続し、BPFの設定内容を変更するためのツールです。
今まで紹介したサンプル画面には受信トレイが表示されていますが、BPF Explorer上でこれらの受信トレイへのアクセスをロール単位で制御することで、ユーザーによって参照可能な受信トレイを分けることが可能です。このロールもまたBPF Explorer上で定義し、FileNetのユーザーやグループを割り当てることで使用可能になります。また、受信トレイごとに表示するデータ項目の種類やレイアウト、画面上に表示するタブやボタンなどもBPF Explorerで定義可能なため、コーディングを行わずに画面ごとの細かいレイアウトやアクセスの設定を行えます。下図はBPF Explorerで先ほどの詳細画面のレイアウトを編集している画面です。このように各データ項目を設定画面で自由に並べ、そのままWebアプリケーションのレイアウトに即時に反映できるという特徴があります。
BPFを使ったアジャイルなアプリケーション構築
以上で紹介したように、様々な機能を簡単にカスタマイズできることがBPFの特徴です。このアプリケーション環境の構築手法も通常のFileNet BPM環境と同様、アジャイルな開発スタイルに適合したものとなっています。BPFの場合は下図のような流れで開発を行います。(1)から(3)までを行ったらすぐに(4)でテストできますので、データ項目やステップの追加が発生した場合は再び(1)から順にこのサイクルをたどることで、アジャイルなBPFアプリケーション構築が可能です。
以下に各ステップでの実行内容を記します。
(1) ワークフロー定義: 通常のFileNet BPMアプリケーションの開発手順と同様にワークフロー定義を作成します。ユーザーからユーザーまたはグループ、システムへと流れていくビジネス・プロセスを、プロセスデザイナーの画面を使って定義します。
(2) データモデル定義: すでに述べたとおり、BPFではケースの実行データや添付ファイル、監査ログをすべてFileNetリポジトリーに永続的に保管できるという特徴があります。そのためにここではケースのデータ保存の際に使用するドキュメントクラスのプロパティなどのデータモデルをEnterprise Managerで定義します。
(3) データマッピング、画面カスタマイズ: (1)と(2)で定義したデータをBPF Explorerを使ってマッピングします。これにより、ワークフローの実行中データとFileNetリポジトリーの永続データを同期することができるようになります。また、各受信トレイのレイアウトや、受信トレイにアクセス可能なロールの指定なども行います。
(4) BPFアプリケーションのテスト: (1)から(3)までの定義が終わったら実際のアプリケーションを稼動させてテストします。アプリケーションの稼動確認が終わったら、必要に応じて日本語リソースファイルの変更もここで行います。
以上の流れでBPFアプリケーションを構築することができます。(1)から(3)までを実行した後、(4)でテストをする際にアプリケーションの再デプロイや再起動は必要ありません。実行した変更は即時に反映され、すぐに新しい環境でBPFアプリケーションを使うことができます。このように一連の手順を繰り返すことで、データモデルの変更や追加の要件に迅速に対応したBPFアプリケーション環境の構築が可能になっています。
また、製品として用意されている機能に加えて、サーバーからのデータ取得や、画面部品の追加が必要な場合は、BPFのJava APIやJavaScript APIを使って更にカスタマイズを行うことが可能です。BPFアプリケーション構築のより細かい手順については製品マニュアル、およびBuild BPM applications using FileNet, Part 1 – 3をご参照ください。
まとめ
本稿で紹介したFileNet BPFはコンテンツをベースにしたビジネス・プロセス管理を実現するための非常に強い武器になります。コーディングを行わずにGUI上でワークフロー定義など様々な操作が可能であること、またコーディングによるカスタマイズに柔軟に対応できることが大きな特徴です。また本稿の画面イメージが示すようにユーザーインターフェースの部品が豊富に用意されていますので、開発から実行、分析までのすべての段階においてユーザビリティの高いシステムを提供可能にしています。また、BPFアプリケーションの構築や変更を迅速に行うことができますので、システムの初期導入やメンテナンスに必要なコストも最小限で済むといったメリットがあります。BPFはこれらの機能によってBPMシステムを最小限のコストで効率的に導入し、BPMシステム導入において高い費用対効果を得ることを可能にします。
参考文献
著者について  | |  | 福井 清香はソフトウェア開発研究所のエンジニアです。Enterprise Content Management分野、特にFileNetにおけるお客様案件でのコンサルテーション・開発・支援業務を担当しています。音楽を愛し移動中は携帯プレーヤーを手放さない日々ですが、聞くだけでは物足りなくなり最近10年ぶりに合唱を習い始めました。仕事中にうっかり口ずさんでいることもあります。 |
記事の評価
|