(57)【特許請求の範囲】
【請求項１】
業務ごとに定義されたビジネスプロセス定義であって、複数の業務プログラムの実行順序と前記ビジネスプロセス定義を特定するＩＤとを含むビジネスプロセス定義を複数格納するビジネスプロセス格納部と、
前記ビジネスプロセス格納部に格納された複数のビジネスプロセス定義のうち予め指定されたビジネスプロセス定義を読み込み、読み込んだビジネスプロセス定義に含まれる実行順序に従って業務プログラムを実行するビジネスプロセス実行部と、
前記ビジネスプロセス実行部によって実行される複数の業務プログラムの実行順序を含む前記予め指定されたビジネスプロセス定義から前記ビジネスプロセス格納部に格納された他のビジネスプロセス定義に切り替える切替ルールであって、他のビジネスプロセス定義に切り替えるかどうかを評価する評価値を算出するのに使用するデータを定めた情報と、前記情報に定められたデータを用いて前記評価値を算出する評価式と、切り替えるべきビジネスプロセス定義のＩＤとを含む切替ルールを格納する切替ルール格納部と、
前記予め指定されたビジネスプロセス定義に含まれる実行順序に従って前記ビジネスプロセス実行部が実行している業務プログラムにより生成される生成データのうち予め収集すべきデータとして定められた収集データを収集する生成データ収集装置から、前記収集データを入力し、入力した前記収集データから前記切替ルール格納部に格納された切替ルールに含まれる前記情報に定められたデータを取得し、取得したデータを前記評価式に適用して前記評価値を算出し、算出した前記評価値から他のビジネスプロセス定義に切り替えるかどうかを評価し、切り替えると評価した場合には、前記切替ルールに含まれるＩＤを含むと共に他のビジネスプロセス定義への切り替えを指示する切替指示を前記ビジネスプロセス実行部に出力する切替部と
を備え、
前記ビジネスプロセス実行部は、
前記切替指示を入力すると、前記予め指定されたビジネスプロセス定義を破棄し、前記ビジネスプロセス格納部から、切替指示に含まれるＩＤを有するビジネスプロセス定義を読み込むことを特徴とするビジネスプロセス管理装置。
【請求項２】
前記ビジネスプロセス実行部は、
前記ビジネスプロセス格納部から切替指示に含まれるＩＤを有するビジネスプロセス定義を読み込んだ場合に、読み込んだビジネスプロセス定義に対応するサービスリクエストに応答して、読み込んだビジネスプロセス定義に含まれる実行順序に従って業務プログラムを実行することを特徴とする請求項１記載のビジネスプロセス管理装置。
【請求項３】
前記切替ルール格納部は、
前記ビジネスプロセス実行部によって前記予め指定されたビジネスプロセス定義の破棄に伴い読み込まれた前記ビジネスプロセス定義から前記ビジネスプロセス格納部に格納された他のビジネスプロセス定義に切り替える切替ルールであって、他のビジネスプロセス定義に切り替えるかどうかを評価する新たな評価値を算出するのに使用するデータを定めた情報と、前記情報に定められたデータを用いて前記新たな評価値を算出する評価式と、切り替えるべきビジネスプロセス定義のＩＤとを含む切替ルールを格納し、
前記切替部は、
前記ビジネスプロセス実行部によって前記予め指定されたビジネスプロセス定義の破棄に伴い読み込まれた前記ビジネスプロセス定義に含まれる実行順序に従って前記ビジネスプロセス実行部が実行している業務プログラムにより生成される生成データのうち予め収集すべきデータとして定められた収集データを収集する前記生成データ収集装置から、前記収集データを入力し、入力した前記収集データから前記切替ルール格納部に格納された前記新たな評価値を算出する切替ルールに含まれる前記情報に定められたデータを取得し、取得したデータを前記評価式に適用して前記新たな評価値を算出し、算出した前記新たな評価値から他のビジネスプロセス定義に切り替えるかどうかを評価し、切り替えると評価した場合には、前記新たな評価値を算出する切替ルールに含まれるＩＤを含むと共に他のビジネスプロセス定義への切り替えを指示する新たな切替指示を前記ビジネスプロセス実行部に出力し、
前記ビジネスプロセス実行部は、
前記新たな切替指示を入力すると、前記予め指定されたビジネスプロセス定義の破棄に伴い読み込まれたビジネスプロセス定義を破棄し、前記ビジネスプロセス格納部から、前記新たな切替指示に含まれるＩＤを有するビジネスプロセス定義を読み込むことを特徴とする請求項２記載のビジネスプロセス管理装置。
【請求項４】
前記ビジネスプロセス実行部は、
前記ビジネスプロセス格納部から前記新たな切替指示に含まれるＩＤを有するビジネスプロセス定義を読み込んだ場合に、読み込んだビジネスプロセス定義に対応するサービスリクエストに応答して、読み込んだビジネスプロセス定義に含まれる実行順序に従って業務プログラムを実行することを特徴とする請求項３記載のビジネスプロセス管理装置。
【請求項５】
コンピュータを、
業務ごとに定義されたビジネスプロセス定義であって、複数の業務プログラムの実行順序と前記ビジネスプロセス定義を特定するＩＤとを含むビジネスプロセス定義を複数格納するビジネスプロセス格納部、
前記ビジネスプロセス格納部に格納された複数のビジネスプロセス定義のうち予め指定されたビジネスプロセス定義を読み込み、読み込んだビジネスプロセス定義に含まれる実行順序に従って業務プログラムを実行するビジネスプロセス実行部、
前記ビジネスプロセス実行部によって実行される複数の業務プログラムの実行順序を含む前記予め指定されたビジネスプロセス定義から前記ビジネスプロセス格納部に格納された他のビジネスプロセス定義に切り替える切替ルールであって、他のビジネスプロセス定義に切り替えるかどうかを評価する評価値を算出するのに使用するデータを定めた情報と、前記情報に定められたデータを用いて前記評価値を算出する評価式と、切り替えるべきビジネスプロセス定義のＩＤとを含む切替ルールを格納する切替ルール格納部、
前記予め指定されたビジネスプロセス定義に含まれる実行順序に従って前記ビジネスプロセス実行部が実行している業務プログラムにより生成される生成データのうち予め収集すべきデータとして定められた収集データを収集する生成データ収集装置から、前記収集データを入力し、入力した前記収集データから前記切替ルール格納部に格納された切替ルールに含まれる前記情報に定められたデータを取得し、取得したデータを前記評価式に適用して前記評価値を算出し、算出した前記評価値から他のビジネスプロセス定義に切り替えるかどうかを評価し、切り替えると評価した場合には、前記切替ルールに含まれるＩＤを含むと共に他のビジネスプロセス定義への切り替えを指示する切替指示を前記ビジネスプロセス実行部に出力する切替部、
として機能させると共に、
前記ビジネスプロセス実行部に、
前記切替指示を入力すると、前記予め指定されたビジネスプロセス定義を破棄させ、前記ビジネスプロセス格納部から、切替指示に含まれるＩＤを有するビジネスプロセス定義を読み込ませるためのビジネスプロセス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、企業、公共機関などにおける業務実施のために使われる計算機システムにおけるアプリケーション連携方法に関する。例えば、ビジネスプロセスを管理する装置及びプログラムに関する。
【背景技術】
【０００２】
下記の特許文献１や特許文献２などにおいて、業務手順を示す「業務プロセス情報」とアプリケーション間のデータのやり取りを示す「データ交換ルール情報」を予めビジネスプロセス管理装置に定義し、企業内あるいは企業をまたがって散在する業務プログラムを定義に従って順番に実行する技術が開示されている。業務手順の見直しが発生した場合に、「業務プロセス情報」と「データ交換ルール情報」を変更するだけで、業務プログラムに手を加えることなく業務手順を変更することが可能である。
【特許文献１】特開２００１−２１６１４３号公報（アプリケーション統合のための連携方法）
【特許文献２】特開２００２−４１７４１号公報（ビジネスプロセス管理システム）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
「業務プロセス情報」と「データ交換ルール情報」とを変更するだけで業務手順を変更できるという上記のような従来技術によって、経営改革などの内部環境あるいは市場ニーズなどの外部環境の変化に対応するために業務改善による業務プロセスフローの見直しが容易になった。
【０００４】
しかしながら、外部環境および内部環境が短時間で変化する、あるいは周期的に変化するような環境下では、業務プロセスフローの見直しが頻繁に発生し、業務プロセスフローを変更するまでに時間的な遅延が発生するという課題があった。
【０００５】
この発明は、外部環境および内部環境の短時間の変化に対応してビジネスプロセスを動的にリアルタイムで切り替え可能な手段の提供を目的とする。
【課題を解決するための手段】
【０００６】
この発明のビジネスプロセス管理装置は、
ビジネスプロセスを示すビジネスプロセス情報を複数格納するビジネスプロセス格納部と、
前記ビジネスプロセス格納部に格納されたビジネスプロセス情報を読み込み、読み込んだビジネスプロセス情報の示すビジネスプロセスをリクエストに応答して実行するビジネスプロセス実行部と、
前記ビジネスプロセス実行部が実行しているビジネスプロセスの切り替えを指示する切替指示を前記ビジネスプロセス実行部に出力する切替部と
を備え、
前記切替部は、
前記ビジネスプロセス実行部が実行しているビジネスプロセスである実行中ビジネスプロセスの実行により生成される生成データのうち所定の生成データを収集する生成データ収集装置から前記所定の生成データを入力し、入力した前記所定の生成データに基づき前記ビジネスプロセス格納部に格納されたいずれかのビジネスプロセス情報を特定し、特定されたビジネスプロセス情報の示すビジネスプロセスである特定ビジネスプロセスと実行中ビジネスプロセスとが異なる場合には実行中ビジネスプロセスから特定ビジネスプロセスへの切り替えを指示する前記切替指示を前記ビジネスプロセス実行部に出力し、
前記ビジネスプロセス実行部は、
実行中ビジネスプロセスから特定ビジネスプロセスへの切り替えを指示する前記切替指示を入力すると、前記ビジネスプロセス格納部から特定ビジネスプロセスを示すビジネスプロセス情報を読み込むことを特徴とする。
【発明の効果】
【０００７】
この発明により、ビジネスプロセスの動的切り替え可能な装置を提供することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、コンピュータであるビジネスプロセス管理装置１００の外観の一例を示す図である。図１において、ビジネスプロセス管理装置１００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【０００９】
システムユニット８３０は、コンピュータであり、また、ネットワーク（例えばＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続されている。ネットワークには、後述する業務システム２００及びシステム監視装置３００が接続されている。
【００１０】
図２は、実施の形態１におけるビジネスプロセス管理装置１００のハードウェア資源の一例を示す図である。図２において、ビジネスプロセス管理装置１００は、プログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００１１】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１２】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１３】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１４】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１５】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、後述する切替ルール情報（特定ルール）、ビジネスプロセス定義情報、情報交換ルール情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１６】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１７】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１８】
図３は、実施の形態１に係るビジネスプロセス動的切替システム１０００の構成を示す。ビジネスプロセス動的切替システム１０００は、ビジネスプロセス管理装置１００と、業務システム２００と、システム監視装置３００（生成データ収集装置）とを備えている。
【００１９】
ビジネスプロセス管理装置１００は、ビジネスプロセス切替部１０１（切替部）、ビジネスプロセス実行部１０２、ビジネスプロセス定義部１０３、ビジネスプロセス切替ルール情報１０４（特定ルール格納部）、ビジネスプロセス定義情報１０５（ビジネスプロセス格納部）、情報交換ルール情報１０６を備える。業務システム２００は、業務プログラム２０１、業務データ２０２を備える。システム監視装置３００は、データ収集部３０１、収集データ３０２，収集データ定義３０３（収集定義情報格納部）を備える。このうち、ビジネスプロセス切替ルール情報１０４、ビジネスプロセス定義情報１０５、情報交換ルール情報１０６、業務データ２０２、収集データ３０２，収集データ定義３０３は、格納部、あるいは記憶部である。
【００２０】
ビジネスプロセス管理装置１００は、企業内／外に散在する複数の業務プログラムを、実際の業務実施と同じ順番で自動的に実行／制御する機能を持つ。
【００２１】
業務システム２００は、ビジネスプロセス管理装置１００によって起動制御され、業務を電子的に実行する業務プログラムを内包し、業務サービスを提供する。
【００２２】
システム監視装置３００は、システムの実行ログなどから指定された情報を収集し監視する機能を持つ。システム監視装置３００は、収集情報を通して市場ニーズの変化を数値化する。
【００２３】
（ビジネスプロセス管理装置１００の構成要素の機能）
以下にそれぞれの構成要素の機能を説明する。
【００２４】
（ビジネスプロセス実行部１０２）
ビジネスプロセス管理装置１００において、ビジネスプロセス実行部１０２は、予め業務ごとにビジネスプロセス定義情報１０５に格納してある「ビジネスプロセスフローの定義（ビジネスプロセス定義という場合もある）」（ビジネスプロセス情報）を読み取り、このビジネスプロセス定義情報に従って、企業内／外に散在する業務システム２００の業務プログラム２０１を実行し、要求したユーザにサービスを提供する。
【００２５】
業務プログラムの実行順序などを記述したビジネスプロセスフローの定義は、予めビジネスプロセス定義部１０３にて業務ごとに少なくとも１つ以上定義し、ビジネスプロセス定義情報１０５に格納する。
【００２６】
（ビジネスプロセスフローの定義）
図４（ａ）は、「ビジネスプロセスフロー」の定義に含まれる情報を示している。格納されるビジネスプロセスフローの定義にはフローの他、
（１）そのビジネスプロセスフローの定義を一意に識別するビジネスプロセスフローＩＤと、
（２）どの業務に対しての定義かを一意に識別する業務ＩＤと、
（３）ある業務に対して複数のビジネスプロセスフローの定義がされている場合にデフォルトで実行するフローを識別するためのデフォルトＦＧと
を含む。
【００２７】
ビジネスプロセス実行部１０２は、業務プログラム２０１に対して、起動・終了時に、利用者情報やプログラムステータス情報などの業務情報を入出力する機能を持つ。業務プログラムに対して入出力する情報と取得方法を記述した「情報交換ルール」の定義は、予めビジネスプロセス定義部１０３にて業務プログラムごとに定義し、情報交換ルール情報１０６に格納する。
【００２８】
（情報交換ルールの定義）
図４（ｂ）は、「情報交換ルール」の定義に含まれる情報を示している。格納される情報交換ルールの定義には少なくとも、
（１）取得情報を識別するための項目ＩＤと、
（２）情報を取得するための方法と、
（３）情報の取得先と
を含む。
【００２９】
ビジネスプロセス実行部１０２は、ユーザからの業務要求（リクエスト）に応じて、該当業務のビジネスプロセスフローの定義からインスタンス（コピー）を作成し、インスタンスＩＤを発行する。ビジネスプロセス実行部１０２は、ビジネスプロセスフローの定義（コピー）に従って業務プログラムを実行し、現在フローのどの部分を実行しているのかを記憶する。業務プログラムによって提供されたサービス終了時に、ビジネスプロセス実行部１０２は、終了ステータスを実行中の業務プログラムから受信し、ビジネスプロセスフローの現在の実行部分の次に状態が移行する。
【００３０】
（ビジネスプロセス切替部１０１）
ビジネスプロセス切替部１０１は、「外部環境／内部環境情報」（数値）をシステム監視装置３００の収集データ３０２から取得し、取得した情報（外部環境／内部環境情報）から最適なビジネスプロセスフローを判断し、ビジネスプロセス実行部１０２に対して、最適なビジネスプロセスフローに切り替えるべきことを指示する切替指示を送信する機能を持つ。この切替指示（切替リクエストという場合がある）を受信したビジネスプロセス実行部１０２は、指示されたビジネスプロセスフローの定義をビジネスプロセス定義情報１０５から取得し、該当業務のビジネスプロセスフローを切り替える。ビジネスプロセス切替部１０１の処理においては、取得情報（外部環境／内部環境情報）を評価する評価式と、評価式によって得られた値に対応するビジネスプロセスフローを識別するＩＤ情報とを記述した「ビジネスプロセス切替ルール」（特定ルール）を、予めビジネスプロセス定義部１０３にて業務ごとに任意に定義し、ビジネスプロセス切替ルール情報１０４に格納する。ビジネスプロセス切替部１０１は、収集データ３０２から入力した情報とビジネスプロセス切替ルール情報１０４から取得した情報とに基づき、最適なビジネスプロセスフローを特定する。
【００３１】
（切替ルールの定義）
図４（ｃ）は、「切替ルール」の定義に含まれる情報を示している。
格納される切替ルールの定義には少なくとも、
（１）切替ルールを適用する業務を一意に識別するための業務ＩＤと、
（２）切替の判断となる値を計算するための評価式と、
（３）評価式によって得られた値が取り得る範囲と、
（４）その範囲に最適なビジネスプロセスフローを一意に識別するためのビジネスプロセスフローＩＤと
を含む。
【００３２】
（業務システム２００の詳細）
業務システム２００において、業務プログラムは、ビジネスプロセス実行部１０２により起動され、ビジネスプロセス実行部１０２から情報交換ルール情報１０６で定められた形式の情報を受信し、終了時にはビジネスプロセス実行部１０２に対して情報交換ルール情報１０６で定められた形式の情報を送信する。業務プログラムは、起動時に少なくともインスタンスＩＤとビジネスプロセスフローＩＤとを含む情報をビジネスプロセス実行部１０２から受信する。また、終了時に少なくとも、業務プログラムが正常に終了したかどうかを表す実行ステータスを含む情報をビジネスプロセス実行部１０２に送信する。
【００３３】
業務プログラムは、少なくてもインスタンスＩＤと、ビジネスプロセスフローＩＤと、処理内容／結果の情報を業務データ２０２に格納する。
【００３４】
（システム監視装置３００の詳細）
システム監視装置３００において、データ収集部３０１は、収集データ定義３０３に定義された情報を取得し、この定義情報（収集定義情報）に従って、業務データ２０２から情報を取得し収集データ３０２に格納する。
【００３５】
（Ｄ．収集データの定義）
図４（ｄ）は、「収集データ」の定義に含まれる情報を示している。
収集データの定義には、少なくとも
（１）収集したデータの項目を識別する項目ＩＤと、
（２）情報を取得するための方法と、
（３）情報の取得先と
を含む。
【００３６】
次に、図５〜図７を参照して、ビジネスプロセス動的切替システム１０００の動作を説明する。
【００３７】
図５は、ビジネスプロセス切替部１０１の動作を示すフローチャートである。図５を参照して、ビジネスプロセス切替部１０１の動作を説明する。
（１）Ｓ１１において、ビジネスプロセス切替部１０１は、ビジネスプロセス切替ルール情報１０４から業務ごとにビジネスプロセスフローの切替を判断する評価式、及び業務ＩＤを取得する。
（２）Ｓ１２において、ビジネスプロセス切替部１０１は、ビジネスプロセス切替ルール情報１０４から業務ごとに評価式で得られる値の取り得る範囲と、この値に対応したビジネスプロセスフローＩＤとを取得する。
（３）Ｓ１３において、ビジネスプロセス切替部１０１は、収集データ３０２から、評価式の計算に必要な値（外部環境／内部環境情報（数値））を取得する。
（４）Ｓ１４において、ビジネスプロセス切替部１０１は、収集データ３０２から取得した値を評価式に代入し計算する。
（５）Ｓ１５において、ビジネスプロセス切替部１０１は、計算結果から、その値に対応したビジネスプロセスフローＩＤを特定し、現在ビジネスプロセス実行部１０２の実行している該当業務のビジネスプロセスフローＩＤ（実行中ビジネスプロセス）が、特定したビジネスプロセスフローＩＤ（特定ビジネスプロセス）と同じ場合は、何もせずＳ１３に戻る。一方、異なる場合、ビジネスプロセス切替部１０１は、Ｓ１６を実行する。
（６）Ｓ１６において、ビジネスプロセス切替部１０１は、ビジネスプロセス実行部１０２に対して、該当業務のビジネスプロセスフローを切り替えるように、業務ＩＤとビジネスプロセスフローＩＤとを含む切替指示をビジネスプロセス実行部１０２に送信する。
【００３８】
図６は、ビジネスプロセス実行部１０２の動作を示すフローチャートである。また、図７は、ビジネスプロセス実行部１０２によるインスタンスの作成を説明する図である。図６、図７を参照して、ビジネスプロセス実行部１０２の動作を説明する。
【００３９】
（１）Ｓ２１において、ビジネスプロセス実行部１０２は、システム起動時に、ビジネスプロセス定義情報１０５からデフォルトＦＧが設定されたビジネスプロセスフローを業務ごとに読込む。例えば、ビジネスプロセス実行部１０２は、図７においてビジネスプロセス定義情報１０５からデフォルトＦＧが定義されている「プロセスＡ」を読込む。また、情報交換ルール情報１０６から業務プログラムごとに定義された情報交換ルールを読み込む。
（２）Ｓ２２において、ビジネスプロセス実行部１０２は、ユーザから業務サービスのリクエスト処理、ビジネスプロセス切替部１０１からの切替リクエスト（切替指示）を待つ。
（３）Ｓ２２で業務サービスリクエストがあった場合はＳ２３に進み、Ｓ２３において、ビジネスプロセス実行部１０２は、ユーザから業務サービスのリクエスト要求を受信する。
（４）Ｓ２４において、ビジネスプロセス実行部１０２は、新規のアクセス（リクエスト）かどかを判定する。
（５）新規のリクエストの場合はＳ２５に進む。Ｓ２５において、ビジネスプロセス実行部１０２は、新規のアクセスの場合、要求業務のビジネスプロセスフローのインスタンスを生成する。例えば図７に示すように、読込んだ「プロセスＡ」の実行インスタンスである「プロセスＡ」を生成する。
（６）Ｓ２６において、ビジネスプロセス実行部１０２は、インスタンスのビジネスプロセスフローに定義されている業務プログラムを順番に実行し、要求元（リクエスト元）にサービスを提供する。この時、ビジネスプロセス実行部１０２は、現在のビジネスプロセスフロー上の実行位置を記憶する。ビジネスプロセス実行部１０２は、該当業務プログラムごとに定義された「情報交換ルール」に従って、業務プログラムに起動情報を送信し、終了時には終了情報を受信する。
（７）新規のリクエストでない場合はＳ２７に進む。Ｓ２７において、ビジネスプロセス実行部１０２は、既存のインスタンスであれば、ビジネスプロセスフローの定義に従って次の業務プログラムを実行し、要求元にサービスを実行する。
（８）Ｓ２２で切替リクエスト（切替指示）を受信するとＳ２８に進む。Ｓ２８は特徴となるステップである。Ｓ２２でビジネスプロセス切替部１０１から業務ＩＤとビジネスプロセスフローＩＤとを含む「切替リクエスト」を受信すると、ビジネスプロセス実行部１０２は、既に読込み済みの該当業務のビジネスプロセスフロー情報を破棄し、ビジネスプロセス切替部１０１から受信した業務ＩＤとビジネスプロセスフローＩＤとをもとに、ビジネスプロセス定義情報１０５からその業務ＩＤの示すビジネスプロセスフローＩＤに該当するビジネスプロセスフローの定義を読み込む。そしてＳ２２へ戻る。
【００４０】
（具体的事例についての説明）
次に図８〜図１３を参照して、具体的な事例を説明する。具体的な事例として、インターネットの販売サイトの業務手順を「システム負荷」に応じて自動的に変更する実現方法を説明する。
【００４１】
（システム負荷が低い場合の業務手順）
図８に示すように、「商品業務販売（Ａ）」は、顧客が商品購入のためにショッピングカートに品物を入れた時に、過去の全顧客の購買履歴から顧客がショッピングカートに入れた品物と同時に買った品物を多い順にリストアップし、顧客に対して関連性の高い商品を提案するというビジネスプロセスである。「商品業務販売（Ａ）」はデフォルトである。
【００４２】
（システム負荷が高い場合の業務手順）
図８に示すように、「商品業務販売（Ｂ）」は、顧客が商品購入のためにショッピングカートに品物を入れた時に、商品提案は省くビジネスプロセスである。
【００４３】
本事例の場合は、あらかじめ、次の（１）、（２）、（３）の設定を行っておく。
（１）商品販売業務として、図８の２つのビジネスプロセス、商品業務販売（Ａ）と商品業務販売（Ｂ）とを、ビジネスプロセス定義情報１０５に定義する。なお、商品業務販売（Ａ）をデフォルトのビジネスプロセスとして定義する。
（２）図９は、本事例の場合の「収集データ定義３０３」を示している。システム負荷の高低を監視するため、図９に示すように、業務プログラムのレスポンス時間を業務データ２０２から収集するように、収集データ定義３０３に定義する。
（３）図１０は、本事例の場合の「ビジネスプロセス切替ルール情報１０４」を示している。システム負荷の高低を判断するため、直近３分のプログラムの平均レスポンスタイムが３秒以内であれば、通常の「商品業務販売（Ａ）」のビジネスプロセスを実行し、３秒以上であれば「商品業務販売（Ｂ）」のビジネスプロセスを実行するように、「ビジネスプロセス切替ルール情報１０４」に定義を格納する。
【００４４】
（本事例の動作）
図１１は、図５に対応する。図１１は図５を本事例におけるビジネスプロセス切替部１０１の具体的な処理フローとしたものである。
（１）Ｓ１１ａにおいて、ビジネスプロセス切替部１０１は、ビジネスプロセス切替ルール情報１０４から業務ごとにビジネスプロセスフローの切替を判断する評価式、及び業務ＩＤを取得する。本事例では、ビジネスプロセス切替部１０１は、評価式について、図１０に示した、
評価式：レスポンス平均時間の算出式「Ｓｅｌｅｃｔ  ＡＶＲ（レスポンス時間）  ＲＥＳＰＯＮＳ  ｆｒｏｍ  収集データｗｈｅｒｅ  処理年月日＜ＳＹＳＴＥＭＴＩＭＥ  −  ＭＩＮＵＴＥ（３）；」
を取得する。
（２）Ｓ１２ａにおいて、ビジネスプロセス切替部１０１は、ビジネスプロセス切替ルール情報１０４から業務ごとに評価式で得られる値の取り得る範囲と、この値に対応したビジネスプロセスフローＩＤとを取得する。本事例では、ビジネスプロセス切替部１０１は、ビジネスプロセス切替ルール情報１０４より、
評価式（範囲）：平均レスポンス時間が３秒以内は「商品販売業務（Ａ）」、
及び
平均レスポンス時間が３秒より小さいときは「商品販売業務（Ｂ）」
を取得する。
（３）Ｓ１３ａにおいて、ビジネスプロセス切替部１０１は、収集データ３０２から、評価式の計算に必要な値（外部環境／内部環境情報（数値））を取得する。本事例では、ビジネスプロセス切替部１０１は、収集データ３０２から、各プログラムのプロセス単位の直近３分のレスポンス時間（数値の一例）を取得する。図１２は、取得するレスポンス時間を示している。
（４）Ｓ１４ａにおいて、ビジネスプロセス切替部１０１は、収集データ３０２から取得した値を評価式に代入し計算する。本事例では、ビジネスプロセス切替部１０１は、条件を計算し、平均レスポンス時間を求める。この場合、平均レスポンス時間が「２．３３秒」と求められたとする（図１２においてレスポンス時間１．００１〜０．０２０までの平均）。
（５）Ｓ１５ａにおいて、ビジネスプロセス切替部１０１は、計算結果から、その値に対応したビジネスプロセスフローＩＤを特定し、現在、ビジネスプロセス実行部１０２の実行している該当業務のビジネスプロセスフローＩＤ（実行中ビジネスプロセス）が、特定したビジネスプロセスフローＩＤ（特定ビジネスプロセス）と同じ場合は、何もせずＳ１３ａに戻る。一方、異なる場合、ビジネスプロセス切替部１０１は、Ｓ１６ａを実行する。本事例では、図１１に示すように、
（ａ）業務Ａの実行条件は、レスポンス時間が３秒以下で、且つ業務Ｂを実行していることである。
（ｂ）業務Ｂの実行条件は、レスポンス時間が３秒より大きく、且つ業務Ａを実行していることである。ビジネスプロセス切替部１０１は、これら条件（ａ）、（ｂ）に従って業務（業務とその業務のビジネスプロセス）を特定する。
（６）上記条件の（ａ）、（ｂ）のどちらかが当てはまる場合には、Ｓ１６ａに進む。この場合、ビジネスプロセス切替部１０１は、現在の商品販売業務が「商品販売業務（Ａ）」であれば、「商品販売業務（Ａ）」から「商品販売業務（Ｂ）」への切替を指示する切替リクエストをビジネスプロセス実行部１０２に出力し、現在の商品販売業務が「商品販売業務（Ｂ）」であれば、「商品販売業務（Ｂ）」から「商品販売業務（Ａ）」への切替を指示する切替リクエストをビジネスプロセス実行部１０２に出力する。
【００４５】
図１３は、図６に対応する。図１３は、本事例におけるビジネスプロセス実行部１０２の処理フローとしたものである。
（１）Ｓ２１ａにおいて、ビジネスプロセス実行部１０２は、システム起動時に、ビジネスプロセス定義情報１０５からデフォルトＦＧが設定されたビジネスプロセスフローを業務ごとに読込む。また、情報交換ルール情報１０６から業務プログラムごとに定義された情報交換ルールを読み込む。本事例では、システム起動時に、ビジネスプロセス実行部１０２は、ビジネスプロセス定義情報１０５からデフォルト設定である「商品販売業務（Ａ）」のプロセスを読込む。
（２）Ｓ２２ａにおいて、ビジネスプロセス実行部１０２は、ユーザから業務サービスのリクエスト処理、ビジネスプロセス切替部１０１からの切替リクエスト（切替指示）を待つ。
（３）Ｓ２２ａで業務サービスリクエストがあった場合はＳ２３ａに進む。Ｓ２３ａにおいて、ビジネスプロセス実行部１０２は、ユーザから業務サービスのリクエスト要求を受信する。
（４）Ｓ２４ａにおいて、ビジネスプロセス実行部１０２は、新規のアクセス（リクエスト）かどかを判定する。
（５）新規のリクエストの場合はＳ２５ａに進む。Ｓ２５ａにおいて、ビジネスプロセス実行部１０２は、新規のアクセスの場合、要求業務のビジネスプロセスフローのインスタンスを生成する。
（６）Ｓ２６ａにおいて、ビジネスプロセス実行部１０２は、インスタンスのビジネスプロセスフローに定義されている業務プログラムを順番に実行し、要求元（リクエスト元）にサービスを提供する。この時、ビジネスプロセス実行部１０２は、現在のビジネスプロセスフロー上の実行位置を記憶する。ビジネスプロセス実行部１０２は、該当業務プログラムごとに定義された「情報交換ルール」に従って、業務プログラムに起動情報を送信し、終了時には終了情報を受信する。本事例では、ビジネスプロセス実行部１０２は、インスタンスのビジネスプロセスを順番に実行（ログイン画面の表示）する。
（７）新規のリクエストでない場合はＳ２７ａに進み、Ｓ２７ａにおいて、ビジネスプロセス実行部１０２は、既存のインスタンスであれば、ビジネスプロセスフローの定義に従って次の業務プログラムを実行し、要求元にサービスを実行する。本事例では、ビジネスプロセス実行部１０２は、既存のインスタンスであれば、次の処理（たとえば検索画面の表示）を実施する。
（８）Ｓ２２ａで切替リクエスト（切替指示）を受信するとＳ２８ａに進む。Ｓ２２ａでビジネスプロセス切替部１０１から業務ＩＤとビジネスプロセスフローＩＤとを含む「切替リクエスト」を受信すると、ビジネスプロセス実行部１０２は、既に読込み済みの該当業務のビジネスプロセスフロー情報を破棄し、ビジネスプロセス切替部１０１から受信した業務ＩＤとビジネスプロセスフローＩＤとをもとに、ビジネスプロセス定義情報１０５からその業務ＩＤの示すビジネスプロセスフローＩＤに該当するビジネスプロセスフローの定義を読み込む。そしてＳ２２ａへ戻る。
【００４６】
以上の実施の形態１のビジネスプロセス動的切替システム１０００により、外部環境あるいは内部環境が短時間で変化、あるいは周期的に変化するような環境下のため業務プロセスフローの見直しが頻繁に発生する場合であっても、業務プロセスフローをリアルタイムで動的に変更することができるので、業務プロセスフローの変更に時間的な遅延が発生することを防止できる。
【００４７】
以上の実施の形態１では装置としてのビジネスプロセス管理装置１００を説明したが、ビジネスプロセス管理装置１００の各構成要素の動作を処理ととらえることにより、ビジネスプロセス管理装置１００の動作をコンピュータに実行させるビジネスプロセス管理プログラムとして把握することも可能である。また、このプログラムを記憶した記憶媒体として把握することも可能である。
【００４８】
実施の形態１のビジネスプロセス管理装置１００は、予め想定される複数の要因それぞれに対応したビジネスプロセス定義を保有し、要因に応じてビジネスプロセスを自動で動的に切り替えることを特徴とする。
【００４９】
実施の形態１のビジネスプロセス管理装置１００は、外部情報の範囲にしたがって最適なビジネスプロセスを予めいくつか用意し、外部情報の値によって用意したＢＰをリアルタイムで切り替えることを特徴とする。
【００５０】
実施の形態１のビジネスプロセス管理装置１００は、リアルタイムに刻々と変わる環境に応じて定義済みのビジネスプロセスから対応したビジネスモデルを適用することを特徴とする。
【００５１】
実施の形態１のビジネスプロセス管理装置１００は、外部情報に基づいて、最適なビジネスプロセスに自動で切換えを行い、切替以降の全てのインスタンスに対してビジネスプロセスが切替り実行されることを特徴とする。
【００５２】
実施の形態１のビジネスプロセス管理装置１００は、外部環境と内部環境との少なくともいずれかの変化を数値化し、この数値に対応した予め定義した業務プロセスフローに自動的に切替えることを特徴とする。
【図面の簡単な説明】
【００５３】
【図１】実施の形態１に係るビジネスプロセス管理装置１００の外観の一例。
【図２】実施の形態１に係るビジネスプロセス管理装置１００のハードウェア構成。
【図３】実施の形態１に係るビジネスプロセス動的切替システム１０００の構成。
【図４】実施の形態１に係る各情報の内容。
【図５】実施の形態１に係るビジネスプロセス切替部１０１の動作のフローチャート。
【図６】実施の形態１に係るビジネスプロセス実行部１０２の動作のフローチャート。
【図７】実施の形態１に係るビジネスプロセス実行部１０２よるインスタンスの作成を示す図。
【図８】実施の形態１に係る具体的事例におけるビジネスプロセス定義情報。
【図９】実施の形態１に係る具体的事例における収集データ定義。
【図１０】実施の形態１に係る具体的事例におけるビジネスプロセス切替ルール。
【図１１】実施の形態１に係る具体的事例におけるビジネスプロセス切替部１０１の動作のフローチャート。
【図１２】実施の形態１に係る具体的事例におけるレスポンス時間。
【図１３】実施の形態１に係る具体的事例におけるビジネスプロセス実行部１０２の動作のフローチャート。
【符号の説明】
【００５４】
１００  ビジネスプロセス管理装置、１０１  ビジネスプロセス切替部、１０２  ビジネスプロセス実行部、１０３  ビジネスプロセス定義部、１０４  ビジネスプロセス切替ルール情報、１０５  ビジネスプロセス定義情報、１０６  情報交換ルール情報、２００  業務システム、２０１  業務プログラム、２０２  業務データ、３００  システム監視装置、３０１  データ収集部、３０２  収集データ、３０３  収集データ定義、８１０  ＣＰＵ、８１１  ＲＯＭ、８１２  ＲＡＭ、８１３  表示装置、８１４  Ｋ／Ｂ、８１５  マウス、８１６  通信ボード、８１７  ＦＤＤ、８１８  ＣＤＤ、８１９  プリンタ装置、８２０  磁気ディスク装置、８２１  ＯＳ、８２２  ウィンドウシステム、８２３  プログラム群、８２４  ファイル群、８２５  バス、８３０  システムユニット、１０００  ビジネスプロセス動的切替システム。
【図１】
0004884314.tif 000002
【図２】
0004884314.tif 000003
【図３】
0004884314.tif 000004
【図４】
0004884314.tif 000005
【図５】
0004884314.tif 000006
【図６】
0004884314.tif 000007
【図７】
0004884314.tif 000008
【図８】
0004884314.tif 000009
【図９】
0004884314.tif 000010
【図１０】
0004884314.tif 000011
【図１１】
0004884314.tif 000012
【図１２】
0004884314.tif 000013
【図１３】
0004884314.tif 000014