(57)【要約】【課題】  例外処理が定義されていない場合にも、ビジネスプロセスを中断させることなく実行可能にする装置およびプログラムを提供する。【解決手段】  ビジネスプロセス例外処理生成支援装置３は、再利用可能例外処理生成部１９と、例外処理定義生成部２１と、例外処理実行要求部２２とを備えている。再利用可能例外処理生成部１９は、過去の実行履歴を解析して発生頻度の高い例外処理の一覧を生成する。例外処理定義生成部２１は、生成した一覧から、例外処理が定義されていないビジネスプロセスで実行すべき例外処理を抽出する。例外処理実行要求部２２は、抽出した例外処理をビジネスプロセス実行エンジン２に実行させる。【選択図】  図１
2006302032.tif 000002
【特許請求の範囲】
【請求項１】
ビジネスプロセスを実行するビジネスプロセス実行エンジンにおける例外処理の実行を支援するビジネスプロセス例外処理生成支援装置であって、
前記ビジネスプロセス実行エンジンによって実行されたビジネスプロセスの実行履歴を取得する実行履歴取得部と、
取得した実行履歴から、ビジネスプロセスで発生した例外と該例外に関連する処理の組み合わせを所定の規則にしたがって抽出して、再利用可能な例外処理の一覧テーブルを生成する再利用可能例外処理生成部と、
前記一覧テーブルを格納する再利用可能例外処理記憶部と、
前記ビジネスプロセス実行エンジンにおけるビジネスプロセスの実行過程において例外が発生し、該例外に対応する例外処理が前記ビジネスプロセス実行エンジンに定義されていない場合に、所定の規則にしたがって前記一覧テーブルから例外処理を抽出する例外処理定義生成部と、
該例外に対応する例外処理として前記抽出した例外処理を前記ビジネスプロセス実行エンジンに実行させる例外処理実行要求部と、
を具備することを特徴とするビジネスプロセス例外処理生成支援装置。
【請求項２】
前記再利用可能例外処理生成部は、
前記ビジネスプロセス実行エンジンから取得した実行履歴において前記例外と該例外に関連する処理の組み合わせの出現回数が所定回数以上の場合に、該組み合わせの抽出を行うことを特徴とする請求項１に記載のビジネスプロセス例外処理生成支援装置。
【請求項３】
前記例外処理定義生成部は、
対象となるビジネスプロセスで発生した例外と該例外が発生した処理からなる組み合わせが一致し、且つ該処理に先行して行われた少なくとも１つの処理が一致するビジネスプロセスを前記一覧テーブルから選択し、選択したビジネスプロセスの例外処理を該例外に対応する例外処理として抽出することを特徴とする請求項１または請求項２に記載のビジネスプロセス例外処理生成支援装置。
【請求項４】
前記例外処理定義生成部は、
前記一覧テーブルから複数のビジネスプロセスを選択し、該ビジネスプロセスの複数の例外処理からユーザの選択により１つの例外処理を抽出することを特徴とする請求項３に記載のビジネスプロセス例外処理生成支援装置。
【請求項５】
ビジネスプロセスを実行するビジネスプロセス実行エンジンにおける例外処理の実行を支援するコンピュータに、
前記ビジネスプロセス実行エンジンによって実行されたビジネスプロセスの実行履歴を取得するステップと、
取得した実行履歴から、ビジネスプロセスで発生した例外と該例外に関連する処理の組み合わせを所定の規則にしたがって抽出して、再利用可能な例外処理の一覧テーブルを生成するステップと、
前記一覧テーブルを格納するステップと、
前記ビジネスプロセス実行エンジンにおけるビジネスプロセスの実行過程において例外が発生し、該例外に対応する例外処理が前記ビジネスプロセス実行エンジンに定義されていない場合に、所定の規則にしたがって前記一覧テーブルから例外処理を抽出するステップと、
該例外に対応する例外処理として前記抽出した例外処理を前記ビジネスプロセス実行エンジンに実行させるステップと、
を実行させるためのビジネスプロセス例外処理生成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネスプロセスの例外処理を自動的に生成することが可能な装置およびプログラムに関する。
【背景技術】
【０００２】
近年、企業内・企業間を問わずシステム連携やアプリケーション連携を実現するビジネスプロセス実行エンジンが広く利用されている。ビジネスプロセス実行エンジンは、あらかじめシステムやアプリケーションの連携情報を記述したビジネスプロセス（ＢＰ）にしたがい、システムやアプリケーションを自動実行する。このようなビジネスプロセス実行エンジンを利用して複数アプリケーションの連携を行うことで実現されるサービスは、ワンストップサービスと呼ばれるものであり、電子政府により各種の行政サービスをウェブサイト上で提供するシステムや、民間における様々な電子商取引システムなどが数多く運用されている。
【０００３】
具体例として、図１４に示すゴルフ場予約に関するワンストップサービスの例を用い、ビジネスプロセス実行エンジンの使われ方を説明する。
なお、以降「ビジネスプロセス」とは連携して行われるいくつかのシステムやアプリケーションが集まって構成される処理の固まり（処理「そのもの」）のことをいい、「ＢＰ」とは上記のようにシステムやアプリケーションの実行順序等を記述した連携情報（処理内容を記述した「ファイル」）のことをいうものとする。
【０００４】
図１４に示すように、ビジネスプロセス実行エンジン１０１と３つのビジネスプロセス実行サーバ１０２−１〜１０２−３とビジネスプロセス実行要求クライアント（ユーザ端末）１０５がネットワーク１０３により接続されている。ビジネスプロセス実行サーバ１０２−１〜１０２−３はゴルフ場運営業者と運送業者と金融機関がそれぞれ保有しており、これらのサーバではそれぞれゴルフ場予約システム、配送料金算出システム、決済システムが動いている。また、ビジネスプロセス実行エンジン１０１は、このゴルフ場予約のワンストップサービスを提供するサービス会社が保有しているサーバであり、ウェブ上にゴルフ場予約をするユーザ向けのポータルサイトを運営しているものである。ビジネスプロセス実行要求クライアント１０５は、ユーザが上記ポータルサイトにアクセスして所定の予約操作等を行うためのユーザ端末である。
【０００５】
ゴルフ場予約をするユーザは、ビジネスプロセス実行要求クライアント１０５からこのポータルサイトにアクセスし、サイトの指示にしたがって氏名・住所・利用するゴルフ場名・利用日時・クレジットカード番号・ゴルフバッグの配送希望有りの旨などを入力する。ビジネスプロセス実行エンジン１０１は、ＢＰ１０４の記述内容にしたがい、入力されたこれらのデータを使って以下の処理を自動実行する。これにより、ユーザにとってみればワンストップで目的を達成できるサービスが実現される。
【０００６】
ビジネスプロセス実行エンジン１０１は、ＢＰ１０４の連携順序（１）に記述されているように、まずゴルフ場予約システム（ビジネスプロセス実行サーバ１０２−１上で稼動している）に対する処理を実行する。ここでは、ビジネスプロセス実行エンジン１０１は利用希望日時の空き情報の検索をゴルフ場予約システムに要求する。すると同システムが検索を実行し、その結果が同エンジン１０１に送信される。そして利用可能であれば、同エンジン１０１はさらにユーザの氏名等のデータを同システムに送信してゴルフ場の予約を要求する。同システムは予約登録を行うとともに、ゴルフ場の住所および利用料金を同エンジン１０１に送信する。
【０００７】
同エンジン１０１は、次にＢＰ１０４の連携順序（２）にしたがい、配送料金算出システム（ビジネスプロセス実行サーバ１０２−２上で稼動している）に対する処理を実行する。同エンジン１０１は、ユーザの氏名・住所・ゴルフ場の住所を同システムに送信してゴルフバッグ配送の予約を要求する。同システムは、配送予約の登録を行い、またユーザとゴルフ場の住所から配送料金を算出して同エンジン１０１に送信する。
【０００８】
同エンジン１０１は、さらにＢＰ１０４の連携順序（３）にしたがい、決済システム（ビジネスプロセス実行サーバ１０２−３上で稼動している）に対する処理を実行する。同エンジン１０１は、ユーザの氏名・クレジットカード番号・ゴルフ場利用料金・配送料金を同システムに送信して決済処理を要求する。同システムは決済を行い、結果を同エンジン１０１に送信する。同エンジン１０１は、その結果をポータルサイト上に表示し、ゴルフ場の予約が正常に完了したことをユーザに通知する。
このようにビジネスプロセス実行エンジン１０１は、ワンストップサービスにおいて他のビジネスプロセス実行サーバ上の複数のシステムを統合する処理を実行している。
【０００９】
なお、このようなビジネスプロセス実行エンジンの処理内容を記述するためのＢＰは、ＢＰ記述言語（あるいはＢＰ実行言語）と呼ばれる仕様にしたがって記述される。ＢＰ記述言語は各種団体によって標準化が進められており、例えば、ｅｂＸＭＬ（ｅｌｅｃｔｒｏｎｉｃ  ｂｕｓｉｎｅｓｓ  ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＢＰＥＬ（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ  ｆｏｒ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ）のように様々な記述形式のものが策定されている。
【００１０】
ところで、ＢＰに記述されるシステムやアプリケーション（以下、これらを総称して処理と呼ぶ）の連携情報には、ある処理で例外が発生した場合にその例外に対応して実行される処理（例外処理と呼ぶ）が含まれる。図１５に示す具体例を参照して説明する。通常は、（１）Ａｐｐｌｉｃａｔｉｏｎ１、（２）Ｓｙｓｔｅｍ１、（３）Ａｐｐｌｉｃａｔｉｏｎ２、（４）Ｓｙｓｔｅｍ２の順に処理（正常処理）１０７−１〜１０７−４が実行される。ここで、Ｓｙｓｔｅｍ１には例外処理１０８〜１１０が関連付けられている。例外「ＥｘｃｅｐｔｉｏｎＡ」が発生した場合、対応する例外処理（１０８）ＳｙｓｔｅｍＥ１が実行され、続いて例外処理（１０９）ＡｐｐｌｉｃａｔｉｏｎＥ１が実行される。一方、Ｓｙｓｔｅｍ１において例外「ＥｘｃｅｐｔｉｏｎＢ」が発生した場合には、対応する例外処理ＳｙｓｔｅｍＥ３（１１０）が実行される。しかし、「ＥｘｃｅｐｔｉｏｎＡ」「ＥｘｃｅｐｔｉｏｎＢ」以外の例外が発生した場合には、当該例外を補償するための例外処理は行われない。また、Ａｐｐｌｉｃａｔｉｏｎ１、Ａｐｐｌｉｃａｔｉｏｎ２、Ｓｙｓｔｅｍ２には例外処理が関連付けられていないため、どのような例外が発生した場合にもその例外を補償するための例外処理は一切行われない。このように、ＢＰには各処理に対しどのような例外が発生したらいかなる例外処理を行うのか、あるいは行わないのか、といった連携情報がＢＰ記述言語にしたがって記述されている（例えば、特許文献１および非特許文献１参照）。
【特許文献１】特開２００２−３１２１６６号公報
【非特許文献１】Hector Garcia-Molina, et al., SAGAS, ACM SIGMOD Record, Proceedings of the 1987 ACM SIGMOD International Conference on the Management of Data, Volume 16 Issue 3, December 1987
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述のビジネスプロセス実行エンジンでは、上記説明のとおりＢＰに記述された内容にしたがって処理が行われることから、ある処理に対する例外処理が全くＢＰ内に記述されていない場合は、当該処理において例外が発生しても一切例外処理を行うことができない。ＢＰ内に記述されている以外の（すなわち、記述者が想定していない）例外が発生した場合も同様である。このため、例外が発生してもそれを補償する処理が行われないことになり、ビジネスプロセスの実行が破綻するおそれがある。また、ＢＰの記述者は、各処理で起こりうるすべての例外を想定し、それらの例外に対応する例外処理を完全に記述する必要がある。
【００１２】
また、前述のＢＰ記述言語の仕様によれば、ある処理において例外が発生した場合に実行する例外処理を記述（図１５のＢＰを参照）することはできるが、当該例外が発生するまでに実行済みの処理に応じて異なった例外処理を行わせることはできない。すなわち、例えば図１６に示すように、処理Ｓｙｓｔｅｍ１（１１３）において例外ＥｘｃｅｐｔｉｏｎＡが発生した時に例外処理ＳｙｓｔｅｍＥ１（１１４）が実行されるというビジネスプロセスの場合、Ｓｙｓｔｅｍ１の直前の処理（１１５）がＡｐｐｌｉｃａｔｉｏｎ１であるかＡｐｐｌｉｃａｔｉｏｎ２であるかによらず、例外ＥｘｃｅｐｔｉｏｎＡが発生すれば必ず例外処理ＳｙｓｔｅｍＥ１（１１４）が実行される。このように、従来のビジネスプロセス実行エンジンでは、例外ＥｘｃｅｐｔｉｏｎＡが発生した時、直前の処理がＡｐｐｌｉｃａｔｉｏｎ１の場合には例外処理ＳｙｓｔｅｍＥ１を実行させ、Ａｐｐｌｉｃａｔｉｏｎ２の場合には例外処理ＳｙｓｔｅｍＥ２を実行させるというような柔軟なビジネスプロセスを構築できないという問題もあった。
【００１３】
この発明は上記の点に鑑みてなされたものであり、その目的は、例外処理が定義されていない場合にもビジネスプロセスを中断させることなく実行可能にし、なお且つ、例外発生前の処理内容に応じて例外処理を柔軟に実行することが可能な装置およびプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は上述した課題を解決するためになされたものであり、請求項１に記載した発明は、ビジネスプロセスを実行するビジネスプロセス実行エンジンにおける例外処理の実行を支援するビジネスプロセス例外処理生成支援装置であって、前記ビジネスプロセス実行エンジンによって実行されたビジネスプロセスの実行履歴を取得する実行履歴取得部と、取得した実行履歴から、ビジネスプロセスで発生した例外と該例外に関連する処理の組み合わせを所定の規則にしたがって抽出して、再利用可能な例外処理の一覧テーブルを生成する再利用可能例外処理生成部と、前記一覧テーブルを格納する再利用可能例外処理記憶部と、前記ビジネスプロセス実行エンジンにおけるビジネスプロセスの実行過程において例外が発生し、該例外に対応する例外処理が前記ビジネスプロセス実行エンジンに定義されていない場合に、所定の規則にしたがって前記一覧テーブルから例外処理を抽出する例外処理定義生成部と、該例外に対応する例外処理として前記抽出した例外処理を前記ビジネスプロセス実行エンジンに実行させる例外処理実行要求部と、を具備することを特徴とするビジネスプロセス例外処理生成支援装置である。
【００１５】
請求項２に記載した発明は、請求項１に記載のビジネスプロセス例外処理生成支援装置において、前記再利用可能例外処理生成部は、前記ビジネスプロセス実行エンジンから取得した実行履歴において前記例外と該例外に関連する処理の組み合わせの出現回数が所定回数以上の場合に、該組み合わせの抽出を行うことを特徴とする。
【００１６】
請求項３に記載した発明は、請求項１または請求項２に記載のビジネスプロセス例外処理生成支援装置において、前記例外処理定義生成部は、対象となるビジネスプロセスで発生した例外と該例外が発生した処理からなる組み合わせが一致し、且つ該処理に先行して行われた少なくとも１つの処理が一致するビジネスプロセスを前記一覧テーブルから選択し、選択したビジネスプロセスの例外処理を該例外に対応する例外処理として抽出することを特徴とする。
【００１７】
請求項４に記載した発明は、請求項３に記載のビジネスプロセス例外処理生成支援装置において、前記例外処理定義生成部は、前記一覧テーブルから複数のビジネスプロセスを選択し、該ビジネスプロセスの複数の例外処理からユーザの選択により１つの例外処理を抽出することを特徴とする。
【００１８】
請求項５に記載した発明は、ビジネスプロセスを実行するビジネスプロセス実行エンジンにおける例外処理の実行を支援するコンピュータに、前記ビジネスプロセス実行エンジンによって実行されたビジネスプロセスの実行履歴を取得するステップと、取得した実行履歴から、ビジネスプロセスで発生した例外と該例外に関連する処理の組み合わせを所定の規則にしたがって抽出して、再利用可能な例外処理の一覧テーブルを生成するステップと、前記一覧テーブルを格納するステップと、前記ビジネスプロセス実行エンジンにおけるビジネスプロセスの実行過程において例外が発生し、該例外に対応する例外処理が前記ビジネスプロセス実行エンジンに定義されていない場合に、所定の規則にしたがって前記一覧テーブルから例外処理を抽出するステップと、該例外に対応する例外処理として前記抽出した例外処理を前記ビジネスプロセス実行エンジンに実行させるステップと、を実行させるためのビジネスプロセス例外処理生成支援プログラムである。
【発明の効果】
【００１９】
この発明によれば、過去の実行履歴を基にして、例外が発生した処理に至るまでに実行された処理を考慮した再利用可能な例外処理の一覧が自動生成され、さらに該一覧を基にして、ＢＰに例外処理が定義されていない処理において実行すべき最適な例外処理が自動生成される。したがって、ＢＰ内に例外処理が定義されていない処理が存在していても、自動生成された例外処理が実行されることにより、破綻を来たすことなくビジネスプロセスの実行を完了させることができる。ＢＰの記述者にとっては、仮にすべての例外処理が完全に記述されていなくても破綻が生じないことから、ビジネスプロセス設計の負担が軽減されるというメリットがある。
また、本発明によれば、例外処理が定義されていない処理において例外が発生した場合に、当該処理に至るまでの実行済み処理を過去の実行履歴と比較することによって、実行すべき最適な例外処理を決定する。したがって、図１６のようなビジネスプロセスに対しても、先行して行われた処理に応じて異なる例外処理を実行でき、柔軟なビジネスプロセスの実現が可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、この発明の実施の形態について説明する。図１は、この発明の一実施の形態によるビジネスプロセス例外処理生成支援装置３が適用されたワンストップサービスシステム全体の構成を示す機能ブロック図である。
図１に示すように、このシステムは、ビジネスプロセス実行要求クライアント１と、ビジネスプロセス実行エンジン２と、ビジネスプロセス例外処理生成支援装置３がネットワーク４に接続されて構成される。
ビジネスプロセス実行要求クライアント１は、ユーザの操作によりビジネスプロセス実行エンジン２に対してビジネスプロセスの実行を要求するクライアントコンピュータである。
【００２１】
ビジネスプロセス実行エンジン２は、ビジネスプロセスの実行に関する処理を行うサーバ装置であり、次の機能部により構成される。
ＢＰ定義記憶部１１は、ＢＰ定義情報が格納されたハードディスクドライブである。ここで、ＢＰ定義情報には各処理の実行順序や各処理に対応する例外処理、分岐処理の内容等がＢＰ記述言語にしたがって記述されている。
ＢＰ定義管理部１２は、ＢＰ定義記憶部１１に格納されたＢＰ定義情報の管理を行う。具体的には、ビジネスプロセス実行要求クライアント１の要求にしたがってＢＰ定義記憶部１１からＢＰ定義情報を読み出してビジネスプロセス実行部１３に出力を行い、また更新されたＢＰ定義情報をビジネスプロセス例外処理生成支援装置３から取得してＢＰ定義記憶部１１に書き込みを行う。
ビジネスプロセス実行部１３は、ＢＰ定義情報にしたがって各ビジネスプロセスを実行する。
実行履歴管理部１４は、ビジネスプロセス実行部１３で実行される各処理を監視し、各処理の実行結果に基づいて実行履歴を作成して実行履歴記憶部１５に出力する。また、実行履歴記憶部１５から実行履歴を読み出して、これをビジネスプロセス例外処理生成支援装置３に出力する。
実行履歴記憶部１５は、実行履歴を格納するハードディスクドライブである。
通信部１６は、ネットワーク４に接続されてビジネスプロセス実行要求クライアント１およびビジネスプロセス例外処理生成支援装置３との間でデータの送受信を行うインタフェースである。
【００２２】
ビジネスプロセス例外処理生成支援装置３は、例外処理が定義されていないＢＰにおいて実行されるべき例外処理を、過去の実行履歴を基に生成する装置であり、次の機能部により構成される。
実行履歴取得部１８は、例外処理を生成するために必要なデータであるビジネスプロセスの実行履歴を、ビジネスプロセス実行エンジン２から取得する部分である。
再利用可能例外処理生成部１９は、実行履歴を解析することにより再利用可能な例外処理の一覧を生成し、再利用可能例外処理記憶部２３に出力する。
例外監視部２０は、ビジネスプロセス実行エンジン２から実行履歴を取得して所定の部分を抽出し、例外処理定義生成部２１へ送る。
例外処理定義生成部２１は、例外処理が定義されていないＢＰで実行されるべき例外処理を生成するための解析・判断を行う部分である。
例外処理実行要求部２２は、例外処理定義生成部２１で生成された例外処理をビジネスプロセス実行エンジン２に実行させる部分である。
再利用可能例外処理記憶部２３は、再利用可能例外処理生成部１９で生成された一覧を格納するハードディスクドライブである。
通信部２４は、ネットワーク４に接続されてビジネスプロセス実行要求クライアント１およびビジネスプロセス実行エンジン２との間でデータの送受信を行うインタフェースである。
【００２３】
次に、上記のビジネスプロセス例外処理生成支援装置３を利用したシステムの動作を図２〜図４に示すフローチャートを参照して説明する。ここで、図２はメインとなる動作を示すものであり、図３および図４はその中のサブステップの動作を説明するものである。
図２のフローチャートに示すように、このシステムは大きく５つのステップに分かれて動作する。
【００２４】
（１）ビジネスプロセス実行履歴の生成（ステップＳ１）
まず、ビジネスプロセス実行エンジン２は常時ビジネスプロセス実行要求クライアント１からの要求を受け付けており、要求は通信部１６を経由してＢＰ定義管理部１２へ送られる。ＢＰ定義管理部１２は、要求のあったビジネスプロセスが定義されたＢＰをＢＰ定義記憶部１１から読み出してＢＰ実行部１３へ出力する。ＢＰ実行部１３は、このＢＰにしたがって順次処理を実行する。
ＢＰ実行部１３は、各処理の実行が終わるとその実行結果を実行履歴管理部１４へ出力する。ここで、出力される実行結果のデータには、ビジネスプロセス名、実行された処理名、正常処理／例外処理の区分、発生した例外名、等の情報が含まれる（図６参照）。実行履歴管理部１４は、受け取った実行結果のデータをビジネスプロセス毎にまとめて実行履歴を作成し、実行履歴記憶部１５に格納する。こうして、実行履歴は１つのビジネスプロセスが完了する度に更新され、一定の期間にわたって実行された全ビジネスプロセスの全処理内容とその結果が、実行履歴として実行履歴記憶部１５に保存されることになる。
【００２５】
ここで、以下に実行履歴が作成されるまでの具体例について説明する。
図５は、ＢＰ定義記憶部１１に格納されているＢＰのＢＰ定義情報を模式的に示した一例である。この模式図では、ビジネスプロセス１からビジネスプロセス６までの６つのビジネスプロセスに関するＢＰ定義情報が記述されている。例えば、ビジネスプロセス１では、通常は処理Ａ、処理Ｂ、処理Ｃの順に処理（正常処理）が実行されてビジネスプロセスが完了する。また、処理Ｂには例外（例外名をＥｘｃｅｐｔｉｏｎＡとする）が関連付けられており、処理Ｂで例外「ＥｘｃｅｐｔｉｏｎＡ」が発生した場合には処理Ｃに進まず、例外処理Ｅが実行されてビジネスプロセスが完了する。
また、同様にビジネスプロセス２では、処理Ｂの後、所定の条件にしたがって分岐処理が行われ、分岐に応じて処理Ｋ、処理Ｙまたは処理Ｘ、処理Ｈの順に処理が実行される。また、処理Ｋ、処理Ｘにはそれぞれ例外処理Ｚ、Ｇが関連付けられている。
【００２６】
実際のビジネスプロセスの実行においては、上の説明のようにいくつもある正常処理、例外処理、分岐処理のルートのうち１つのルートだけが実現される。ここでは、ビジネスプロセス１では処理Ａ、Ｂ、Ｅが、ビジネスプロセス２では処理Ｂ、Ｋ、Ｚが、それぞれ実際に実行されたとする。他のビジネスプロセスについても同様に、図５において実線の丸で表される処理からなるルートが実現されたとする（なお、実行されなかった処理は点線の丸で示している）。
【００２７】
すると、これらのビジネスプロセスが実行されそれぞれの処理が完了することにより、図６に示す実行履歴の一例が作成されることになる。すなわち、ビジネスプロセス１が完了した際に、図６の実行履歴の１行目〜３行目が生成される。ここで、１行目のデータは処理Ａ（正常処理）が実行されたことを示し、２行目のデータは処理Ｂ（正常処理）が実行されたが例外「ＥｘｃｅｐｔｉｏｎＡ」が発生したことを示し、３行目のデータは発生した例外に応じて例外処理Ｅが実行されたことを示す。また、その後ビジネスプロセス３（４〜６行目）、ビジネスプロセス６（７〜９行目）、ビジネスプロセス４（１０〜１４行目）等々が順次実行されることにより、実行履歴の更新（４行目以下の行の追加）が行われる。このようにして、図６の実行履歴が作成される。
【００２８】
（２）例外が発生したビジネスプロセスの抽出（ステップＳ２）
図２のフローチャートに戻って動作の説明を続けると、次に実行履歴管理部１４は、実行履歴記憶部１５から実行履歴を読み出してビジネスプロセス例外処理生成支援装置３の実行履歴取得部１８に出力する。この出力は、実行履歴が更新される度に（すなわち１つのビジネスプロセスが完了する度に）行われる。実行履歴取得部１８は、受け取った実行履歴から例外が発生しなかったビジネスプロセスに関する行の部分を削除して実行履歴を更新し、再利用可能例外処理生成部１９に出力する。
上記の実行履歴の一例の場合、ビジネスプロセス６については例外が発生することなく処理が完了しているので、このビジネスプロセス６に関する行（７〜９行目）だけが削除されて（他の行はそのまま）実行履歴が更新される。
【００２９】
（３）再利用可能な例外処理の抽出（ステップＳ３）
次に、再利用可能例外処理生成部１９は、ステップＳ２で更新された実行履歴（例外が発生したビジネスプロセスに関する実行履歴のみが記されている）を解析して、再利用可能な例外処理が抽出された一覧テーブルを作成する。この解析作業は以下のサブステップからなる。図３に示すフローチャートを参照してこれらを説明する。
【００３０】
（３−１）有向グラフ一覧の作成（ステップＳ３０１）
まず、再利用可能例外処理生成部１９は、ステップＳ２で更新された実行履歴を基にして有向グラフ一覧を作成する。ここで有向グラフとは、実際に実行された各ビジネスプロセスについて、実行された各処理を実行順に並べて矢印で結ぶことにより視覚化したものである。有向グラフの表現の方法はどのようなものであっても構わないが、ここでは正常処理を実線丸印、例外処理を点線丸印で表し、例外が発生した処理を示す丸印の右肩に発生した例外名を記すものとする。
【００３１】
図７は、図６の実行履歴（ただしステップＳ２によりビジネスプロセス６に関する７〜９行目は削除されている）から作成される有向グラフ一覧を示したものである。例えば実行履歴の１〜３行目に記されるビジネスプロセス１からは、上段左端の有向グラフが作成される。
なお、実際の再利用可能例外処理生成部１９の動作としては、上記のような有向グラフ（視覚的なデータ）を作成するのではなく、例えばビジネスプロセス１について、
［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）、Ｅ］
のような形式で表現されるデータを作成することとしてもよい。以下の説明においては、有向グラフを上記のデータの形式に置き換えて説明を行うこととする。
【００３２】
（３−２）基本セットの抽出（ステップＳ３０２）
次に、再利用可能例外処理生成部１９は、ステップＳ３０１で作成した各有向グラフについて、例外が発生した処理名、発生した例外名、実行された例外処理名、の３点を一式とするデータ（以下、基本セットと呼ぶ）を抽出する。図７の有向グラフについて例示すると、ビジネスプロセス１の基本セットは
Ｂ、ＥｘｃｅｐｔｉｏｎＡ、Ｅ
となり、ビジネスプロセス３の基本セットは
Ｈ、ＥｘｃｅｐｔｉｏｎＣ、Ｚ
となり、ビジネスプロセス４の基本セットは
Ｂ、ＥｘｃｅｐｔｉｏｎＡ、Ｅ
となり、ビジネスプロセス５の基本セットは
Ｋ、ＥｘｃｅｐｔｉｏｎＢ、Ｚ
となり、ビジネスプロセス２の基本セットは
Ｋ、ＥｘｃｅｐｔｉｏｎＢ、Ｚ
となり、２回目に実行されたビジネスプロセス１の基本セットは
Ｂ、ＥｘｃｅｐｔｉｏｎＡ、Ｅ
となる。なお、以下基本セットを表す時は、括弧内にその要素を列挙して（Ｂ、ＥｘｃｅｐｔｉｏｎＡ、Ｅ）のように記述することにする。
【００３３】
（３−３）再利用可能例外処理一覧テーブルの作成（ステップＳ３０３）
次に、再利用可能例外処理生成部１９は抽出したすべての基本セットを比較して、同一のものがあればその出現回数をカウントし、あらかじめ定めた最低出現回数以上のカウント数となった基本セットに対して、一意の名前（置換処理名）を付与する。ここで、最低出現回数はあらかじめ２回と定められているとする。すると、上記の基本セットについては、基本セット（Ｂ、ＥｘｃｅｐｔｉｏｎＡ、Ｅ）は出現回数が３回であるので置換処理名Ｐ１を付与し、基本セット（Ｋ、ＥｘｃｅｐｔｉｏｎＢ、Ｚ）は出現回数が２回であるので置換処理名Ｐ２を付与し、基本セット（Ｈ、ＥｘｃｅｐｔｉｏｎＣ、Ｚ）は出現回数が１回であるので置換処理名は付与しない。なお、最低出現回数の設定値は２に限定されることはなく、任意の数値に設定することが可能であり、この数値を調整することで発生頻度の高い基本セットのみを抽出できる。
【００３４】
再利用可能例外処理生成部１９は次に、置換処理名と基本セットと基本セットの出現回数とチェックフラグを一組のデータとする再利用可能例外処理一覧テーブル（以下、一覧テーブルと呼ぶ）を作成する。上記例の場合に作成される一覧テーブルは、図８に示すものとなる。ここで、基本セット（Ｈ、ＥｘｃｅｐｔｉｏｎＣ、Ｚ）は置換処理名が付与されていないので一覧テーブルには登録されない。また、チェックフラグはこの段階ではすべて「ｆａｌｓｅ」に設定される。
【００３５】
（３−４）有向グラフ一覧の更新（ステップＳ３０４）
次に、再利用可能例外処理生成部１９は、各有向グラフにおいて基本セットをステップＳ３０３で付与した置換処理名に置き換え、有向グラフ一覧を更新する。図９は、図７の有向グラフ一覧が更新された結果を示したものである。ここで、基本セット（Ｈ、ＥｘｃｅｐｔｉｏｎＣ、Ｚ）には置換処理名が付与されていないので、更新後の有向グラフ一覧にはこの基本セットを有するビジネスプロセス３の有向グラフは含まれないこととなる。
【００３６】
（３−５）正常拡張対と例外拡張対の抽出（ステップＳ３０５）
次に、再利用可能例外処理生成部１９は、一覧テーブルのチェックフラグ欄が「ｆａｌｓｅ」である行の置換処理名をすべて選び出す。上記の具体例においては、この段階ではステップＳ３０３でチェックフラグはすべての行が「ｆａｌｓｅ」に設定されたので、すべての置換処理名すなわちＰ１とＰ２が選び出される。
再利用可能例外処理生成部１９は次に、ステップＳ３０４で更新した各有向グラフに対して、選び出した置換処理名と当該置換処理の後に実行された例外処理名の対（例外拡張対）、および選び出した置換処理名と当該置換処理の前に実行された正常処理の対（正常拡張対）を抽出する。
【００３７】
上記具体例においては、
ビジネスプロセス１の正常拡張対（Ａ、Ｐ１）と、
ビジネスプロセス４の正常拡張対（Ｘ、Ｐ１）と、
ビジネスプロセス４の例外拡張対（Ｐ１、Ｆ）と、
ビジネスプロセス５の正常拡張対（Ｘ、Ｐ２）と、
ビジネスプロセス２の正常拡張対（Ｂ、Ｐ２）と、
２回目に実行されたビジネスプロセス１の正常拡張対（Ａ、Ｐ１）の計６つの拡張対が抽出される。なおここで、基本セットの表記と同様にカッコ内に要素を列挙することによって拡張対を記述することとする。
【００３８】
（３−６）一覧テーブルへの正常／例外拡張対の登録（ステップＳ３０６）
次に、再利用可能例外処理生成部１９は、ステップＳ３０３においてある一定回数以上出現する基本セットに対して一意の名前を付与する操作を行ったのと同様に、ここではステップＳ３０５で抽出した正常拡張対と例外拡張対それぞれの出現する回数があらかじめ定めた最低出現回数以上であれば、その拡張対に対して一意の名前（置換処理名）を付与する。上記具体例では、正常拡張対（Ａ、Ｐ１）は２回、その他の拡張対はすべて１回出現している。ここで最低出現回数は２回と定められているとすると、２回出現している正常拡張対（Ａ、Ｐ１）についてのみ置換処理名（Ｐ３とする）が付与されることになる。なお、最低出現回数の値は、ステップＳ３０３とステップＳ３０６とで異なっていてもよい。
【００３９】
再利用可能例外処理生成部１９は次に、付与した置換処理名とそれに対応する正常または例外拡張対とその出現回数とチェックフラグを一組のデータとして一覧テーブルに追加して登録する（ステップＳ３０３で基本セットについて行ったのと同様の操作である）。この時、追加されるのが正常拡張対の場合は、さらに当該正常拡張対を構成する正常処理名（正常拡張対が（Ａ、Ｐ１）のときは「Ａ」）を「正常処理の順序」の欄の最後部に付加する。また、例外拡張対の場合は、当該例外拡張対を構成する例外処理名を「例外処理の順序」の欄の先頭に付加する。
このステップＳ３０６によって更新された一覧テーブルを図１０に示す。３行目のデータがこのステップで追加された部分である。
【００４０】
（３−７）有向グラフ一覧の再更新（ステップＳ３０７）
次に、再利用可能例外処理生成部１９は、ステップＳ３０４と同様に、各有向グラフの正常拡張対または例外拡張対をステップＳ３０６で付与した置換処理名に置き換え、有向グラフ一覧を更新する。上記の具体例においては、正常拡張対（Ａ、Ｐ１）だけが置換処理名を付与されているので置き換えが行われ、他の拡張対は有向グラフ一覧からは削除される。
再更新後の有向グラフ一覧を図１１に示す。上記具体例の有向グラフは、このステップの結果、置換処理名Ｐ３のみから構成されるもの（１回目に実行されたビジネスプロセス１から生成されたものと、２回目に実行されたビジネスプロセス１から生成されたものとの２つある）となる。このように、１つの置換処理名のみの有向グラフになった場合は、一覧テーブルのチェックフラグを「ｔｒｕｅ」に変える。
有向グラフにまだ置換処理名以外の要素が含まれる場合は、ステップＳ３０５からの操作をすべての有向グラフの要素数が１つになるまで繰り返す。
【００４１】
（３−８）一覧テーブルの保存（ステップＳ３０８）
再利用可能例外処理生成部１９は、最終的に得られた一覧テーブルを再利用可能例外処理記憶部２３に出力し、同記憶部２３に一覧テーブルが格納される。上記例における最終的な一覧テーブルを図１２に示す。
【００４２】
（４）例外処理未記述ＢＰの抽出（ステップＳ４）
ここでステップＳ３のサブステップからメインの動作に戻る。再び図２のフローチャートを参照しながら説明する。
ＢＰ実行部１３は、前述したようにステップＳ１において、ビジネスプロセス実行要求クライアント１から要求を受け付けたビジネスプロセスの処理を実行している。ステップＳ４（とステップＳ５）は、ビジネスプロセスのいずれかに例外が発生し、しかも当該例外に対応する例外処理がＢＰに定義されていない場合（このようなＢＰを例外処理未記述ＢＰと呼ぶ）に行われるステップである。
【００４３】
このような場合にステップＳ１で作成される実行履歴の一例を図１３に示す。この実行履歴において、ビジネスプロセス１２（７〜８行目）が例外処理未記述ＢＰに相当する。なおこの実行履歴に示されるように、例外が発生した処理Ｂに対しては例外処理が行われず、ビジネスプロセス１２の実行は中断されている。
図２のステップＳ４において、実行履歴管理部１４は、例外処理未記述ＢＰにより定義されるビジネスプロセスが実行されてその結果が実行履歴に記録されると、ビジネスプロセス例外処理生成支援装置３の例外監視部２０にその実行履歴を出力する。例外監視部２０は、実行履歴の最後部（上記例では７〜８行目）に記録されている例外処理未記述ＢＰに相当する実行結果部分を抽出し、例外処理定義生成部２１に送る。
【００４４】
（５）例外処理の決定と実行（ステップＳ５）
次に例外処理定義生成部２１は、送られた実行結果を用い、図４のフローチャートに示されたサブステップにしたがって例外処理未記述ＢＰに付加されるべき例外処理を生成する。以下、図４を参照して説明する。
【００４５】
（５−１）対象有向グラフと有向グラフ群の作成（ステップＳ５０１）
例外処理定義生成部２１は、例外監視部２０から受けた例外処理未記述ＢＰによる実行結果のデータから、実行結果に対応する有向グラフ（この有向グラフを対象有向グラフと呼ぶ）を作成する。上記例（図１３）の実行結果からは、対象有向グラフ［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］が得られる。
また、例外処理定義生成部２１は、再利用可能例外処理記憶部２３から一覧テーブル（図１２）を取得し、テーブル内の例外発生処理名、発生例外名、正常処理名からなる有向グラフを、すべての置換処理名に対して作成する。作成された有向グラフを総称して有向グラフ群と呼ぶ。図１２の一覧テーブルからは、［Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］、［Ｋ（ＥｘｃｅｐｔｉｏｎＢ）］、［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］の３つの有向グラフからなる有向グラフ群が得られる。
【００４６】
（５−２）例外発生処理の比較（ステップＳ５０２）
ステップＳ５０１で作成した対象有向グラフと有向グラフ群はともに、ビジネスプロセスを構成する処理のうち例外が発生するまでの処理に着目したものである。したがって両者の有向グラフを比較することにより、過去に実行された複数のビジネスプロセス（有向グラフ群）の中から、例外処理未定義ＢＰ（対象有向グラフ）を構成している処理と同一の処理を有するものを選出することができる。このステップＳ５０２と次のステップＳ５０３により、上記の選出が行われる。
まず例外処理定義生成部２１は、対象有向グラフの例外およびその例外が発生した処理の組み合わせと、各有向グラフの例外およびその例外が発生した処理の組み合わせとを比較して、対象有向グラフの組み合わせと同一の組み合わせを有する有向グラフを有向グラフ群から選び出す。上記の例では、対象有向グラフの例外は「ＥｘｃｅｐｔｉｏｎＡ」であり、例外が発生した処理は「Ｂ」であるから、同じ組み合わせを有する有向グラフ［Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］と［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］の２つが選ばれる。
【００４７】
（５−３）例外発生処理に先行する正常処理の比較（ステップＳ５０３）
次に、例外処理定義生成部２１は選ばれた有向グラフと対象有向グラフについて、例外発生処理の１つ前に先行して実行された正常処理を比較し、当該正常処理が対象有向グラフと同一である有向グラフを有向グラフ群から選び出す。
さらに例外処理定義生成部２１は、同様にして例外発生処理の２つ前の正常処理が対象有向グラフと同一である有向グラフを有向グラフ群から選び出す。以下、例外発生処理の３つ前、４つ前、と同様の操作を比較される正常処理が一致しなくなるまで繰り返す。この操作の結果、最終的に対象有向グラフと最も近似している（例外発生処理とそれに先行するいくつかの正常処理が同一である）有向グラフが選び出されることになる。
【００４８】
なお、この操作により選出される有向グラフが複数存在する場合がある。すなわち、発生した例外と、例外発生処理と、該処理に先行して実行された正常処理が一致し、発生した例外に対応する例外処理のみが異なる場合である。このような場合は、複数の有向グラフを選出結果とする。
このステップの操作を上記の例に当てはめると、ステップＳ５０２で選ばれた２つの有向グラフ［Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］と［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］の例外発生処理は「Ｂ」であり、この「Ｂ」の１つ前に先行する正常処理は、前者には無く、後者は「Ａ」である。よって、操作の１段階目では後者の有向グラフ［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］が選ばれる。次に例外発生処理「Ｂ」の２つ前の正常処理は無いので、操作はここで終了する。こうして、上記例では対象有向グラフと最も近似している有向グラフとして［Ａ、Ｂ（ＥｘｃｅｐｔｉｏｎＡ）］が選出される。
【００４９】
（５−４）対応する例外処理の有向グラフの作成（ステップＳ５０４）
次に、例外処理定義生成部２１は、ステップＳ５０３で選出された有向グラフに対応する置換処理が記述されている行を一覧テーブルから取り出し、「例外処理の順序」の欄に書かれた例外処理を表す有向グラフを作成する。ステップＳ５０３の選出結果が複数となった場合は、それぞれについて有向グラフを作成する。上記例では、対応する置換処理はＰ３であり、これから有向グラフ［Ｅ］が作成される。
作成された有向グラフが複数の場合は、例外処理定義生成部２１はさらに、得られた複数の有向グラフのデータをビジネスプロセス実行要求クライアント１へ送信し、同クライアント１の操作者に選択を促す。操作者が１つの有向グラフを決定すると、例外処理定義生成部２１は同クライアント１から当該有向グラフのデータを取得する（ステップＳ５１０、ステップＳ５１１）。
なお、有向グラフが複数の場合、上記のようにビジネスプロセス実行要求クライアントの操作者に選択させる代わりに、例外処理定義生成部２１がランダムに１つの有向グラフを選択してもよい。また、一覧テーブルにおいて出現回数が最も多い有向グラフを選択するようにしてもよい。
【００５０】
（５−５）付加すべき例外処理の決定とＢＰ定義情報の作成（ステップＳ５０５）
例外処理定義生成部２１は、例外処理未記述ＢＰに付加すべき例外処理として、ステップＳ５０４またはステップＳ５１１で作成された有向グラフに対応する例外処理（上記例では例外処理Ｅ）を採用し、当該例外処理を記述するＢＰ定義情報を作成する。以上により、例外処理が定義されていなかったＢＰにおいて実行すべき処理の内容が確定する。
【００５１】
（５−６）付加された例外処理の実行（ステップＳ５０６）
例外処理定義生成部２１は、上記ステップで作成したＢＰ定義情報を例外処理実行要求部２２へ出力し、例外処理実行要求部２２は、受け取ったＢＰ定義情報に基づいて例外処理の実行要求をビジネスプロセス実行エンジン２のＢＰ実行部１３に出力する。これにより、ＢＰ実行部１３はステップＳ４で中断されたビジネスプロセスを続行させる。
【００５２】
このように、上記の実施形態によれば、例外処理未記述ＢＰが実行されて対応する例外処理が定義されていない例外が発生した場合に、破綻を来たすことなくビジネスプロセスを続行することが可能となる。すなわち、まずビジネスプロセス例外処理生成支援装置３が過去の実行履歴を解析して、再利用可能な（発生頻度の高い）例外処理の一覧が自動生成される。さらに、ビジネスプロセス例外処理生成支援装置３は、生成した例外処理一覧の中から例外処理未記述ＢＰにおいて実行すべき最適な例外処理を抽出し、抽出された例外処理が実行されることによりビジネスプロセスが中断することなく続行される。
【００５３】
また上記実施形態によれば、先行して行われた処理に応じて異なる例外処理を実行することができる。すなわち、ビジネスプロセス例外処理生成支援装置３は、例外が発生した処理に至るまでの先行処理を過去の実行履歴と比較することにより実行すべき例外処理を決定するので、当該先行処理が異なれば抽出される例外処理も異なる。したがって、先行処理に応じて異なる例外処理を実行させることが可能となるのである。
【００５４】
以上、この発明の実施の形態を詳細に説明してきたが、この発明を実施するに当たっては、発明の要旨を変更しない範囲内において様々な変形・設計変更が可能である。
例えば、図１のシステム構成に代わる別のシステム構成として、図１７に示すような形態を採ることも可能である。すなわち、図１のシステムではビジネスプロセス実行エンジン２がビジネスプロセス実行部１３を有しており、同エンジン２（を実装しているコンピュータ）がビジネスプロセスの実行を担当していたが、図１７に示すように、同エンジン２はＢＰ定義管理と実行履歴管理の機能だけを有し、ネットワーク４で接続された別のコンピュータであるビジネスプロセス実行サーバ５〜７がビジネスプロセスの実行を担当するようにしてもよい。
【００５５】
また逆に、図１や図１７のようにビジネスプロセス実行エンジン２とビジネスプロセス例外処理生成支援装置３とビジネスプロセス実行サーバ５〜７が別個のコンピュータとしてネットワーク４に接続されているシステムに代えて、これらが全て同一のコンピュータとして構成されている形態を採ってもよい。
なお図１７のシステム構成において、ビジネスプロセス実行エンジン２やビジネスプロセス例外処理生成支援装置３の運用者は、ビジネスプロセス実行サーバ５〜７の運用者と同じであっても異なっていてもよい。すなわち、本発明は企業間のシステム連携にも企業内のシステム連携にも同じように適用することが可能である。
【００５６】
また、上記の実施形態では、ビジネスプロセスが実行されている最中に例外処理未記述ＢＰに対して最適な例外処理を抽出する動作について説明を行ったが、ＢＰを記述する場面（ワンストップサービスのシステムを構築する場面）において、本発明にかかるビジネスプロセス例外処理生成支援装置３を動作させ、ＢＰ記述者に代わって例外処理の記述を行わせるという使い方をすることもできる。
【産業上の利用可能性】
【００５７】
この発明は、ビジネスプロセス実行エンジンを利用してアプリケーション連携を実現する、ワンストップサービスのシステムに用いて好適である。
【図面の簡単な説明】
【００５８】
【図１】この発明の一実施の形態によるビジネスプロセス例外処理生成支援装置３が利用されたシステム全体の構成を示す機能ブロック図である。
【図２】ビジネスプロセス例外処理生成支援装置３を利用したシステムのメインの動作を示すフローチャートである。
【図３】図２に示すメインの動作中のサブステップの動作を示すフローチャートである。
【図４】図２に示すメインの動作中のサブステップの動作を示すフローチャートである。
【図５】ＢＰ定義情報の一例を模式的に示した図である。
【図６】実行履歴の一例を示したものである。
【図７】図６の実行履歴から作成される有向グラフ一覧を示した図である。
【図８】図７の有向グラフ一覧から作成された再利用可能例外処理一覧テーブルを示したものである。
【図９】図７の有向グラフ一覧の更新結果を示した図である。
【図１０】図８の再利用可能例外処理一覧テーブルの更新結果を示した図である。
【図１１】図９の有向グラフ一覧が再更新された結果を示した図である。
【図１２】最終的な再利用可能例外処理一覧テーブルを示す図である。
【図１３】例外処理未記述ＢＰが実行された場合の実行履歴の一例を示したものである。
【図１４】ビジネスプロセス実行エンジンが使われた従来のシステムの一例を示す概念図である。
【図１５】例外処理が記述されているＢＰの一例を模式的に示した図である。
【図１６】例外処理が記述されているＢＰの一例を模式的に示した図である。
【図１７】この発明の一実施の形態によるビジネスプロセス例外処理生成支援装置３が利用された別のシステム全体の構成を示す機能ブロック図である。
【符号の説明】
【００５９】
１…ビジネスプロセス実行要求クライアント  ２…ビジネスプロセス実行エンジン  ３…ビジネスプロセス例外処理生成支援装置  ４…ネットワーク  ５〜７…ビジネスプロセス実行サーバ  １１…ＢＰ定義記憶部  １２…ＢＰ定義管理部  １３…ビジネスプロセス実行部  １４…実行履歴管理部  １５…実行履歴記憶部  １６…通信部  １８…実行履歴取得部  １９…再利用可能例外処理生成部  ２０…例外監視部  ２１…例外処理定義生成部  ２２…例外処理実行要求部  ２３…再利用可能例外処理記憶部  ２４…通信部  １０１…ビジネスプロセス実行エンジン  １０２−１〜１０２−３…ビジネスプロセス実行サーバ  １０３…ネットワーク  １０４…ＢＰ  １０５…ビジネスプロセス実行要求クライアント（ユーザ端末）  １０７−１〜１０７−４…正常処理  １０８〜１１０…例外処理  １１３…処理  １１４…例外処理  １１５…処理
【図１】
2006302032.tif 000003
【図２】
2006302032.tif 000004
【図３】
2006302032.tif 000005
【図４】
2006302032.tif 000006
【図５】
2006302032.tif 000007
【図６】
2006302032.tif 000008
【図７】
2006302032.tif 000009
【図８】
2006302032.tif 000010
【図９】
2006302032.tif 000011
【図１０】
2006302032.tif 000012
【図１１】
2006302032.tif 000013
【図１２】
2006302032.tif 000014
【図１３】
2006302032.tif 000015
【図１４】
2006302032.tif 000016
【図１５】
2006302032.tif 000017
【図１６】
2006302032.tif 000018
【図１７】
2006302032.tif 000019