(57)【要約】      （修正有）【課題】自動的にプロセスを変更することが可能なプロセス管理プログラム、プロセス管理方法及びプロセス管理装置を提供する。【解決手段】外部システムから受け付けた情報が所定条件を満たすか否かを判定し、所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、実行するプロセスを第一のプロセスから第二のプロセスへ変更する。【選択図】図１
2016143331.tif 000002
【特許請求の範囲】
【請求項１】
外部システムから受け付けた情報が所定条件を満たすか否かを判定し、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、
実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する、
処理をコンピュータに実行させるプロセス管理プログラム。
【請求項２】
前記プロセス制御定義情報は、前記第一のプロセスから前記第二のプロセスに引き継ぐデータの種別情報を含み、
前記変更する処理は、
前記データの種別情報に基づいて、前記第一のプロセスから前記データの種別情報に対応する情報を前記第二のプロセスへ引き継ぐ処理を、前記コンピュータに実行させる請求項１記載のプロセス管理プログラム。
【請求項３】
前記プロセス制御定義情報は、
前記第一のプロセスに含まれるアクティビティ毎に、前記アクティビティの遷移先となる前記第二のプロセスのアクティビティを定義した情報を含む請求項１又は２に記載のプロセス管理プログラム。
【請求項４】
前記プロセス制御定義情報は、
前記所定条件を示す情報を含み、
前記外部システムから受け付けた情報は、外部要因により発生したイベントの内容を示す情報である請求項１乃至３の何れか一項に記載のプロセス管理プログラム。
【請求項５】
コンピュータによるプロセス管理方法であって、該コンピュータが、
外部システムから受け付けた情報が所定条件を満たすか否かを判定し、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、
実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する、プロセス管理方法。
【請求項６】
外部システムから受け付けた情報が所定条件を満たすか否かを判定する判定部と、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する制御部と、を有するプロセス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス管理プログラム、プロセス管理方法及びプロセス管理装置に関する。
【背景技術】
【０００２】
近年では、業務の流れ（ビジネスプロセス）の管理等を行うＢＰＭＳ（Business Process Management System）が知られている。このＢＰＭＳでは、ビジネスプロセスモデリング表記法（Business Process Model and Notation；BPMN）によりプロセスのフローが記述されており、記述された通りにプロセスが実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−７９２８９号公報
【特許文献２】国際公開第２００８／１１１４２８号
【特許文献３】国際公開第２００９／０９６５１９号
【特許文献４】特表２００７−５２６５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のＢＰＭＳでは、プロセスは、実行が開始されると記述された通りにしか動作しない。このため、例えば何らかの外部要因が発生し、処理内容を変更したい場合でも、開始したプロセスを変更することができない。
【０００５】
また、従来のＢＰＭＳでは、プロセスの変更に備えてフロー中に分岐条件を記述することができるが、条件が複雑になるにつれてプロセスのフローも複雑になり、管理が煩雑になる。
【０００６】
開示の技術は、自動的にプロセスを変更することが可能なプロセス管理プログラム、プロセス管理方法及びプロセス管理装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
一様態によれば、外部システムから受け付けた情報が所定条件を満たすか否かを判定し、前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する、処理をコンピュータに実行させる。
【０００８】
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
自動的にプロセスを変更できる。
【図面の簡単な説明】
【００１０】
【図１】プロセス管理装置におけるプロセスの変更について説明する図である。
【図２】本実施形態の主なプログラム構成を説明する図である。
【図３】本実施形態の主なプログラム構成を説明する図である。
【図４】プロセス管理装置の機能を説明する図である。
【図５】プロセス定義データベースの一例を示す図である。
【図６】プロセス実行履歴データベースの一例を示す図である。
【図７】プロセス制御定義データベースの一例を示す図である。
【図８】遷移履歴データベースの一例を示す図である。
【図９】監視処理部の処理を説明する第一のフローチャートである。
【図１０】監視処理部の処理を説明する第二のフローチャートである。
【図１１】監視処理部の処理を説明する第三のフローチャートである。
【図１２】イベントの発生を通知する通知画面の例を示す図である。
【図１３】イベントの発生を通知する通知画面の他の例を示す図である。
【図１４】イベントの検索を行う検索画面の一例を示す図である。
【図１５】プロセス管理システムを説明する図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して実施形態について説明する。図１は、プロセス管理装置におけるプロセスの変更について説明する図である。図１（Ａ）は、プロセスの設計時の状態を示す図であり、図１（Ｂ）は、実行するプロセスの変更を説明する図である。
【００１２】
本実施形態のプロセス管理装置１００は、図１（Ａ）に示すように、設計時にプロセスを定義するプロセス定義情報１０と、プロセスの変更を制御するプロセス制御定義情報２０とが予め格納されている。
【００１３】
プロセス定義情報１０は、プロセスと、プロセスに含まれるアクティビティとの対応付けを示す情報を含む。プロセスとは、業務の流れを示すものであり、アクティビティとは、プロセス内において実施される作業（処理）を示すものである。
【００１４】
プロセス制御定義情報２０は、プロセスを変更する条件と、変更前のプロセスと変更後のプロセスとの対応付けを示す情報とが含まれる。プロセス定義情報１０とプロセス制御定義情報２０の詳細は後述する。
【００１５】
図１に示すプロセスは、例えば飛行機のチケットの予約業務を実現するものである。図１（Ａ）に示すプロセスＡは、飛行機のチケットの予約から、チケットを予約した利用者の搭乗までの業務を実行するものであり、プロセスＢは予約のキャンセルの業務を実行するものである。
【００１６】
プロセスＡは、４つのアクティビティ３１〜３４を含む。プロセスＡにおいて、アクティビティ３１は予約を取る処理を示しており、アクティビティ３２は入金手続きの処理を示しており、アクティビティ３３はチケットを発券する処理を示しており、アクティビティ３４は搭乗手続きの作業を示している。
【００１７】
プロセスＢには２つのアクティビティ４１、４２が含まれる。プロセスＢにおいて、アクティビティ４１は予約のキャンセルを行う作業を示し、アクティビティ４２はチケット代の払い戻しを行う作業を示している。
【００１８】
本実施形態では、例えばプロセス管理装置１００において、予約の取得要求が入力されると、プロセスＡの実行が開始され、チケットの予約から搭乗手続きまでの処理が実行される。また、本実施形態のプロセス管理装置１００において、予約のキャンセル要求が入力されると、プロセスＢの実行が開始され、予約のキャンセルと払い戻しの処理が実行される。
【００１９】
次に、図１（Ｂ）を参照して、プロセスの変更について説明する。
【００２０】
本実施形態のプロセス管理装置１００は、プロセスを変更する条件を満たすイベントが発生したか否かを監視している。そして、プロセス管理装置１００は、該当するイベントが検出された場合に、プロセス制御定義情報２０にしたがって実行中のプロセスを中断し、他のプロセスを実行する。すなわち、プロセス管理装置１００は、実行するプロセスを、実行中のプロセスから他のプロセスへ変更させる。
【００２１】
図１（Ｂ）では、プロセスＡの実行中にイベントが発生し、実行するプロセスをプロセスＡからプロセスＢに変更した場合を示している。
【００２２】
本実施形態のプロセス管理装置１００は、プロセス制御定義情報２０に含まれる条件を満たすイベントが外部要因により発生したか否かを監視する（ステップＳ１）。プロセス管理装置１００、例えばプロセスＡのアクティビティ３３の実行前に、イベントを検出すると（ステップＳ２）、プロセスＡの実行を中断し、プロセス制御定義情報２０においてプロセスＡからの遷移先のプロセスとして対応付けられたプロセスＢを起動する（ステップＳ３）。このとき、プロセス管理装置１００は、プロセスＡにおいて取得したデータをプロセスＢに渡し、プロセスＢにデータを引き継がせる。
【００２３】
尚、図１（Ｂ）では、プロセスの変更する条件を満たすイベントを、例えば台風の接近等とした。台風の接近とは、すなわち飛行機の運休を示す。
【００２４】
したがって、図１（Ｂ）では、プロセスＡを実行して飛行機のチケットを発券する前に、飛行機の運休を検出し、チケットの予約をキャンセルするプロセスＢへ自動的に遷移させる。このため、図１（Ｂ）では、運休となる飛行機のチケットによる搭乗手続きを行う前に、自動的に予約したチケットをキャンセルし、払い戻しの処理まで実行することができる。このように、本実施形態では、外部要因によるイベントが発生した場合に、自動的にプロセスを変更できる。
【００２５】
図２は、本実施形態の主なプログラム構成を説明する図である。本実施形態は、主なプログラムとして、ＢＰＭ（Business Process Management）プログラム２００、監視プログラム３００を有する。
【００２６】
本実施形態のＢＰＭプログラム２００は、業績を最適化するための補助となる一連のプロセスを実行するプログラムである。ＢＰＭプログラム２００は、プロセスの実行を開始すると、プロセスに含まれるアクティビティを後述する外部システムに実行させる。本実施形態のＢＰＭプログラム２００は、監視プログラム３００によって制御される。
【００２７】
本実施形態の監視プログラム３００は、プロセスを変更する条件を満たすイベントが発生したか否かを監視し、該当するイベントが発生した場合に、ＢＰＭプログラム２００を制御して、実行中のプロセスを中断し、他のプロセスを起動させる。
【００２８】
本実施形態のＢＰＭプログラム２００と監視プログラム３００とは、それぞれが独立した装置に実装されていても良いし、それぞれが１つの装置に実装されていても良い。また、本実施形態のＢＰＭプログラム２００と監視プログラム３００とは、プロセス管理プログラム４００として１つの装置に実装されても良い。
【００２９】
以下の実施形態の説明では、ＢＰＭプログラム２００と監視プログラム３００とが、プログラム管理プログラムとしてプロセス管理装置１００に実装された場合について説明する。
【００３０】
図３は、プロセス管理装置のハードウェア構成の一例を示す図である。本実施形態のプロセス管理装置１００は、それぞれバスＢで相互に接続されている入力装置１、出力装置２、ドライブ装置３、補助記憶装置４、メモリ装置５、演算処理装置６及びインターフェース装置７を有する。
【００３１】
入力装置１は、例えばマウスやキーボードであり、各種の情報を入力するために用いられる。出力装置２は、例えばディスプレイ等であり、各種信号の表示（出力）に用いられる。インターフェース装置７は、モデム，ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００３２】
プロセス管理プログラム４００は、プロセス管理装置１００を制御する各種プログラムの少なくとも一部である。プロセス管理プログラム４００は例えば記録媒体８の配布やネットワークからのダウンロードなどによって提供される。プロセス管理プログラム４００を記録した記録媒体８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３３】
また、プロセス管理プログラム４００を記録した記録媒体８がドライブ装置３にセットされると、プロセス管理プログラム４００は記録媒体８からドライブ装置３を介して補助記憶装置４にインストールされる。ネットワークからダウンロードされたプロセス管理プログラム４００は、インターフェース装置７を介して補助記憶装置４にインストールされる。
【００３４】
補助記憶装置４は、インストールされたプロセス管理プログラム４００を格納すると共に、必要なファイル、データ等を格納する。メモリ装置５は、コンピュータの起動時に補助記憶装置４からプロセス管理プログラム４００を読み出して格納する。そして、演算処理装置６はメモリ装置５に格納された各プログラムに従って、後述するような各種処理を実現している。
【００３５】
次に、図４を参照して本実施形態のプロセス管理装置１００の機能について説明する。図４は、プロセス管理装置の機能を説明する図である。
【００３６】
本実施形態のプロセス管理装置１００は、プロセス定義データベース１１０、プロセス実行履歴データベース１２０、プロセス制御定義データベース１３０、遷移履歴データベース１４０を有する。
【００３７】
プロセス定義データベース１１０には、プロセス定義情報１０が格納されている。プロセス実行履歴データベース１２０には、プロセスの実行履歴情報が格納されている。プロセス制御定義データベース１３０には、プロセス制御定義情報２０が格納されている。遷移履歴データベース１４０には、プロセスを変更した際の遷移履歴情報が格納されている。各データベースの詳細は後述する。
【００３８】
また、本実施形態のプロセス管理装置１００は、ユーザインターフェース部１５０、ＢＰＭエンジン部１６０、監視処理部１７０を有する。
【００３９】
本実施形態のユーザインターフェース部１５０は、実行されるアクティビティに応じた画面（ユーザインターフェース）を表示させる。
【００４０】
本実施形態のＢＰＭエンジン部１６０は、プロセス管理装置１００の演算処理装置６がＢＰＭプログラム２００を実行することで実現される。本実施形態の監視処理部１７０はプロセス管理装置１００の演算処理装置６が監視プログラム３００を実行することで実現される。
【００４１】
本実施形態のＢＰＭエンジン部１６０は、プロセス定義データベース１１０を参照し、記述されたプロセスにしたがって、外部システム５００に定義されたアクティビティを実行させる。本実施形態の外部システム５００は、例えば航空機の予約やキャンセルを行うシステムや、入金や払い戻しを行うシステム等である。
【００４２】
また、本実施形態のＢＰＭエンジン部１６０は、プロセスが実行されると、プロセスの実行履歴情報をプロセス実行履歴データベース１２０に格納する。また、本実施形態のＢＰＭエンジン部１６０は、監視処理部１７０からの指示に応じて、実行中のプロセスを中断し、他のプロセスの実行を開始する。すなわち、ＢＰＭエンジン部１６０は、監視処理部１７０からの指示応じて実行するプロセスを変更する。
【００４３】
本実施形態の監視処理部１７０は、イベント収集・判定処理部１７１と、ＢＰＭ制御処理部１７２と、通知制御処理部１７３と、を有する。
【００４４】
本実施形態のイベント収集・判定処理部１７１は、外部イベントデータベース６００を監視し、プロセス制御定義データベース１３０に格納された、プロセスを変更する条件を満たすイベントが発生したか否かを判定する。尚、本実施形態の外部イベントデータベース６００は、例えば気象情報が格納されたデータベースや、交通情報が格納されているデータベース等であり、プロセス管理装置１００の外部で発生している事象（イベント）に関する情報が格納されたデータベースである。尚、図４の例では、外部イベントデータベース６００を１つのデータベースとしたが、これに限定されない。外部イベントデータベース６００は、イベントの種類に応じて複数設けられていても良い。
【００４５】
ＢＰＭ制御処理部１７２は、プロセスを変更する条件を満たすイベントが検出された場合に、ＢＰＭエンジン部１６０に通知して実行するプロセスを変更させる。具体的には、ＢＰＭ制御処理部１７２は、プロセス制御定義データベース１３０を参照し、変更先（遷移先）として起動されるプロセスと、実行中のプロセスから変更先のプロセスへ引き継ぐデータとをＢＰＭエンジン部１６０に通知する。
【００４６】
通知制御処理部１７３は、プロセスを変更する条件を満たすイベントが発生した際に、イベントの発生を通知する。また、通知制御処理部１７３は、実行するプロセスを変更した際に、プロセスの遷移履歴情報を遷移履歴データベース１４０へ格納する。
【００４７】
次に、図５乃至８を参照して本実施形態のプロセス管理装置１００の有する各データベースについて説明する。
【００４８】
図５は、プロセス定義データベースの一例を示す図である。本実施形態のプロセス定義データベース１１０は、プロセス一覧テーブル１１１、アクティビティ定義テーブル１１２、プロセス定義テーブル１１３を含む。
【００４９】
プロセス一覧テーブル１１１は、プロセスの一覧を示すものであり、情報の項目として、プロセスＩＤと、プロセス名を有する。図５の例では、プロセスＩＤ「００１」のプロセス名が「航空券予約キャンセル」であり、プロセスＩＤ「００３」のプロセス名が「航空券予約使用」である。
【００５０】
アクティビティ定義テーブル１１２は、プロセスに含まれるアクティビティを定義するものである。アクティビティ定義テーブル１１２は、情報の項目として、プロセスＩＤ、アクティビティＩＤ、アクティビティ名、ユーザインターフェース、外部システムを有する。項目「アクティビティＩＤ」の値は、アクティビティＩＤであり、項目「アクティビティ名」の値はアクティビティ名である。
【００５１】
項目「ユーザインターフェース」の値は、対応するアクティビティＩＤを実行する際に、ユーザインターフェース部１５０が表示させるユーザインターフェースを特定する識別子である。項目「外部システム」の値は、対応するアクティビティを実行する外部システム５００を特定する外部システム５００の識別子である。
【００５２】
図５の例では、プロセスＩＤ「００１」、アクティビティＩＤ「００１」の、アクティビティ名は「キャンセル」であり、予約キャンセルの処理を行う外部システム５００の識別子は００３である。
【００５３】
また、プロセスＩＤ「００３」、アクティビティＩＤ「００１」の、アクティビティ名は「予約」であり、ユーザインターフェース「００１」で特定される予約画面がユーザインターフェースとして表示される。ここで、予約画面は、例えば外部システム５００において、航空券の予約をするユーザに対して表示されても良い。
【００５４】
プロセス定義テーブル１１３は、プロセス毎に管理する情報を示す。プロセス定義テーブル１１３は、情報の項目として、プロセスＩＤ、属性ＩＤ、型、名前、初期値を有する。
【００５５】
項目「属性ＩＤ」の値は、管理される情報の属性を特定する識別子である。項目「型」の値は、属性の情報の型を示す。項目「名前」の値は、情報の名称を示す。項目「初期値」の値は、属性の値（以下、属性値と呼ぶ）の初期値を示す。
【００５６】
プロセス定義テーブル１１３では、項目「属性ＩＤ」の値と、その他の項目の値とが対応付けられており、項目「属性ＩＤ」の値と、その他の項目の値を含む情報をプロセスデータ定義情報と呼ぶ。
【００５７】
図５では、例えばプロセスＩＤ「００１」には、属性ＩＤ「００１」〜「００３」で特定される情報が管理される。プロセスＩＤ「００１」における属性ＩＤ「００１」の型は、文字型（テキストデータ）であり、情報の名称は「利用者ＩＤ」である。
【００５８】
次に、図６を参照し、プロセス実行履歴データベース１２０について説明する。図６は、プロセス実行履歴データベースの一例を示す図である。
【００５９】
本実施形態のプロセス実行履歴データベース１２０は、プロセスインスタンス情報テーブル１２１と、プロセスインスタンスデータテーブル１２２とを有する。
【００６０】
プロセスインスタンス情報テーブル１２１は、情報の項目として、プロセスＩＤ、インスタンスＩＤ、ステータス、実行中アクティビティＩＤ、実行ユーザＩＤを有する。項目「インスタンスＩＤ」の値は、プロセス定義に則って実行される処理であるプロセスインスタンスを特定する識別子である。
【００６１】
項目「ステータス」の値は、対応するアクティビティの状態を示す。具体的には、アクティビティが実行中であるか否かを示す。項目「実行中アクティビティＩＤ」の値は、実行中のアクティビティＩＤを示す。項目「実行ユーザＩＤ」の値は、アクティビティによる処理対象となるユーザを示している。
【００６２】
プロセスインスタンス情報テーブル１２１では、項目「インスタンスＩＤ」の値と、その他の項目の値とが対応付けられており、項目「インスタンスＩＤ」の値と、その他の項目の値とを含む情報をプロセスインスタンス情報と呼ぶ。
【００６３】
図６の例では、プロセスＩＤ「００３」において、ユーザ「Ｕｓｅｒ３」を対象として、アクティビティＩＤ「００２」を実行中であり、この処理をインスタンスＩＤ「００３」としている。
【００６４】
プロセスインスタンスデータテーブル１２２は、情報の項目として、プロセスＩＤ、インスタンスＩＤ、属性ＩＤ、属性値を有する。項目「属性値」の値は、属性ＩＤにより特定される属性値を示す。
【００６５】
プロセスインスタンスデータテーブル１２２では、項目「インスタンスＩＤ」の値と、その他の項目の値とが対応付けられており、項目「インスタンスＩＤ」の値と、その他の項目の値とを含む情報をプロセスインスタンスデータと呼ぶ。
【００６６】
次に、図７を参照し、プロセス制御定義データベース１３０について説明する。図７は、プロセス制御定義データベースの一例を示す図である。
【００６７】
本実施形態のプロセス制御定義データベース１３０は、監視ルールテーブル１３１、アクティビティ遷移定義テーブル１３２、マッピング定義テーブル１３３を有する。
【００６８】
監視ルールテーブル１３１は、プロセスの変更を行う条件を示す。監視ルールテーブル１３１は、情報の項目として、ルールＩＤ、遷移条件を有する。
【００６９】
項目「ルールＩＤ」の値は、条件を特定する識別子である。項目「遷移条件」の値は、プロセスを変更する条件を示す。以下の本実施形態の説明では、プロセスを変更する条件を遷移条件と呼ぶ。
【００７０】
アクティビティ遷移定義テーブル１３２は、プロセスが変更された際に起動されるプロセス及びアクティビティを示している。以下の実施形態の説明では、プロセスが変更されて他のプロセスを起動させることを、「プロセスが他のプロセスへ遷移する」と表現する。また、以下の実施形態の説明では、変更前に実行されていたプロセスを遷移元プロセスと呼び、遷移元プロセスにおいて実行中であったアクティビティを遷移元アクティビティと呼ぶ。また、以下の実施形態の説明では、プロセスが他のプロセスに遷移した際に起動されるプロセスを遷移先プロセスと呼び、遷移先プロセスにおいて実行されるアクティビティを遷移先アクティビティと呼ぶ。
【００７１】
アクティビティ遷移定義テーブル１３２は、情報の項目として、ルールＩＤ、遷移元プロセスＩＤ、遷移元アクティビティＩＤ、遷移先プロセスＩＤ、遷移先アクティビティＩＤ、マッピングＩＤを有する。
【００７２】
項目「遷移元プロセスＩＤ」の値は、遷移元プロセスのプロセスＩＤを示す。項目「遷移元アクティビティＩＤ」の値は、遷移元アクティビティのアクティビティＩＤを示す。項目「遷移先プロセスＩＤ」の値は、遷移先プロセスのプロセスＩＤを示す。項目「遷移先アクティビティＩＤ」の値は、遷移先アクティビティのアクティビティＩＤを示す。項目「マッピングＩＤ」の値は、後述するマッピングＩＤを示す。
【００７３】
アクティビティ遷移定義テーブル１３２では、項目「ルールＩＤ」の値と、その他の項目の値とが対応付けられている。以下の実施形態の説明では、項目「ルールＩＤ」の値と、その他の項目の値とを含む情報をアクティビティ遷移定義情報と呼ぶ。本実施形態のアクティビティ遷移定義情報は、項目「ルールＩＤ」、「遷移元プロセスＩＤ」、「遷移元アクティビティＩＤ」の組合せで一意に特定される。
【００７４】
図７では、プロセスＩＤ「００３」のプロセスにおけるアクティビティＩＤ「００２」のアクティビティの実行中に、ルールＩＤ「００１」の遷移条件を満たすイベントが発生した場合、実行するプロセスがプロセスＩＤ「００１」のプロセスに遷移する。そしてプロセスＩＤ「００１」において、アクティビティＩＤ「００１」のアクティビティが実行される。
【００７５】
マッピング定義テーブル１３３は、遷移先のプロセスに引き継ぐ属性値を示している。すなわち、マッピング定義テーブル１３３は、遷移元のプロセスから遷移先のプロセスへ引き継ぐ情報を示している。すなわち、マッピング定義テーブル１３３は、遷移元のプロセスから遷移先のプロセスへ送るデータの種別情報が格納されている。
【００７６】
マッピング定義テーブル１３３は、情報の項目として、マッピングＩＤ、遷移元プロセスＩＤ、遷移元属性ＩＤ、遷移先プロセスＩＤ、遷移先属性ＩＤを有する。マッピング定義テーブル１３３では、項目「マッピングＩＤ」の値と、その他の項目の値とが対応付けられている。以下の説明では、項目「マッピングＩＤ」の値と、その他の項目の値とを含む情報をマッピング定義情報と呼ぶ。
【００７７】
項目「マッピングＩＤ」の値は、マッピング定義情報を特定するための識別子である。項目「遷移元属性ＩＤ」の値は、遷移元プロセスＩＤのプロセスと対応付けられた属性ＩＤを示す。項目「遷移先属性ＩＤ」の値は、遷移先プロセスＩＤのプロセスと対応付けられた属性ＩＤを示す。
【００７８】
次に、図８を参照して、遷移履歴データベース１４０について説明する。図８は、遷移履歴データベースの一例を示す図である。
【００７９】
本実施形態の遷移履歴データベース１４０には、イベント発生履歴テーブル１４１、遷移履歴テーブル１４２、コピー履歴テーブル１４３が含まれる。
【００８０】
イベント発生履歴テーブル１４１は、遷移条件を満たすイベントの発生履歴を示す。イベント発生履歴テーブル１４１は、情報の項目として、イベントＩＤ、イベント発生日時、ルールＩＤを有し、項目「イベントＩＤ」の値と、その他の項目の値とが対応付けられている。以下の説明では、項目「イベントＩＤ」の値と、その他の項目の値とを含む情報をイベント発生履歴情報と呼ぶ。
【００８１】
項目「イベントＩＤ」の値は、発生したイベントを識別する識別子である。項目「イベント発生日時」の値は、イベントが発生した日時である。
【００８２】
遷移履歴テーブル１４２は、発生したイベント毎のプロセスの遷移履歴を示す。遷移履歴テーブル１４２は、情報の項目として、イベントＩＤ、遷移元インスタンスＩＤ、遷移元アクティビティＩＤ、遷移先インスタンスＩＤ、遷移先アクティビティＩＤを有する。
【００８３】
コピー履歴テーブル１４３は、プロセスの遷移における属性値の引き継ぎを示している。コピー履歴テーブル１４３は、情報の項目として、イベントＩＤ、マッピングＩＤ、遷移元インスタンスＩＤ、遷移元属性ＩＤ、遷移元属性値、遷移先インスタンスＩＤ、遷移先属性ＩＤ、遷移先属性値を有する。
【００８４】
項目「遷移元属性値」の値は、遷移元インスタンスＩＤのプロセスと対応する属性値の値である。項目「遷移先属性値」の値は、遷移先インスタンスＩＤのプロセスと対応する属性値の値である。
【００８５】
次に、図９乃至図１１を参照して、本実施形態のプロセス管理装置１００における監視処理部１７０の動作について説明する。
【００８６】
図９は、監視処理部の処理を説明する第一のフローチャートである。図９に示す処理は、監視処理部１７０のイベント収集・判定処理部１７１の処理である。図９に示す処理は、所定間隔毎に実行される処理である。
【００８７】
本実施形態の監視処理部１７０は、イベント収集・判定処理部１７１により、外部で発生したイベントの情報を取得する（ステップＳ９１）。具体的にはイベント収集・判定処理部１７１は、例えば、所定間隔毎に各種のイベントの情報が格納された外部イベントデータベース６００を参照し、イベントの情報を取得しても良い。また、イベント収集・判定処理部１７１は、外部イベントデータベース６００から所定間隔毎に通知される各種のイベントの情報を取得しても良い。また、本実施形態のイベントの情報とは、イベントの内容を示す情報である。
【００８８】
続いて、イベント収集・判定処理部１７１は、プロセス制御定義データベース１３０の監視ルールテーブル１３１と、取得したイベントの情報とをつき合わせる（ステップＳ９２）。続いて、イベント収集・判定処理部１７１は、監視ルールテーブル１３１において、イベントの情報と一致する遷移条件が存在するか否かを判定する（ステップＳ９３）。
【００８９】
ステップＳ９３において、該当する遷移条件が存在しない場合、イベント収集・判定処理部１７１は、処理を終了する。
【００９０】
ステップＳ９３において、該当する遷移条件が存在する場合、イベント収集・判定処理部１７１は、監視ルールテーブル１３１から、該当する遷移条件と対応するルールＩＤを取得する。そして、イベント収集・判定処理部１７１は、ＢＰＭ制御処理部１７２を起動させ、取得したルールＩＤをＢＰＭ制御処理部１７２へ渡し（ステップＳ９４）、処理を終了する。
【００９１】
図１０は、監視処理部の処理を説明する第二のフローチャートである。図１０に示す処理は、監視処理部１７０のＢＰＭ制御処理部１７２の処理である。図１０に示す処理は、イベント収集・判定処理部１７１がＢＰＭ制御処理部１７２を起動させる度に実行される処理である。
【００９２】
本実施形態の監視処理部１７０において、ＢＰＭ制御処理部１７２は、アクティビティ遷移定義テーブル１３２を参照する。そして、ＢＰＭ制御処理部１７２は、アクティビティ遷移定義テーブル１３２から、ルールＩＤの値がイベント収集・判定処理部１７１から受け取ったルールＩＤと一致するレコード（アクティビティ遷移定義情報）を取得する（ステップＳ１００１）。
【００９３】
続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００１で取得したアクティビティ遷移定義情報の数と同じ回数繰り返される、ステップＳ１００３以降の処理を開始する（ステップＳ１００２）。
【００９４】
ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０を介してプロセスインスタンス情報テーブル１２１を検索し、下記のレコード（プロセスインスタンス情報）を取得する（ステップＳ１００３）。より具体的には、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０が用意したＡＰＩ（Application Programming Interface）を介してプロセス実行履歴データベース１２０を参照し、プロセスインスタンス情報テーブル１２１を検索する。
【００９５】
ここで取得されるプロセスインスタンス情報は、プロセスＩＤが、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれる遷移元プロセスＩＤと等しく、且つ、実行中アクティビティＩＤが、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれる遷移元アクティビティＩＤと等しいものである。
【００９６】
続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００３で取得したプロセスインスタンス情報の数と同じ回数繰り返される、ステップＳ１００５以降の処理を開始する（ステップＳ１００４）。
【００９７】
ＢＰＭ制御処理部１７２は、ステップＳ１００３で取得したプロセスインスタンス情報に含まれるステータスの値を「実行中」から「中断」と変更するように、ＢＰＭエンジン部１６０に要求する。ＢＰＭエンジン部１６０は、この要求を受けて、該当するステータスの値を「実行中」から「中断」とする（ステップＳ１００５）。
【００９８】
続いて、ＢＰＭ制御処理部１７２は、プロセスインスタンス情報テーブル１２１に対し、プロセスインスタンス情報を１件追加するように、ＢＰＭエンジン部１６０に要求する。ＢＰＭエンジン部１６０は、この要求を受けて、プロセスインスタンス情報テーブル１２１に対し、プロセスインスタンス情報を１件追加する（ステップＳ１００６）。
【００９９】
尚、ここで追加されるプロセスインスタンス情報のインスタンスＩＤは、新たに付与されたものである。また、プロセスＩＤは、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれる遷移先プロセスＩＤである。また、実行中アクティビティＩＤは、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれる遷移先アクティビティＩＤである。また、ステータスは実行中であり、実行ユーザＩＤは、ステップＳ１００３で取得したプロセスインスタンス情報に含まれる実行ユーザＩＤである。
【０１００】
続いて、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０を介してプロセス定義テーブル１１３を検索する。そして、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０により、プロセスＩＤが、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれる遷移先プロセスＩＤと等しいレコード（プロセス定義情報）を取得する（ステップＳ１００７）。
【０１０１】
続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００７で取得したプロセス定義情報の数と同じ回数繰り返される、ステップＳ１００９以降の処理を開始する（ステップＳ１００８）。
【０１０２】
ＢＰＭ制御処理部１７２は、プロセスインスタンスデータテーブル１２２に対し、プロセスインスタンスデータを１件追加するように、ＢＰＭエンジン部１６０に要求する。ＢＰＭエンジン部１６０は、この要求を受けて、プロセスインスタンスデータテーブル１２２に対し、プロセスインスタンス情報を１件追加する（ステップＳ１００９）。
【０１０３】
ここで追加されるプロセスインスタンスデータのプロセスＩＤは、ステップＳ１００７で取得したプロセス定義情報に含まれるプロセスＩＤである。また、インスタンスＩＤは、ステップＳ１００６で追加したプロセスインスタンス情報に含まれるインスタンスＩＤである。また、属性ＩＤは、ステップＳ１００７で取得したプロセス定義情報に含まれる属性ＩＤであり、属性値は、ステップＳ１００７で取得したプロセス定義情報に含まれる属性ＩＤと対応する初期値である。
【０１０４】
次に、ＢＰＭ制御処理部１７２は、マッピング定義テーブル１３３において、以下のレコード（マッピング定義情報）を検索する（ステップＳ１０１０）。
【０１０５】
ここで検索されるマッピング定義情報のマッピングＩＤは、ステップＳ１００１で取得したアクティビティ遷移定義情報に含まれるマッピングＩＤである。また、遷移先プロセスＩＤは、ステップＳ１００７で取得したプロセス定義情報に含まれるプロセスＩＤである。また、遷移先属性ＩＤは、ステップＳ１００７で取得したプロセス定義情報に含まれる属性ＩＤである。
【０１０６】
ＢＰＭ制御処理部１７２は、マッピング定義テーブル１３３に該当するマッピング定義情報が存在するか否かを判定する（ステップＳ１０１１）。ステップＳ１０１１において、該当するマッピング定義情報が存在しない場合、ＢＰＭ制御処理部１７２は、後述するステップＳ１０１４へ進む。
【０１０７】
ステップＳ１０１１において、該当するマッピング定義情報が存在する場合、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０を介して、プロセスインスタンスデータテーブル１２２から、以下のレコード（プロセスインスタンスデータ）を検索する（ステップＳ１０１２）。
【０１０８】
ここで検索されるプロセスインスタンスデータのインスタンスＩＤは、ステップＳ１００３で取得したプロセスインスタンス情報に含まれるインスタンスＩＤである。プロセスＩＤは、ステップＳ１０１０の検索で得られたマッピング定義情報に含まれる遷移元プロセスＩＤである。属性ＩＤは、ステップＳ１０１０の検索で得られたマッピング定義情報に含まれる遷移元属性ＩＤである。
【０１０９】
続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００９で追加したプロセスインスタンスデータの属性値を、ステップＳ１０１２で検索されたプロセスインスタンスデータの属性値に更新するように、ＢＰＭエンジン部１６０に要求する。ＢＰＭエンジン部１６０は、この要求を受けて、該当するプロセスインスタンスデータの属性値に更新する（ステップＳ１０１３）。
【０１１０】
続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００７において開始された処理を終了する（ステップＳ１０１４）。続いて、ＢＰＭ制御処理部１７２は、ステップＳ１０１４において開始された処理を終了する（ステップＳ１０１５）。続いて、ＢＰＭ制御処理部１７２は、ステップＳ１００２において開始された処理を終了する（ステップＳ１０１６）。
【０１１１】
以上のように、本実施形態の監視処理部１７０では、遷移条件を満たすイベントの発生を検出すると、プロセス制御定義データベース１３０に基づき、実行中のプロセスを他のプロセスへ遷移させる。そして、監視処理部１７０は、プロセスの遷移により実行された他のプロセスの実行履歴が含まれるように、ＢＰＭエンジン部１６０に、プロセスインスタンス情報テーブル１２１と、プロセスインスタンスデータテーブル１２２とを更新させる。
【０１１２】
以下に、図５乃至図７を参照し、図１０で説明したＢＰＭ制御処理部１７２の処理を具体的に説明する。
【０１１３】
ここでは、イベント収集・判定処理部１７１により、ルールＩＤ「００１」のイベントが発生したものと判断された場合を示す。
【０１１４】
この場合、ＢＰＭ制御処理部１７２は、まず、アクティビティ遷移定義テーブル１３２から、ルールＩＤ「００１」のアクティビティ遷移定義情報１３４を取得する（図７参照）。アクティビティ遷移定義情報１３４に含まれる遷移元プロセスＩＤは「００３」であり、遷移元アクティビティＩＤは「００２」である。また、アクティビティ遷移定義情報１３４に含まれる遷移先プロセスＩＤは「００１」であり、遷移先アクティビティＩＤは「００１」である。
【０１１５】
続いて、ＢＰＭ制御処理部１７２は、プロセスインスタンス情報テーブル１２１において、プロセスＩＤ「００３」、実行中アクティビティＩＤ「００２」のプロセスインスタンス情報１２３を、ＢＰＭエンジン部１６０を介して取得する（図６参照）。そして、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０により、プロセスインスタンス情報１２３のステータスを「実行中」から「中断」に変更する。
【０１１６】
次に、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０により、プロセスインスタンス情報テーブル１２１に、プロセスインスタンス情報１２４を追加する。
【０１１７】
追加されるプロセスインスタンス情報１２４のインスタンスＩＤは、新たに生成されたインスタンスＩＤ「００Ｎ」となる。また、プロセスインスタンス情報１２４のプロセスＩＤは、アクティビティ遷移定義情報１３４の遷移先プロセスＩＤである「００１」となり、実行中アクティビティＩＤは、アクティビティ遷移定義情報１３４の遷移先アクティビティＩＤである「００１」となる。
【０１１８】
また、プロセスインスタンス情報１２４のステータスは「実行中」となり、実行ユーザＩＤは、プロセスインスタンス情報１２３に含まれる実行ユーザＩＤである「Ｕｓｅｒ３」となる。
【０１１９】
次に、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０を介して、プロセス定義テーブル１１３から、プロセスＩＤが、アクティビティ遷移定義情報１３４に含まれる遷移先プロセスＩＤである「００１」のプロセス定義情報を取得する。ここで取得されるプロセス定義情報は、プロセス定義情報１１４、１１５、１１６である（図５参照）。
【０１２０】
ＢＰＭ制御処理部１７２は、プロセス定義情報１１４、１１５、１１６のそれぞれについて、後述する処理を行う。まず、プロセス定義情報１１４について説明する。
【０１２１】
ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０により、プロセスインスタンスデータテーブル１２２に対し、プロセスインスタンスデータ１６１を追加する。
【０１２２】
ここで、プロセスインスタンスデータ１６１のプロセスＩＤは、プロセス定義情報１１４に含まれるプロセスＩＤである「００１」であり、インスタンスＩＤは、プロセスインスタンス情報１２４のインスタンスＩＤである「００Ｎ」である。また、プロセスインスタンスデータ１６１の属性ＩＤは、プロセス定義情報１１４に含まれる属性ＩＤである「００１」であり、属性値は、プロセス定義情報１１４に含まれる初期値である「""」である。
【０１２３】
次に、ＢＰＭ制御処理部１７２は、マッピング定義テーブル１３３から、マッピングＩＤが「００２」であり、遷移先プロセスＩＤが「００１」であり、遷移先属性ＩＤが「００１」であるマッピング定義情報を検索し、マッピング定義情報１３５を得る。
【０１２４】
尚、マッピング定義情報１３５のマッピングＩＤは、アクティビティ遷移定義情報１３４に含まれるマッピングＩＤであり、遷移先プロセスＩＤと遷移先属性ＩＤは、プロセス定義情報１１４に含まれるプロセスＩＤと属性ＩＤである。
【０１２５】
次に、ＢＰＭ制御処理部１７２は、プロセスインスタンスデータテーブル１２２において、インスタンスＩＤが「００３」であり、プロセスＩＤが「００３」であり、属性ＩＤが「００３」のプロセスインスタンスデータを、ＢＰＭエンジン部１６０を介して検索する。そして、ＢＰＭ制御処理部１７２は、プロセスインスタンスデータ１６４を得る。
【０１２６】
次に、ＢＰＭ制御処理部１７２は、ＢＰＭエンジン部１６０により、プロセスインスタンスデータ１６１の属性値を、プロセスインスタンスデータ１６４の属性値に更新する。すなわち、プロセスインスタンスデータ１６１の属性値は、初期値「""」からプロセスインスタンスデータ１６４の属性値である「Ｕｓｅｒ３」に更新される。
【０１２７】
本実施形態では、プロセス定義情報１１５、１１６についても同様の処理を行う。その結果、プロセスインスタンスデータテーブル１２２には、プロセスインスタンスデータ１６２、１６３が追加される。
【０１２８】
以上のように、本実施形態では、プロセスがプロセスＩＤ「００１」のプロセスから、プロセスＩＤ「００３」のプロセスへ遷移した場合でも、遷移後のプロセスの実行履歴を生成する。
【０１２９】
このように、本実施形態によれば、外部要因により、予め決められた遷移条件を満たすイベントが発生した場合に、自動的にプロセスを変更することができ、プロセスの管理に係る手間を低減することができる。
【０１３０】
次に、図１１を参照し、通知制御処理部１７３の処理について説明する。図１１は、監視処理部の処理を説明する第三のフローチャートである。尚、本実施形態の通知制御処理部１７３は、ＢＰＭ制御処理部１７２による処理が終了したあとに実行されても良い。
【０１３１】
本実施形態の通知制御処理部１７３は、遷移条件を満たすイベントが発生すると、イベントＩＤを生成し、イベント発生履歴テーブル１４１を更新する（ステップＳ１１０１）。より具体的には、通知制御処理部１７３は、イベントＩＤを生成し、生成したイベントＩＤと、イベントが発生した日時と、イベントが満たす遷移条件と対応するルールＩＤとを対応付けたイベント発生履歴情報をイベント発生履歴テーブル１４１に格納する。
【０１３２】
続いて、通知制御処理部１７３は、ＢＰＭエンジン部１６０を介して、プロセス実行履歴データベース１２０を参照し、遷移履歴テーブル１４２を更新する（ステップＳ１１０２）。具体的には、通知制御処理部１７３は、イベントＩＤと、遷移元プロセスＩＤと、遷移元アクティビティＩＤと、遷移先プロセスＩＤと遷移先アクティビティＩＤとを対応付けた遷移履歴情報を、遷移履歴テーブル１４２に格納する。
【０１３３】
続いて、通知制御処理部１７３は、ＢＰＭエンジン部１６０を介して、プロセス実行履歴データベース１２０を参照する。また、通知制御処理部１７３は、プロセス制御定義データベース１３０を参照する。そして、通知制御処理部１７３は、コピー履歴テーブル１４３を更新する（ステップＳ１１０３）。具体的には、通知制御処理部１７３は、イベントＩＤと、マッピングＩＤと、遷移元インスタンスＩＤと、遷移元属性ＩＤと、遷移元属性値と、遷移先インスタンスＩＤと遷移先属性ＩＤと、遷移先属性値とを対応付けたコピー履歴情報を、コピー履歴テーブル１４３に格納する。
【０１３４】
続いて、通知制御処理部１７３は、イベントが発生し、実行中のプロセスが中断され、他のプロセスに遷移したことを通知する通知画面の画面データを生成して表示させ（ステップＳ１１０４）、処理を終了する。尚、本実施形態では、通知画面を表示させるものとしたが、これに限定されない。例えば、他のプロセスに遷移したことを通知する際に、メールやメッセージ等を送信して通知しても良い。
【０１３５】
以下に、図５乃至図８を参照して、本実施形態の通知制御処理部１７３の処理を具体的に説明する。
【０１３６】
ここでは、ルールＩＤが「００１」の遷移条件により、プロセスＩＤ「００３」のプロセスが中断された場合について説明する。
【０１３７】
通知制御処理部１７３は、イベントＩＤ「０１１１」を生成し、このイベントＩＤにルールＩＤ「００１」と、イベント発生日時とを対応付けたイベント発生履歴情報１４４をイベント発生履歴テーブル１４１に格納する。
【０１３８】
尚、本実施形態のイベント発生日時は、イベント収集・判定処理部１７１によりイベントが発生したと判定した日時であっても良いし、外部イベントデータベース６００からイベントの通知ともに送信されるイベントの発生日時であっても良い。
【０１３９】
次に、通知制御処理部１７３は、ＢＰＭエンジン部１６０を介して、プロセスインスタンス情報テーブル１２１において、ステータスが「中断」に変更されたプロセスインスタンス情報１２３の実行中アクティビティＩＤ「００２」を取得する。
【０１４０】
次に、通知制御処理部１７３は、アクティビティ遷移定義テーブル１３２において、新たに追加されたプロセスインスタンス情報１２４のインスタンスＩＤ「００Ｎ」と、実行中アクティビティＩＤ「００１」を取得する。
【０１４１】
そして、通知制御処理部１７３は、遷移元インスタンスＩＤと、遷移元アクティビティＩＤと、遷移先インスタンスＩＤと、遷移先アクティビティＩＤとをイベントＩＤと対応付け、遷移履歴情報１４５とする。
【０１４２】
次に、通知制御処理部１７３は、遷移元属性値と遷移先属性値とを対応付ける。通知制御処理部１７３は、ＢＰＭエンジン部１６０を介して、プロセスインスタンスデータテーブル１２２において、追加されたプロセスインスタンスデータ１６１と、プロセスインスタンスデータ１６１へ属性値を引き継いだプロセスインスタンスデータ１６４とを参照する。また、通知制御処理部１７３は、アクティビティ遷移定義テーブル１３２を参照し、イベントＩＤと対応するルールＩＤ「０００１」を含むアクティビティ遷移定義情報１３４から、マッピングＩＤ「００２」を取得する。
【０１４３】
次に、通知制御処理部１７３は、ＢＰＭエンジン部１６０を介して、プロセスインスタンスデータ１６４のインスタンスＩＤ、属性ＩＤ、属性値を、それぞれ遷移元インスタンスＩＤ、遷移元属性ＩＤ、遷移元属性値とする。また、プロセスインスタンスデータ１６１のインスタンスＩＤ、属性ＩＤ、属性値を、それぞれ遷移先インスタンスＩＤ、遷移先属性ＩＤ、遷移先属性値とする。
【０１４４】
そして、通知制御処理部１７３は、イベントＩＤに、マッピングＩＤ「００２」と、遷移元インスタンスＩＤ、遷移元属性ＩＤ、遷移元属性値、遷移先インスタンスＩＤ、遷移先属性ＩＤ、遷移先属性値を対応付けたコピー履歴情報１４６とする。
【０１４５】
次に、図１２及び図１３を参照して、イベントの発生を通知する通知画面について説明する。図１２は、イベントの発生を通知する通知画面の例を示す図である。
【０１４６】
図１２に示す通知画面１２Ａには、イベント情報表示欄１２Ｂと、プロセス遷移情報欄１２Ｃとが表示される。
【０１４７】
イベント情報表示欄１２Ｂには、イベントＩＤと、イベント発生日時と、遷移条件と、が表示される。
【０１４８】
また、プロセス遷移情報欄１２Ｃには、遷移元プロセスと遷移元アクティビティの内容と、遷移先プロセスと遷移先アクティビティの内容とが表示される。
【０１４９】
図１３は、イベントの発生を通知する通知画面の他の例を示す図である。図１３に示す通知画面１３Ａにも、図１２と同様に、イベント情報表示欄１３Ｂと、プロセス遷移情報欄１３Ｃとが表示される。
【０１５０】
以上のように、本実施形態によれば、イベントが発生した際らに、イベントの内容と、遷移元のプロセスとアクティビティ及び遷移先のプロセスとアクティビティとを通知することができる。したがって、プロセス管理装置１００によりプロセスフローを管理する管理者等は、自動的にプロセスが変更されたことを把握することができる。
【０１５１】
尚、図１２及び図１３に示した通知画面は、イベントが発生してプロセスが遷移する度にプロセス管理装置１００に表示されても良い。
【０１５２】
また、通知画面は、例えばプロセス管理装置１００の管理者等により、イベントが検索された際に表示されても良い。
【０１５３】
図１４は、イベントの検索を行う検索画面の一例を示す図である。本実施形態のプロセス管理装置１００は、イベントの検索要求を受け付けると、図１４に示す検索画面１４Ａを表示させる。検索画面１４Ａには、検索キー入力欄１４Ｂと、検索結果表示欄１４Ｃとが表示される。
【０１５４】
検索キー入力欄１４Ｂでは、検索キーとして、イベントの発生日時、ルールＩＤ等が入力される。検索結果表示欄１４Ｃは、検索結果として得られたイベントＩＤと、イベント発生日時、と、遷移条件とが表示される。
【０１５５】
尚、図１４では示していないが、例えば検索結果表示欄１４Ｃにおいて、イベントＩＤが選択されると、例えば図１２や図１３に示すような、選択されたイベントＩＤと対応するプロセスの遷移の履歴を表示する画面を表示させても良い。
【０１５６】
本実施形態では、このようにイベントを検索することができるため、過去におきたイベントによるプロセスの遷移の履歴を任意のタイミングで閲覧することができる。
【０１５７】
以上の実施形態の説明では、ＢＰＭプログラム２００と監視プログラム３００とが、プロセス管理プログラム４００として１つの装置に実装された場合について説明したが、ＢＰＭプログラム２００と監視プログラム３００とを別々の装置に実装し、プロセス管理システムとしても良い。
【０１５８】
図１５は、プロセス管理システムを説明する図である。
【０１５９】
図１５に示すプロセス管理システム７００では、プロセス管理装置１００Ａと、ＢＰＭシステム１００Ｂと、を有する。プロセス管理装置１００ＡとＢＰＭシステム１００Ｃは、例えばネットワークや公共の通信網等により接続される。
【０１６０】
プロセス管理装置１００Ａは、監視プログラム３００が実行されることで実現される監視処理部１７０と、プロセス制御定義データベース１３０、遷移履歴データベース１４０とを有する。
【０１６１】
ＢＰＭシステム１００Ｂは、ＢＰＭプログラム２００が実行されることで実現されるＢＰＭエンジン部１６０と、プロセス定義データベース１１０と、プロセス実行履歴データベース１２０とを有する。
【０１６２】
図１５の例では、監視処理部１７０のイベント収集・判定処理部１７１により、遷移条件を満たすイベントの発生が検知されると、ＢＰＭ制御処理部１７２が実行中のプロセスを遷移させる遷移要求をＢＰＭシステム１００Ｂへ送信しても良い。ＢＰＭシステム１００Ｂは、遷移要求を受けて、遷移先のプロセスを起動して実行する。
【０１６３】
尚、図１５では、ＢＰＭシステム１００Ｂがプロセス定義データベース１１０と、プロセス実行履歴データベース１２０とを有するものとしたが、これに限定されない。プロセス定義データベース１１０と、プロセス実行履歴データベース１２０は、プロセス管理装置１００Ａに設けられていても良い。
【０１６４】
尚、本実施形態では、プロセス定義データベース１１０及びプロセス実行履歴データベース１２０の管理は、ＢＰＭエンジン部１６０が行うものとしたが、これに限定されない。例えば、プロセス定義データベース１１０及びプロセス実行履歴データベース１２０の管理は、監視処理部１７０が行っても良いし、ＢＰＭエンジン部１６０と監視処理部１７０の両方が行っても良い。
【０１６５】
言い換えると、本実施形態では、プロセス定義データベース１１０及びプロセス実行履歴データベース１２０の参照、検索及び変更（レコードの追加や更新を含む）は、ＢＰＭエンジン部１６０が行うものとしたが、これに限定されない。例えば、監視処理部１７０は、ＢＰＭエンジン部１６０を介さずに、プロセス定義データベース１１０及びプロセス実行履歴データベース１２０の参照、検索及び変更を行っても良い。
【０１６６】
また、以上の実施形態の説明では、航空券の予約に関するプロセスを例としたが、本実施形態は、例えば旅行のコースのコーディネイト等にも適用できる。本実施形態は、外部要因により、実行するプロセスの変更が要求される業務について、適用することができる。
【０１６７】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
外部システムから受け付けた情報が所定条件を満たすか否かを判定し、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、
実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する、
処理をコンピュータに実行させるプロセス管理プログラム。
（付記２）
前記プロセス制御定義情報は、前記第一のプロセスから前記第二のプロセスに引き継ぐデータの種別情報を含み、
前記変更する処理は、
前記データの種別情報に基づいて、前記第一のプロセスから前記データの種別情報に対応する情報を前記第二のプロセスへ引き継ぐ処理を、前記コンピュータに実行させる付記１記載のプロセス管理プログラム。
（付記３）
前記プロセス制御定義情報は、
前記第一のプロセスに含まれるアクティビティ毎に、前記アクティビティの遷移先となる前記第二のプロセスのアクティビティを定義した情報を含む付記１又は２に記載のプロセス管理プログラム。
（付記４）
前記プロセス制御定義情報は、
前記所定条件を示す情報を含み、
前記外部システムから受け付けた情報は、外部要因により発生したイベントの内容を示す情報である付記１乃至３の何れか一項に記載のプロセス管理プログラム。
（付記５）
前記第一のプロセスから前記第二のプロセスへ変更したときに、
前記第一のプロセスにおいて実行中であったアクティビティを中断させる処理を、前記コンピュータに実行させる付記１乃至４の何れか一項に記載のプロセス管理プログラム。
（付記６）
前記第一のプロセスから前記第二のプロセスへ変更したときに、
前記第一のプロセスにおいて中断されたアクティビティと、前記第二のプロセスにおいて実行が開始されたアクティビティとを対応付けた履歴情報を生成する処理を、前記コンピュータに実行させる付記５記載のプロセス管理プログラム。
（付記７）
コンピュータによるプロセス管理方法であって、該コンピュータが、
外部システムから受け付けた情報が所定条件を満たすか否かを判定し、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、
実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する、プロセス管理方法。
（付記８）
外部システムから受け付けた情報が所定条件を満たすか否かを判定する判定部と、
前記所定条件を満たす場合に、実行中の第一のプロセスの遷移先である第二のプロセスを定義したプロセス制御定義情報を記憶した記憶部を参照し、実行するプロセスを前記第一のプロセスから前記第二のプロセスへ変更する制御部と、を有するプロセス管理装置。
【０１６８】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１６９】
１００  プロセス管理装置
１１０  プロセス定義データベース
１２０  プロセス実行履歴データベース
１３０  プロセス制御定義データベース
１４０  遷移履歴データベース
１５０  ユーザインターフェース部
１６０  ＢＰＭエンジン部
１７０  監視処理部
１７１  イベント収集・判定処理部
１７２  ＢＰＭ制御処理部
１７３  通知制御処理部
【図１】
2016143331.tif 000003
【図２】
2016143331.tif 000004
【図３】
2016143331.tif 000005
【図４】
2016143331.tif 000006
【図５】
2016143331.tif 000007
【図６】
2016143331.tif 000008
【図７】
2016143331.tif 000009
【図８】
2016143331.tif 000010
【図９】
2016143331.tif 000011
【図１０】
2016143331.tif 000012
【図１１】
2016143331.tif 000013
【図１２】
2016143331.tif 000014
【図１３】
2016143331.tif 000015
【図１４】
2016143331.tif 000016
【図１５】
2016143331.tif 000017