Project – 休暇管理アプリケーション

概要

これは、Bonita BPM 7 のプロセス統括アプリケーション 開発事例です。複数のプロセスに跨る中央の業務データベースを基に記録データの表示や関連プロセスの起動・連携する様子を体験できます。

このサンプルは、BPM7の次のコンセプトを実証しています。

  • プロセス統括アプリケーション(休暇管理アプリケーションとして)
  • UI デザイナーで構築したフォーム、ページおよびカスタム ウィジェット
  • ビジネス データモデル(BDM)とコントラクトを利用したプロセス

インストールと実行方法

  1. Bonita BPM Studio 7.1.2 またはそれ以降のバージョンを起動します。
  2. アプリケーションバンドル をダウンロードします。
  3. このバンドルをテンポラリ・フォルダに自己解凍します。
  4. テンポラリ・フォルダ内の “vacation-management-example-ja-x.x.x” フォルダ下にある Processes.bos ファイルを Bonita BPM Studio にインポートします。このファイルには、「新規休暇申請」、「休暇申請取消」、「休暇取得可能日数初期化」、「ビジネスデータ全削除」の4つのプロセス(ダイアグラム名には”Tahiti”の接頭辞を付けています)が含まれています。さらに、ビジネス データモデルの定義、デフォルトのプロセス構成設定、カスタム ウィジェットを含みます。
  5. まず最初に、インポートした「休暇取得可能日数初期化」プロセスを開いて実行します(Bonita BPM Studio の [実行] ボタンをクリック)。 このプロセスは、デフォルトのテスト環境(ACME組織)内で宣言されている Bonita BPM 各ユーザーの休暇取得可能日数をストアしているビジネスデータを初期化します。
  6. これで初期化は完了しました。次に「新規休暇申請」プロセスを実行します。 休暇申請の承認は申請者(walter.bates) の上司(helen.kelly) によって遂行されるので、あなたは新規申請を実行後、walter.bates をログアウトし、helen.kelly で再ログインし承認を行う必要があります(ログインパスワードは、いずれも”bpm”です)。いくつかの休暇申請を作成したい場合は、Studio の [実行] ボタンをクリックしないで、 [ポータル] ボタンをクリックしてブラウザ上にポータル画面を表示してから、[利用者] レビュー内の [プロセス] タブに進み、プロセスを選択して [開始] ボタンをクリックします。ポータルを体験するにあたっては、あなたは今どのユーザーでログインしているのかを常に意識しておく必要があります。
  7. 「新規休暇申請」を取消したい場合は、「休暇申請取消」プロセスを実行します。このプロセスは、前項ステップ6で自分が申請した過去の記録が表示されるので、その記録から取消対象の申請を選択します。このプロセスも Studio の [実行] ボタンを一度クリックすれば、その後はステップ6と同様にポータル上でオペレーションできます。
  8. ステップ6と7で「新規休暇申請」と「休暇申請取消」の両プロセスのデプロイが完了したら、ユーザーが休暇申請したすべての概況を表示し、必要に応じ取消や新規申請が可能なプロセス統括アプリケーションをデプロイします。このアプリケーションは、前項ステップ6で自分が申請した過去の記録の表示、「新規休暇申請」プロセス、および「休暇申請取消」プロセスのコントロールを行う UI デザイナーで作成した単一Webページのユーザーインターフェイスです。このアプリケーションをデプロイするには、ポータルを [システム管理者] ビューに切り替えて(トップ右コーナーのドロップダウンリストを使用し、[利用者] から [システム管理者] に切り替える)、[リソース] に進み、[追加] ボタンをクリックし、page-myVacationRequestsJa.zip ファイルをアップロードします([次へ] と [確認] のボタンをクリック)。なお、カスタムページのより詳しい情報は、Bonita BPM 日本語ドキュメント/ページ を参照してください。
  9. ポータルで [アプリケーション] に進み、[インポート] ボタンをクリックしてApplication_Data.xml ファイルを選択します。 より詳しい情報は、 Bonita BPM 日本語ドキュメント/アプリケーション を参照してください。
  10. 次の URL にアクセスすることによって、複数のプロセスを統括した休暇管理アプリケーションを実行できます(ポート番号はあなたのPC環境によって変わる可能性があります)。なお、このアプリケーションの使用する際は、Bonita BPM ポータルは稼働状態にしておく必要があります。
    http://localhost:8080/bonita/apps/vacation
  11. あなたが、これまでにオペレーションした記録データをクリアし、白紙の状態に戻すには、「ビジネスデータ全削除」プロセスを実行し、その後、「休暇取得可能日数初期化」プロセスを実行します。なお、Studio 終了後、デフォルトではオペレーションした記録データはすべて削除されますが、データを残しておきたい場合は、Studio の [環境設定] -> [データベース] に進んで、「終了時にビジネス データ モデルのデータベースをきれいにする」のチェックをオフにします。また、ステップ8と9でアップロードしたリソースとアプリケーションもStudio 終了後、削除されます。残しておきたい場合は、Studio の [環境設定] -> [データベース] に進んで、「終了時にデータベースをきれいにする」のチェックをオフにします。
information注意: プロセスのデプロイ時に、「警告」または「エラー」のメッセージが表示された場合の対処方法は、「プロセス インポートまたはデプロイ時のトラブル シューティング」を参照してください。

 データモデル

休暇管理のデータ構造は、ビジネス データ管理(BDM)を使用してビジネス データモデル内を定義されています。
Bonita BPM Studio にサンプルプロセスをインポート後、Studioのトップメニューで [開発] -> [ビジネス データ モデル] –> [管理…] に進むと、ビジネス オブジェクトのリストが表示されます。このデータ定義をUML クラス図で表記すると下図になります。

tahiti-dataModel
このオブジェクト定義仕様に従ってBPMエンジン上の内臓データベース(デフォルトは”H2 Database”)にスキーマが実装され、プロセス対象データが永続的に維持されます。

 

プロセス図

新規休暇申請プロセス

tahiti-newVacationRequest
休暇申請取消プロセス

tahiti-cancelVacationRequest
休暇取得可能日数初期化プロセス

tahiti-initiateVacationRequest
ビジネスデータ全削除プロセス

tahiti-removeAllBusinessData
スクリーンショット

休暇管理 リビング アプリケーション

tahiti-livingAppsMyVacationRequest

新規休暇申請プロセス – 休暇申請の作成フォーム

tahiti-formNewVacationRequestInstantiation

新規休暇申請プロセス – 休暇申請のレビューフォーム

tahiti-formReviewVacationRequest

休暇申請取消プロセス – 休暇申請の取消選択フォーム

tahiti-formCancelVacationRequestInstantiation

休暇申請取消プロセス – 休暇申請の取消レビューフォーム

tahiti-formReviewVacationRequestCancellation

サポートバージョン

オリジナル版: Bonitasoft Community Project: Vacation Management Example (英語版)を日本語化したものです。
日本語版制作:  オープンソースBPMジャパン株式会社
Bonita BPMの対応バージョン: 7.1.2以降
Bonita BPMの対応エディション: Community, Team Work, Efficiency, Performance
カテゴリー: アプリケーション
ライセンス: LGPL v3