(57)【要約】【課題】既に存在するビジネスプロセスにサブプロセスを入れる場合、対象となるビジネスプロセスを編集することなくビジネスプロセスを実行可能な手段を提供する。【解決手段】ビジネスプロセス実行エンジン１００は、メイン１のメインプロセスを実行する。メイン１は、開始時にサブ１のサブプロセスが実行され、終了時にサブ２のサブプロセスが実行されるメインプロセスである。ビジネスプロセス実行エンジン１００は、サブ１、サブ２の実行するべき条件を定義したサブプロセス実行条件定義２０１を格納する。ビジネスプロセス実行エンジン１００は、サブプロセス実行条件定義を参照し、メイン１を実行する際、サブ１、サブ２を実行する。これにより、サブプロセス実行条件定義２０１を参照することで、既に存在するメイン１にサブ１、サブ２を入れる場合、メイン１、サブ１、サブ２を編集することなくビジネスプロセスを実行できる。【選択図】図１０
2009122985.tif 000002
【特許請求の範囲】
【請求項１】
メインプロセスの一部として実行されるサブプロセスを示す識別子と、前記サブプロセスが実行される対象である対象メインプロセスを特定する特定条件と、前記対象メインプロセスにおける前記サブプロセスの実行の実行タイミングとの関係を定義したサブプロセス実行条件定義を格納する実行条件定義格納部と、
前記メインプロセスのファイルであるメインプロセス定義と、前記サブプロセスのファイルであるととともに前記サブプロセスを示す識別子を含むサブプロセス定義とを格納するプロセス定義格納部と、
前記プロセス定義格納部に格納された前記メインプロセス定義と、前記サブプロセス定義とを読み込み、
読み込まれた前記メインプロセス定義から指定に従って所定のメインプロセス定義の示す所定のメインプロセスを実行するとともに、前記所定のメインプロセスを実行するときには、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記特定条件を参照することにより前記所定のメインプロセスが前記対象メインプロセスに該当するかどうかを判定し、前記対象メインプロセスに該当すると判定すると、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記識別子を参照することにより前記所定のメインプロセスに対して実行されるサブプロセスを示す前記サブプロセス定義を読み込まれた前記サブプロセス定義から検索し、検索によりヒットすると、ヒットした前記サブプロセス定義の示す前記サブプロセスを前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の実行タイミングで実行するサブプロセス処理部と
を備えたことを特徴とするサブプロセス実行システム。
【請求項２】
前記サブプロセス処理部は、
前記所定のメインプロセスを実行するときには前記所定のメインプロセスの実行単位ごとに実行状態を更新するとともに、実行状態を更新するごとに前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記特定条件を参照することにより前記所定のメインプロセスが前記対象メインプロセスに該当するかどうかを判定し、前記対象メインプロセスに該当すると判定すると、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記識別子を参照することにより、前記所定のメインプロセスに対して実行されるサブプロセスを示す前記サブプロセス定義を読み込まれた前記サブプロセス定義から検索し、検索によりヒットすると、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義に定義された実行タイミングと更新された前記実行状態とを比較し、比較により同一の場合に、ヒットした前記サブプロセス定義の示す前記サブプロセスを実行することを特徴とする請求項１記載のサブプロセス実行システム。
【請求項３】
メインプロセスの一部として実行されるサブプロセスを示す識別子と、前記サブプロセスが実行される対象である対象メインプロセスを特定する特定条件と、前記対象メインプロセスにおける前記サブプロセスの実行の実行タイミングとの関係を定義したサブプロセス実行条件定義を格納する処理と、
前記メインプロセスのファイルであるメインプロセス定義と、前記サブプロセスのファイルであるととともに前記サブプロセスを示す識別子を含むサブプロセス定義とを格納する処理と、
格納された前記メインプロセス定義と、前記サブプロセス定義とを読み込み、読み込まれた前記メインプロセス定義から指定に従って所定のメインプロセス定義の示す所定のメインプロセスを実行するとともに、前記所定のメインプロセスを実行するときには、前記サブプロセス実行条件定義の前記特定条件を参照することにより前記所定のメインプロセスが前記対象メインプロセスに該当するかどうかを判定し、前記対象メインプロセスに該当すると判定すると、前記サブプロセス実行条件定義の前記識別子を参照することにより、前記所定のメインプロセスに対して実行されるサブプロセスを示す前記サブプロセス定義を読み込まれた前記サブプロセス定義から検索し、検索によりヒットすると、ヒットした前記サブプロセス定義の示す前記サブプロセスを前記サブプロセス実行条件定義に定義されたタイミングで実行する処理と
をコンピュータに実行させることを特徴とするサブプロセス実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メインプロセスと、メインプロセスに関連付けられたサブプロセスとを実行するサブプロセス実行システム及びサブプロセス実行プログラムに関する。
【背景技術】
【０００２】
従来のビジネスプロセスは、
（１）単一のプロセスとして定義されている、
あるいは、
（２）メインプロセス定義とサブプロセス定義に分割され、メインプロセス定義にサブプロセスを呼び出すことを明示的に定義されている、
というものであり、実行エンジンはこの静的な情報を元にビジネスプロセスを実行していた。これに対して、下記の特許文献１では、部門間をまたがるプロセスにおいて各部門で実行するプロセス（サブプロセス）を自動的に決定し、また、サブプロセスの決定は、受け渡されたデータをもとに行うという技術を開示している。
【特許文献１】特開平１０−１１１８８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のビジネスプロセス処理方式では、
（１）部門ごとに異なる固有処理がある良く似たプロセス定義でも、別々のプロセス定義として作成する必要がある。
（２）共通的な処理を入れる場合、対象となるプロセス定義をすべてを編集する必要があるという課題があった。図１１は、共通な処理を入れる場合を説明するための図である。従来では、「見積依頼プロセス１１」と「発注プロセス１２」とのＦｉｎａｌに共通な処理として「確認処理プロセス１３」を入れようとする場合、対象となるプロセス定義をすべてを編集する必要があった。
【０００４】
これらの課題に対して特許文献１の技術を適用することで課題（１）については解決可能と見込まれるが、課題（２）については解決できない。
【０００５】
本発明は、上記の課題（２）を解決するためのもので、既に存在するビジネスプロセスに対して共通的な処理を入れる場合に、対象となるビジネスプロセスを編集することなくビジネスプロセスを実行することを目的とする。
【課題を解決するための手段】
【０００６】
この発明のサブプロセス実行システムは、
メインプロセスの一部として実行されるサブプロセスを示す識別子と、前記サブプロセスが実行される対象である対象メインプロセスを特定する特定条件と、前記対象メインプロセスにおける前記サブプロセスの実行の実行タイミングとの関係を定義したサブプロセス実行条件定義を格納する実行条件定義格納部と、
前記メインプロセスのファイルであるメインプロセス定義と、前記サブプロセスのファイルであるととともに前記サブプロセスを示す識別子を含むサブプロセス定義とを格納するプロセス定義格納部と、
前記プロセス定義格納部に格納された前記メインプロセス定義と、前記サブプロセス定義とを読み込み、
読み込まれた前記メインプロセス定義から指定に従って所定のメインプロセス定義の示す所定のメインプロセスを実行するとともに、前記所定のメインプロセスを実行するときには、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記特定条件を参照することにより前記所定のメインプロセスが前記対象メインプロセスに該当するかどうかを判定し、前記対象メインプロセスに該当すると判定すると、前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の前記識別子を参照することにより前記所定のメインプロセスに対して実行されるサブプロセスを示す前記サブプロセス定義を読み込まれた前記サブプロセス定義から検索し、検索によりヒットすると、ヒットした前記サブプロセス定義の示す前記サブプロセスを前記実行条件定義格納部に格納された前記サブプロセス実行条件定義の実行タイミングで実行するサブプロセス処理部と
を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明により、既に存在するビジネスプロセスに対してサブプロセスを入れる場合に、対象となるビジネスプロセスを編集することなくビジネスプロセスを実行する手段を提供できる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、コンピュータであるビジネスプロセス実行システム１０００（サブプロセス実行システム）の外観の一例を示す図である。図１において、ビジネスプロセス実行システム１０００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【０００９】
図２は、実施の形態１におけるビジネスプロセス実行システム１０００のハードウェア資源の一例を示す図である。図２において、ビジネスプロセス実行システム１０００は、プログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００１０】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１１】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１２】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１３】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」、及び「実行インスタンス」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１４】
ファイル群８２４には、以下に述べる実施の形態の説明において、「サブプロセス実行条件定義」、「メイン／サブプロセス定義」、「実行インスタンス」として説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１５】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１６】
また、以下に述べる実施の形態の説明において、「〜部」、「実行インスタンス」として説明するものは、「〜部」、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「実行インスタンス」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」、「実行インスタンス」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「実行インスタンス」の手順や方法をコンピュータに実行させるものである。
【００１７】
図３に、本実施の形態１に係るビジネスプロセス実行システム１０００の構成ブロック図を示す。ビジネスプロセス実行システム１０００は、ビジネスプロセス実行エンジン１００、サブプロセス実行条件定義格納部２００、プロセス定義格納部３００、業務ＡＰＰ４００（以下、業務ＡＰＰ（ａｐｐｌｉｃａｔｉｏｎ）と表記する）から構成される。
【００１８】
ビジネスプロセス実行エンジン１００は、業務アプリケーション連携部１１１（受信）、業務アプリケーション連携部１１２（送信）、プロセス実行部１２０、サブプロセス処理部１３０を備える。なお、業務アプリケーション連携部１１１及び業務アプリケーション連携部１１２は、以下、業務ＡＰＰ連携部１１１、業務ＡＰＰ連携部１１２と記す。
【００１９】
サブプロセス処理部１３０は、プロセス定義解析部１３１、実行インスタンス１３２、サブプロセス実行判定部１３３を備えている。
【００２０】
ビジネスプロセス実行エンジン１００と業務ＡＰＰ４００との間は、ネットワークを介しても良いし、もしくは、同一マシン上で接続されてもよい。
【００２１】
（サブプロセス実行条件定義）
図４は、サブプロセス実行条件定義格納部２００に格納されるサブプロセス実行条件定義２０１の例を示す。図４参照して、サブプロセス実行条件定義２０１を説明する。サブプロセス実行条件定義２０１とは、メインプロセスの一部として実行されるサブプロセスを示す識別子と、サブプロセスが実行される対象である対象メインプロセスを抽出（特定）する抽出条件（特定条件）と、対象メインプロセスにおけるサブプロセスの実行の実行タイミングとの関係を定義した情報である。図４のサブプロセス実行条件定義２０１では、実行対象とするサブプロセスの識別子、このサブプロセスの実行の対象となる対象プロセス（対象メインプロセス）の抽出条件、及び識別子で示されるサブプロセスの実行タイミング条件を定義している。
（１）「抽出条件」は、メイン／サブプロセス定義（プロセス定義格納部に格納されたメインプロセス定義、及びサブプロセス定義）に指定されている付加情報（プロセス定義名／メイン、サブなどのプロセスの種類／対象組織など）や、プロセス実行時に生成された実行情報（プロセスを起動したユーザ情報／業務アプリケーションから渡されるデータの内容など）を使用して、その条件が定義できる。また条件を指定しないことも可能である。
（２）「実行タイミング」は、プロセスの開始時／終了時や、特定の処理の実行前・実行後（例、サブ１の終了後）のような指定が可能である。
【００２２】
（動作の概要説明）
業務ＡＰＰ４００は、ビジネスプロセス実行エンジン１００に対して処理要求を行う。ビジネスプロセス実行エンジン１００では、業務ＡＰＰ４００から受信した処理要求に応じて後述する処理を行う。その処理の結果、場合によっては業務ＡＰＰ４００（これは処理要求を行った業務アプリケーションと同一の場合と、異なる場合が存在する）に対して処理要求が行われる。
【００２３】
図５、図６を参照して、ビジネスプロセス実行システム１０００の動作を説明する。図５、図６は、ビジネスプロセス実行システム１０００の動作を説明するためのシーケンス図である。また、図７は、メインプロセス（定義名：メイン１）の例を示す図である。図８は、開始時に実行するサブプロセス（定義名：サブ１）を示す。図９は、終了時に実行するサブプロセス（定義名：サブ２）を示す。図１０は、この設例を概念的に示した図である。
【００２４】
図５、図６のシーケンス図は、図７のメインプロセスに図８、図９のサブプロセスを適用する場合の例を示している。また、図４は、この設例におけるのサブプロセス実行条件定義を示している。
【００２５】
（初期処理）
図５は、この設例における初期処理時を示すシーケンスである。初期処理時には、プロセス定義解析部１３１が、プロセス定義格納部３００に格納されているメイン／サブプロセスのプロセス定義ファイルの全部を読み込み、処理用に形式を変えて保持する。プロセス定義ファイルには、業務ＡＰＰ４００と連携するためのインタフェース定義が記述されているので、そのインタフェース定義を元に、図５に示すように、「初期化１．１」、「初期化１．１．１」及び「初期化１．２」、「初期化１．２．１」による業務ＡＰＰ連携部の初期化を実施する。これにより、例えば、Ｗｅｂサービスとしてのインタフェースが生成される。
【００２６】
（リクエストの処理）
次に図６を参照して説明する。図６は、業務ＡＰＰ４００からリクエストが送信された場合の処理を示すシーケンスである。図６において「２：リクエスト」は、図７の「受信待ち（１）」に対応するリクエストである。「３：リクエスト」は、図７の「受信待ち（２）」に対応するリクエストである。以下に、図６における業務ＡＰＰ連携部１１１等の個別の動作を説明し、その後に図６の動作を説明する。
【００２７】
（業務ＡＰＰ連携部１１１（受信））
業務ＡＰＰ連携部１１１は、業務ＡＰＰ４００からリクエストを受信する。このリクエストには、メインプロセスを指定する識別子が含まれている。この設例では図６に示すように「メイン１」の識別子が含まれている。業務ＡＰＰ連携部１１１は、受信したリクエストの形式を変換（内部処理用）したリクエストメッセージと、対応するプロセス定義の識別子（前記メイン１）をプロセス実行部１２０に送信する。
【００２８】
（プロセス実行部１２０）
プロセス実行部１２０は、プロセス定義の識別子（前記メイン１）に基づき、業務ＡＰＰ連携部１１１から受信したリクエストを対応するメイン１のプロセス定義解析部１３１に送信する。
【００２９】
（プロセス定義解析部１３１）
メイン１のプロセス定義解析部１３１は、そのプロセス定義（メイン１）の最初のリクエストの場合には、実行インスタンスを生成する。プロセス定義の途中のリクエスト（例えば、図７の「受信待ち（２）」に対応する「３：リクエスト」）の場合には、対応する実行インスタンスを検索し、実行要求の送信を行う。
【００３０】
（実行インスタンス１３２）
実行インスタンス１３２は、生成された時に、サブプロセス実行判定部１３３に問い合わせを行ない、サブプロセス実行条件定義２０１に該当するサブプロセスがある場合には実行してもらう。即ち、サブプロセス実行判定部１３３は、該当するサブプロセスがあると、該当するサブプロセスのプロセス定義解析部１３１にインスタンス生成のリクエストを送信する。プロセス定義解析部１３１は、このリクエストに応答して、実行インスタンスを生成する。また、実行インスタンスは、実行要求がきた場合には、関連を持つプロセス定義解析部１３１から次に実施すべきタスクの情報（例えば、図７の初期状態で受信待ち（１）ならば、「タスク１」が該当）を取得し実施する。実行インスタンス１３２は、実施後にプロセスの実行状態（初期、〜ステップ実行後、〜待ち、終了など）を更新し、サブプロセス実行判定部１３３に対して問い合わせをする。
【００３１】
（サブプロセス実行判定部１３３）
サブプロセス実行判定部１３３は、実行インスタンスから問い合わせを受けると、どのプロセス定義か（メインプロセス、対象部門＝資材、対象者＝一般社員）、実行状態は何か（初期化、〜ステップ実行後、終了など）受信したメッセージの情報を貰い、サブプロセス実行条件定義２０１と比較し、サブプロセス実行条件定義２０１が満たされ、実行可能タイミングが現在の実行インスタンスの実行状態と一致する場合には、対応するサブプロセスを実行する（当該サブプロセスの実行をプロセス定義解析部に要求する）。
【００３２】
（２、２．１）
図６において、業務ＡＰＰ連携部１１１が、「２：リクエスト（メイン１）」を受信した場合を説明する。業務ＡＰＰ連携部１１１は、「２：リクエスト（メイン１）」を受信すると、受信したリクエストの形式を変換（内部処理用）したリクエストメッセージと、対応するプロセス定義の識別子（前記メイン１）をプロセス実行部１２０に送信する。
【００３３】
（２．１．１）
プロセス実行部１２０は、「リクエスト（メイン１）」を受信すると、プロセス定義の識別子（メイン１）に基づき、このリクエストを対応する「メイン１」のプロセス定義解析部１３１に送信する。
【００３４】
（２．１．１．１）
プロセス定義解析部１３１は、受信したリクエストは「メイン１」の最初のリクエストであるので、図７の「メインプロセス１」の実行インスタンスを生成する。
【００３５】
（２．１．１．１．１）
実行インスタンス１３２は、生成時であるため、サブプロセス実行判定部１３３に問い合わせを行ない、サブプロセス実行条件定義２０１に該当するサブプロセスがある場合には実行してもらう。
【００３６】
（２．１．１．１．１．１）
サブプロセス実行判定部１３３は、問い合せを受けた場合、該当するサブプロセスがあると、該当するサブプロセスのプロセス定義解析部１３１にインスタンス生成のリクエストを送信する。この設例では、サブプロセス実行判定部１３３は、サブ１のプロセス定義解析部１３１にリクエストを送信する。
【００３７】
（２．１．１．１．１．１．１）
該当するプロセス定義解析部１３１は、このリクエストに応答して、実行インスタンスを生成する。この設例では、サブ１のプロセス定義解析部１３１がサブプロセス１の実行インスタンスを生成する。
【００３８】
（２．１．１．１．１．１．２）
サブ１のプロセス定義解析部１３１は、生成したサブ１の実行インスタンスに対して、実行要求を送信する。サブ１の実行インスタンス１３２は、実行要求を受信すると、図８の「完了メールの通知」を実行する。
【００３９】
（２．１．１．２）
「完了メールの通知」が実行されると、メイン１のプロセス定義解析部１３１は、メイン１の実行インスタンスに対して「実行要求」を送信する。
【００４０】
（２．１．１．２．１）
「実行要求」を受信すると、メイン１の実行インスタンス１３２は、タスク１を実行し（この場合は、図７の注文書作成が該当する）、実行後に実行状態を更新し、例えば、この場合は、「タスク１実行後」と更新し、サブプロセス実行判定部１３３に問い合わせを送信する。サブプロセス実行判定部１３３では、サブプロセス実行条件定義２０１の実行タイミングには「タスク１実行後」は定義されていないので、問い合せには応答しない。
【００４１】
以上が、「２：リクエスト」に対する処理動作である。
【００４２】
（３／３．１）
次に、「３：リクエスト」に対する処理動作を説明する。図６において、業務ＡＰＰ連携部１１１が、「３：リクエスト（メイン１）」（図７の受信待ち（２）に相当）を受信した場合を説明する。業務ＡＰＰ連携部１１１は、「３：リクエスト（メイン１）」を受信すると、受信したリクエストの形式を変換（内部処理用）したリクエストメッセージと、対応するプロセス定義の識別子（前記メイン１）を「リクエスト（メイン１）」としてプロセス実行部１２０に送信する（３．１）。
【００４３】
（３．１．１）
プロセス実行部１２０は、「リクエスト（メイン１）」を受信すると、プロセス定義の識別子（メイン１）に基づき、このリクエストを、対応する「メイン１」のプロセス定義解析部１３１に送信する。
【００４４】
（３．１．１．１）
プロセス定義解析部１３１は、この場合の受信した「リクエスト（メイン１）」は、プロセス定義の途中のリクエストであるので、対応する実行インスタンスを検索し、「実行要求」の送信を行う。
【００４５】
（４．）
メイン１の実行インスタンス１３２は、「実行要求」がきた場合には、関連を持つプロセス定義解析部１３１から次に実施すべきタスクの情報（この設例では図７の注文実施（タスク２））を取得し、注文実施（タスク２）を実施する。実行インスタンス１３２は、タスク２を実施後に、プロセスの実行状態（初期、〜ステップ実行後、〜待ち、終了など）を更新し、サブプロセス実行判定部１３３に対して問い合わせをする。この設例では、注文実施（タスク２）の実施後は、プロセスの実行状態は「終了」となる。
【００４６】
（４．１）
サブプロセス実行判定部１３３は、問い合せを受けた場合、該当するサブプロセスがあると、該当するサブプロセスのプロセス定義解析部１３１にインスタンス生成のリクエストを送信する。図４のサブプロセス実行条件定義２０１に示すように、「実行タイミング＝終了時」にサブプロセス２を実行する条件となっている。したがってサブプロセス実行判定部１３３は、サブ２のプロセス定義解析部１３１に、サブ２のインスタンス生成のリクエストを送信する。
【００４７】
（４．１．１）
該当するサブ２のプロセス定義解析部１３１は、このリクエストに応答して、サブ２の実行インスタンスを生成する。
【００４８】
（４．１．２）
サブ２のプロセス定義解析部１３１は、生成したサブ２の実行インスタンスに対して、実行要求を送信する。サブ２の実行インスタンス１３２は、実行要求を受信すると、図９の「課長承認待ち」を実行する。これにより処理が終了する。
【００４９】
以上の実施の形態１のビジネスプロセス実行システム１０００により、既に存在するビジネスプロセスに対してサブプロセスを入れる場合に、対象となるビジネスプロセスを編集することなくビジネスプロセスを実行することができる。
【図面の簡単な説明】
【００５０】
【図１】実施の形態１のビジネスプロセス実行システム１０００の外観の一例を示す図。
【図２】実施の形態１のビジネスプロセス実行システム１０００のハードウェア構成。
【図３】実施の形態１のビジネスプロセス実行システム１０００のブロック図。
【図４】実施の形態１のサブプロセス実行条件定義２０１を示す図。
【図５】実施の形態１のビジネスプロセス実行システム１０００の初期処理のシーケンス図。
【図６】実施の形態１のビジネスプロセス実行システム１０００のリクエスト受信時のシーケンス図。
【図７】実施の形態１のメインプロセスの一例。
【図８】実施の形態１のサブプロセス１の一例。
【図９】実施の形態１のサブプロセス２の一例。
【図１０】実施の形態１の処理動作の概念図。
【図１１】従来技術を示す図。
【符号の説明】
【００５１】
１１  見積依頼プロセス、１２  発注プロセス、１３  確認処理プロセス、１００  ビジネスプロセス実行エンジン、１１１  業務ＡＰＰ連携部、１１２  業務ＡＰＰ連携部、１２０  プロセス実行部、１３０  サブプロセス処理部、１３１  プロセス定義解析部、１３２  実行インスタンス、１３３  サブプロセス実行判定部、２００  サブプロセス実行条件定義格納部、２０１  サブプロセス実行条件定義、３００  プロセス定義格納部、４００  業務ＡＰＰ、１０００  ビジネスプロセス実行システム。
【図１】
2009122985.tif 000003
【図２】
2009122985.tif 000004
【図３】
2009122985.tif 000005
【図４】
2009122985.tif 000006
【図５】
2009122985.tif 000007
【図６】
2009122985.tif 000008
【図７】
2009122985.tif 000009
【図８】
2009122985.tif 000010
【図９】
2009122985.tif 000011
【図１０】
2009122985.tif 000012
【図１１】
2009122985.tif 000013