(57)【要約】【課題】複数のワークフロー間で疎結合性を維持しつつ処理の実行を連携させる。【解決手段】処理呼び出し／連携部２４においては、各処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３とワークフロー実行管理装置１０との間の通信経路としての処理実行連携部２３に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知の連携を保留し、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、当該保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定し、連携を許可する場合には保留を解除するようにしている。従って、上記課題を解決できる。【選択図】図１
2011209921.tif 000002
【特許請求の範囲】
【請求項１】
通信経路から受けた処理呼び出し通知に応じて各ワークフローの一部の処理を実行し、当該処理の完了後に完了応答通知を前記通信経路に送出する複数の処理実行装置と、
前記各処理実行装置の処理順番に応じて前記処理呼び出し通知を前記通信経路に送出し、前記完了応答通知を前記通信経路から受けるワークフロー実行管理装置と、の間で前記処理呼び出し通知及び完了応答通知の連携を管理するワークフロー連携管理装置であって、ワークフロー制約条件記憶手段、実行状況記憶手段及び通知記憶手段を備えた前記ワークフロー連携管理装置に用いられるワークフロー連携管理プログラムであって、
前記ワークフロー連携管理装置を、
前記処理呼び出し通知又は完了応答通知の連携に関し、他の処理の実行状況に応じて許可する旨の制約条件を前記ワークフロー制約条件記憶手段に書き込む手段、
前記通信経路に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知を前記通知記憶手段に書き込んで当該処理呼び出し通知又は完了応答通知の連携を保留する保留手段、
連携許可通知を受けると、前記通知記憶手段内の処理呼び出し通知又は完了応答通知を前記通信経路に送出して前記保留を解除する保留解除手段、
前記保留手段による保留毎に、前記保留した処理呼び出し通知又は完了応答通知の保留状況を示すように、前記各処理実行装置の実行状況を前記実行状況記憶手段に書き込む実行状況書込手段、
前記保留手段による保留毎に、前記ワークフロー制約条件記憶手段内の制約条件と前記実行状況記憶手段内の実行状況とに基づいて、前記保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定するワークフロー制約条件判定手段、
前記判定の結果、連携を許可する場合、前記連携許可通知を前記保留解除手段に送出する連携許可通知送出手段、
前記連携許可通知が送出された場合、前記保留を解除した状況に対応して、前記処理呼び出し通知の連携済みを示す実行中状況、又は前記完了応答通知の連携済みを示す完了状況を示すように、前記実行状況記憶手段内の実行状況を更新する手段、
として機能させるためのワークフロー連携管理プログラム。
【請求項２】
請求項１に記載のワークフロー連携管理プログラムにおいて、
前記他の処理の実行状況に応じて許可する旨の制約条件は、他の処理の完了応答通知が連携済みであれば許可する旨の制約条件であることを特徴とするワークフロー連携管理プログラム。
【請求項３】
通信経路から受けた処理呼び出し通知に応じて各ワークフローの一部の処理を実行し、当該処理の完了後に完了応答通知を前記通信経路に送出する複数の処理実行装置と、
前記各処理実行装置の処理順番に応じて前記処理呼び出し通知を前記通信経路に送出し、前記完了応答通知を前記通信経路から受けるワークフロー実行管理装置と、の間で前記処理呼び出し通知及び完了応答通知の連携を管理するワークフロー連携管理装置であって、
前記処理呼び出し通知又は完了応答通知の連携に関し、他の処理の実行状況に応じて許可する旨の制約条件を記憶するワークフロー制約条件記憶手段と、
前記処理呼び出し通知及び完了応答通知を記憶するための通知記憶手段と、
前記処理実行装置の処理毎に、前記処理呼び出し通知の連携未済を示す未呼び出し状況、前記処理呼び出し通知の保留状況、前記完了応答通知の保留状況、前記処理呼び出し通知の連携済みを示す実行中状況、又は前記完了応答通知の連携済みを示す完了状況、を示す実行状況を記憶する実行状況記憶手段と、
前記通信経路に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知を前記通知記憶手段に書き込んで当該処理呼び出し通知又は完了応答通知の連携を保留する保留手段と、
連携許可通知を受けると、前記通知記憶手段内の処理呼び出し通知又は完了応答通知を前記通信経路に送出して前記保留を解除する保留解除手段と、
前記保留手段による保留毎に、前記保留した処理呼び出し通知又は完了応答通知の保留状況を示すように、前記各処理実行装置の実行状況を前記実行状況記憶手段に書き込む実行状況書込手段と、
前記保留手段による保留毎に、前記ワークフロー制約条件記憶手段内の制約条件と前記実行状況記憶手段内の実行状況とに基づいて、前記保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定するワークフロー制約条件判定手段と、
前記判定の結果、連携を許可する場合、前記連携許可通知を前記保留解除手段に送出する連携許可通知送出手段と、
前記連携許可通知が送出された場合、前記保留を解除した状況に対応して前記実行中状況又は完了状況を示すように、前記実行状況記憶手段内の実行状況を更新する手段と、
を備えたことを特徴とするワークフロー連携管理装置。
【請求項４】
請求項３に記載のワークフロー連携管理装置において、
前記他の処理の実行状況に応じて許可する旨の制約条件は、他の処理の完了応答通知が連携済みであれば許可する旨の制約条件であることを特徴とするワークフロー連携管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のワークフロー間で疎結合性を維持しつつ処理の実行の連携が可能なワークフロー連携管理装置及びプログラムに関する。
【背景技術】
【０００２】
一般に、「部門や企業をまたぐような前工程／後工程の関係」が定義されているワークフローの処理を実行する場合は、異なるワークフローに定義される処理同士を協調動作させるための処理実行連携手段が必要とされている。
【０００３】
処理実行連携手段としては、「ネットワークを利用した通信」や、「ESB(Enterprise Service Bus)やEAI(Enterprise Application Integration)と呼ばれる、システムの統合や一元管理をするための技術」が利用されている。
【０００４】
これらの処理実行連携手段を用いると、異なるワークフロー間で互いの処理の実行状況を通知し合うことが可能になり、これらの実行状況の通知とそれぞれのワークフローの定義に基づいて処理を協調動作させることで、ワークフロー同士の連携が可能となる。
【０００５】
一般的な処理実行連携手段を利用する場合、各ワークフローが処理を連携して実行することが予め各ワークフローに定義されている。このように、複数のワークフロー間で処理が連携している状態を密結合のワークフローともいう。密結合のワークフロー同士では、図６に示すように、互いの処理を考慮して実装する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１０１３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、流動的なビジネスの現場においては、ワークフローの変更が定常的に発生することもある。
【０００８】
そのため、ワークフロー同士が密結合であると、個々の変更に応じて再設計しなければならず、再利用性が低いことから、開発コストが増大する。
【０００９】
また、部門間や企業間において、1対1ではなく、N対Nとなるようなワークフローが密結合で構築される場合、それぞれの相手先に応じたカスタマイズをワークフローに加えなくてはならず、汎用性・再利用性が低いことから、再設計や開発のコストが増大する。
【００１０】
以上のように、密結合のワークフロー同士では汎用性・再利用性が低くなるため、ワークフロー間を疎結合させる必要がある。なお、疎結合とは、各システムの設計において、変更や修正に応じて別システムへの影響が発生しない設計であることを意味する。
【００１１】
本発明は上記実情に鑑みてなされたものであり、複数のワークフロー間で疎結合性を維持しつつ処理の実行の連携が可能なワークフロー連携管理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一つの局面は、通信経路から受けた処理呼び出し通知に応じて各ワークフローの一部の処理を実行し、当該処理の完了後に完了応答通知を前記通信経路に送出する複数の処理実行装置と、前記各処理実行装置の処理順番に応じて前記処理呼び出し通知を前記通信経路に送出し、前記完了応答通知を前記通信経路から受けるワークフロー実行管理装置と、の間で前記処理呼び出し通知及び完了応答通知の連携を管理するワークフロー連携管理装置であって、前記処理呼び出し通知又は完了応答通知の連携に関し、他の処理の実行状況に応じて許可する旨の制約条件を記憶するワークフロー制約条件記憶手段と、前記処理呼び出し通知及び完了応答通知を記憶するための通知記憶手段と、前記処理実行装置の処理毎に、前記処理呼び出し通知の連携未済を示す未呼び出し状況、前記処理呼び出し通知の保留状況、前記完了応答通知の保留状況、前記処理呼び出し通知の連携済みを示す実行中状況、又は前記完了応答通知の連携済みを示す完了状況、を示す実行状況を記憶する実行状況記憶手段と、前記通信経路に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知を前記通知記憶手段に書き込んで当該処理呼び出し通知又は完了応答通知の連携を保留する保留手段と、連携許可通知を受けると、前記通知記憶手段内の処理呼び出し通知又は完了応答通知を前記通信経路に送出して前記保留を解除する保留解除手段と、前記保留手段による保留毎に、前記保留した処理呼び出し通知又は完了応答通知の保留状況を示すように、前記各処理実行装置の実行状況を前記実行状況記憶手段に書き込む実行状況書込手段と、前記保留手段による保留毎に、前記ワークフロー制約条件記憶手段内の制約条件と前記実行状況記憶手段内の実行状況とに基づいて、前記保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定するワークフロー制約条件判定手段と、前記判定の結果、連携を許可する場合、前記連携許可通知を前記保留解除手段に送出する連携許可通知送出手段と、前記連携許可通知が送出された場合、前記保留を解除した状況に対応して前記実行中状況又は完了状況を示すように、前記実行状況記憶手段内の実行状況を更新する手段と、を備えたワークフロー連携管理装置である。
【００１３】
なお、本発明の一つの局面は、装置として表現したが、これに限らず、方法、プログラム、又はプログラムを記憶したコンピュータ読み取り可能な記憶媒体として表現してもよい。
【００１４】
＜作用＞
従って、本発明の一つの局面においては、各処理実行装置とワークフロー実行管理装置との間の通信経路に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知の連携を保留し、ワークフロー制約条件記憶手段内の制約条件と実行状況記憶手段内の実行状況とに基づいて、当該保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定し、連携を許可する場合には保留を解除するようにしたので、複数のワークフロー間で疎結合性を維持しつつ処理の実行を連携させることができる。
【発明の効果】
【００１５】
以上説明したように本発明によれば、複数のワークフロー間で疎結合性を維持しつつ処理の実行を連携できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るワークフロー連携管理装置を備えたワークフロー実行システムの構成を示す模式図である。
【図２】同実施形態に係るワークフロー情報記憶部の構成を示す模式図である。
【図３】同実施形態に係るワークフロー制約条件記憶部の構成を示す模式図である。
【図４】同実施形態に係る実行状況記憶部の構成を示す模式図である。
【図５】同実施形態に係るワークフロー実行システムの動作を説明するためのシーケンス図である。
【図６】一般的な密結合のワークフローの構成を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の一実施形態について説明する。
【００１８】
図１は本発明の一実施形態に係るワークフロー連携管理装置を備えたワークフロー実行システムの構成を示す模式図である。このワークフロー実行システムは、ワークフロー実行管理装置１０、複数の処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３、処理実行連携部２３及び処理呼び出し／応答連携部（ワークフロー連携管理装置）２４を備えている。
【００１９】
ワークフロー実行管理装置１０は、ワークフロー情報記憶部２１Ａ・２１Ｂ及びワークフロー実行部２２Ａ・２２Ｂを備えており、処理実行連携部２３を介して複数の処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３及び処理呼び出し／応答連携部２４に通信可能となっている。
【００２０】
なお、ワークフロー実行管理装置１０及び処理呼び出し／応答連携部２４は、それぞれハードウェア構成とソフトウェア構成との組合せにより実現可能である。具体的には、予めコンピュータ読み取り可能な記憶媒体またはネットワークから得られた「ワークフロー実行管理プログラム」及び「処理呼び出し／応答連携プログラム」がそれぞれのコンピュータにインストールされることにより、ワークフロー実行管理装置１０及び処理呼び出し／応答連携部２４としての各機能が実現される。
【００２１】
複数の処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３は、複数のワークフローＷＡ・ＷＢに利用可能な基本的処理を実行する装置である。補足すると、各処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３は、処理実行連携部（通信経路）２３から受けた処理呼び出し通知に応じて各ワークフローの一部の処理を実行する機能と、当該処理の完了後に完了応答通知を処理実行連携部２３に送出する機能とをもっている。これらの各処理実行装置の組合せの順番から種々の業務処理が実行可能となる。ここでは、処理実行装置２０Ａ１〜２０Ａ３の処理によりワークフローＷＡが実行され、処理実行装置２０Ｂ１〜２０Ｂ３の処理によりワークフローＷＢが実行される。
【００２２】
ワークフロー情報記憶部２１Ａ・２１Ｂは、複数の処理実行装置２０Ａ１〜２０Ｂ３の組合せの処理順番から定義される「ワークフロー情報」に関し、複数のワークフロー情報を記憶する記憶装置である。要するに、ワークフロー情報には、業務手順における1つの処理単位の実行順序などが記述される。また、ワークフロー情報は、一般的には、BPEL(Business Process Execution Language)仕様に基づいて作成されたXML文書などが挙げられる。このワークフロー情報に記述された各処理実行装置による処理が実行されると、ワークフローが処理されたことになる。ここでは、図２に示すように、ワークフロー情報記憶部２１Ａには、ワークフロー情報ＩＡに関し、処理実行装置２０Ａ１〜２０Ａ３による処理Ａ１〜Ａ３が対応付けられる。同様に、ワークフロー情報記憶部２１Ｂには、ワークフロー情報ＩＢに関し、処理実行装置２０Ｂ１〜２０Ｂ３による処理Ｂ１〜Ｂ３が対応付けられる。なお、図１においてはワークフロー情報記憶部２１Ａ・２１Ｂが複数示されているが、単一のワークフロー情報記憶部２１にワークフロー情報が格納される形態でもよい。
【００２３】
ワークフロー実行部２２Ａ・２２Ｂは、ワークフロー情報記憶部２１Ａ・２１Ｂに記憶されたワークフロー情報ＩＡ・ＩＢの記述を解釈し、ワークフロー情報ＩＡ・ＩＢに対応する処理を実行するものであり、各処理実行装置２０Ａ１〜２０Ｂ３の処理順番に応じて処理呼び出し通知を処理連携実行部２３に送出し、完了応答通知を処理連携実行部２３から受ける機能をもっている。ワークフロー情報ＩＡ・ＩＢを実行する際、ワークフロー実行部２２Ａ・２２Ｂは、処理実行連携部２３を介して処理呼び出し／応答連携部２４に「処理呼び出し通知」を送出する。これによりワークフロー情報ＩＡ・ＩＢで定義された業務システムの運用が可能となる。なお、図１においては、ワークフロー実行部２２Ａ・２２Ｂが複数示されているが、単一のワークフロー実行部２２により処理される形態でもよい。この形態の場合、ワークフロー実行部２２において、複数のワークフロー情報が選択可能に選択される。
【００２４】
処理実行連携部２３は、各部２１〜２４を連携するものであり、データ搬送経路（通信経路）としての機能を有している。また、処理実行連携部２３は、後述するワークフロー制約条件判定部３１により実行可能であると判定された場合、各処理実行装置２０Ａ１〜２０Ｂ３による処理を実行させる。この処理実行連携部２３の最も典型的な実装としては、専用線やインターネットによるネットワークが想定される。また、より機能が豊富な実装としてはESB(Enterprise Service Bus)などが存在する。処理実行連携部２３へは、不特定多数の処理実行部からの接続が可能である。
【００２５】
処理呼び出し／応答連携部（ワークフロー連携管理装置）２４は、各処理実行装置２０Ａ１〜２０Ｂ３とワークフロー実行管理装置１０との間で処理呼び出し通知及び完了応答通知の連携を管理するものであり、ワークフロー実行部２２Ａ・２２Ｂから送出された処理呼び出し通知を処理実行連携部２３を介して受け取り、各処理実行部２０Ａ１〜２０Ｂ３に通知するか否かの判定を行なう。この処理呼び出し／応答連携部２４は、ワークフロー制約条件記憶部３１、実行状況記憶部３２、ワークフロー制約条件読込部３３、ワークフロー制約条件判定部３４、実行状況書込部３５、保留部３６及び通知記憶部３７を備えている。
【００２６】
ワークフロー制約条件記憶部３１は、各ワークフロー間で処理が連携する処理実行装置２０Ａ１〜２０Ｂ３についての「制約条件」を記憶する記憶装置である。制約条件には、処理呼び出し通知によって、呼び出された処理が実行されるのに必要な条件、処理が実行を完了した結果を完了応答通知として返すのに必要な条件、などが記述されている。言い換えると、ワークフロー制約条件記憶部３１は、処理呼び出し通知又は完了応答通知の連携に関し、他の処理の実行状況に応じて許可する旨の制約条件を記憶する。ここで、「他の処理の実行状況に応じて許可する旨の制約条件」は、例えば、「他の処理の完了応答通知が連携済みであれば許可する旨の制約条件」としてもよい。具体的には、ワークフロー制約条件記憶部３１には、図３に示すように、「処理Ｂ２が完了するまで処理Ａ２を呼び出しできない」や「処理Ａ３が完了するまで処理Ｂ３の応答を返せない」などの制約条件がワークフロー情報に関連付けられて記憶される。なお、このような制約条件は、例えば、操作者の操作により、処理呼び出し／応答連携部２４の入力部（図示せず）からワークフロー制約条件記憶部３１に書込可能となっている。
【００２７】
また、「他の処理の実行状況に応じて許可する旨の制約条件」は、前述した例に限らず、各ワークフローの処理を協調動作させるための前提条件を満たせば許可する旨の内容であればよい。例えば「他の処理の処理呼び出し通知を連携してから所定時間経過後であれば許可する旨の制約条件」、「他の処理の中間結果データ（例、デジタル署名等といった承認データ）を連携済みであれば許可する旨の制約条件」又は「他の処理の実行状況に対応する時間帯（他の処理の運用スケジュールの時間帯）に受信した通知であれば許可する旨の制約条件」等が適宜、使用可能となっている。また、制約条件における「〜であれば許可する旨」は「〜でなければ許可しない旨」を含んでいる。
【００２８】
実行状況記憶部３２は、図４に示すように、各ワークフロー情報ＩＡ・ＩＢにおける処理実行装置２０Ａ１〜２０Ｂ３による処理の「実行状況」を記憶する記憶装置である。換言すると、実行状況記憶部３２は、処理実行装置２０Ａ１〜２０Ｂ３の処理毎に、処理呼び出し通知の連携未済を示す未呼び出し状況、処理呼び出し通知の保留状況、完了応答通知の保留状況、処理呼び出し通知の連携済みを示す実行中状況、又は完了応答通知の連携済みを示す完了状況、を示す実行状況を記憶する。具体的には、実行状況記憶部３２は、ワークフロー情報を構成する各処理の名称毎に、“完了（応答済み）”、“保留（応答あり）”、“実行中（呼び出し済み）”又は“未呼び出し”の情報を実行状況として記憶する。なお、各ワークフロー情報ＩＡ・ＩＢにおける処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３による処理の実行状況がワークフローＷＡ・ＷＢの実行状況に対応する。また、“保留（応答あり）”、“実行中（呼び出し済み）”及び“未呼び出し”の情報は、“未完了”の情報にまとめてもよい。
【００２９】
ワークフロー制約条件読込部３３は、ワークフロー制約条件判定部３４に制御され、ワークフロー制約条件記憶部３１から制約条件を読み込む機能と、読み込んだ制約条件をワークフロー制約条件判定部３４に送出する機能とをもっている。なお、ワークフロー制約条件読込部３３は、ワークフロー制約条件判定部３４に一体化させてもよい。
【００３０】
ワークフロー制約条件判定部３４は、以下の各機能(f34-1)〜(f34-3)をもっている。  
(f34-1)  保留部３６による保留毎に、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定するワークフロー制約条件判定機能。なお、ここでは、ワークフロー制約条件記憶部３１内の制約条件は、ワークフロー制約条件読込部３３から送出された制約条件である。
【００３１】
(f34-2)  この判定の結果、連携を許可する場合、連携許可通知を保留部３６に送出する連携許可通知送出機能。
【００３２】
(f34-3)  連携許可通知を送出した場合、保留を解除した状況に対応して実行中状況又は完了状況を示すように、実行状況記憶部３２内の実行状況を更新する機能。
【００３３】
実行状況書込部３５は、ワークフロー実行部２２Ａ・２２Ｂからの各処理実行装置２０Ａ１〜２０Ｂ３への処理呼び出し通知、又は各処理実行装置２０Ａ１〜２０Ｂ３からの完了応答通知が処理実行連携部２３に送出された場合、実行状況記憶部３２に記憶された実行状況を更新するものである。補足すると、実行状況書込部３５は、保留部３６による保留毎に、保留した処理呼び出し通知又は完了応答通知の保留状況を示すように、各処理実行装置２０Ａ１〜２０Ｂ３の実行状況を実行状況記憶部３２に書き込む実行状況書込機能をもっている。
【００３４】
保留部３６は、処理実行連携部２３に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知を通知記憶部３７に書き込んで当該処理呼び出し通知又は完了応答通知の連携を保留する保留機能と、ワークフロー制約条件判定部３４から連携許可通知を受けると、通知記憶部３７内の処理呼び出し通知又は完了応答通知を処理実行連携部２３に送出して保留を解除する保留解除機能と、をもっている。また、保留部３６は、通知記憶部３７に書き込んだ処理呼び出し通知又は完了応答通知を実行状況書込部３５に送出する機能と、保留を解除すると共に、通知記憶部３７内の当該処理呼び出し通知又は完了応答通知を消去する機能とをもっていてもよい。
【００３５】
通知記憶部３７は、保留部３６から読出／書込可能なメモリであり、各処理実行装置２０Ａ１〜２０Ｂ３への処理呼び出し通知、又は各処理実行装置２０Ａ１〜２０Ｂ３からの完了応答通知を記憶するものである。
【００３６】
次に、以上のように構成されたワークフロー実行システムの動作を図５のシーケンス図を用いて説明する。
【００３７】
前提として、各ワークフロー情報記憶部２１Ａ・２１Ｂには、企業内の部門Ａ・Ｂ毎のワークフロー情報ＩＡ・ＩＢが記憶されており、始めに、ワークフロー実行部２２Ａによって、部門ＡのワークフローＷＡに適用されるワークフロー情報ＩＡが実行されるものとする。
【００３８】
かかる前提のもと、まず、ワークフロー実行部２２Ａは、ユーザの操作により、ワークフロー情報記憶部２１Ａから部門Ａのワークフロー情報ＩＡを読み出すと共に、ワークフロー情報ＩＡの処理呼び出し通知を処理実行連携部２３に送出する（Ｓ１）。この処理呼び出し通知は、処理実行連携部２３を介して処理呼び出し／応答連携部２４の保留部３６に受信される。
【００３９】
保留部３６は、処理呼び出し通知を受信すると、処理呼び出し通知を通知記憶部３７に書き込んで当該処理呼び出し通知の連携を保留すると共に、この処理呼び出し通知を実行状況書込部３５及びワークフロー制約条件判定部３４に送出する（Ｓ２）。
【００４０】
実行状況書込部３５は、この処理呼び出し通知の保留状況を示すように、処理実行装置２０Ａ１の実行状況を実行状況記憶部３２に書き込む。
【００４１】
ワークフロー制約条件判定部３４では、ワークフロー制約条件読込部３３により、ワークフロー制約条件記憶部３１からワークフロー情報ＩＡに対応する制約条件を読み込む。ワークフロー制約条件読込部３３により読み込まれた制約条件は、ワークフロー制約条件判定部３４に送出される（Ｓ３）。
【００４２】
続いて、ワークフロー制約条件判定部３４は、実行状況記憶部３２から、ワークフロー情報ＩＡに対応する実行状況を読み込む（Ｓ４）。具体的には、ワークフローＷＡに関する各処理Ａ１〜Ａ３の処理順番に従って、実行状況に“完了”の記録が書き込まれているか否かを読み込む。
【００４３】
そして、ワークフロー制約条件判定部３４は、制約条件と実行状況とに基づいて、保留した処理呼び出し通知の連携を許可するか否かを判定する。
【００４４】
ここでは、「ワークフロー情報Ｂの処理Ｂ２が完了するまでワークフロー情報Ａの処理Ａ２を呼び出しできない。」といった制約条件がワークフロー制約条件記憶部３１に記憶されているものとする。
【００４５】
この場合、処理Ａ１に対しては制約条件が存在しないので、ワークフロー制約条件判定部３４は、連携を許可する旨を判定し、連携許可通知を保留部３６に送出する。また、ワークフロー制約条件判定部３４は、保留を解除した状況に対応して実行中状況を示すように、実行状況記憶部３２内の実行状況を更新する。
【００４６】
保留部３６は、連携許可通知を受けると、通知記憶部３７内の処理呼び出し通知を処理実行連携部２３に送出して保留を解除する。この処理Ａ１の処理呼び出し通知は、処理実行連携部２３を介して処理実行装置２０Ａ１に送出される（Ｓ５）。
【００４７】
処理実行装置２０Ａ１は、処理呼び出し通知を受けると、処理Ａ１を実行する（Ｓ６）。処理Ａ１の実行後、処理実行装置２０Ａ１は、完了応答通知を処理実行連携部２３に送出する。この完了応答通知は、処理実行連携部２３を介して処理呼び出し／応答連携部２４の保留部３６に受信される。
【００４８】
保留部３６は、完了応答通知を受信すると、完了応答通知を通知記憶部３７に書き込んで当該完了応答通知の連携を保留すると共に、この完了応答通知を実行状況書込部３５及びワークフロー制約条件判定部３４に送出する。
【００４９】
実行状況書込部３５は、この完了応答通知の保留状況を示すように、処理実行装置２０Ａ１の実行状況を実行状況記憶部３２に書き込む（Ｓ７，Ｓ８）。ここでは、完了応答通知に基づき、処理Ａ１の実行状況が“実行中”から“完了”に書き換えられる。
【００５０】
ワークフロー制約条件判定部３４は、保留部３６による保留毎に、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、保留した完了応答通知の連携を許可するか否かを判定する。ここでは、前述した通り、処理Ａ１には制約条件が存在しないので、ワークフロー制約条件判定部３４は、連携を許可する旨を判定し、連携許可通知を保留部３６に送出する。また、ワークフロー制約条件判定部３４は、保留を解除した状況に対応して完了状況を示すように、実行状況記憶部３２内の実行状況を更新する。
【００５１】
保留部３６は、連携許可通知を受けると、通知記憶部３７内の完了応答通知を処理実行連携部２３に送出して保留を解除する。この処理Ａ１の完了応答通知は、処理実行連携部２３を介してワークフロー実行部２２Ａに送出される（Ｓ−Ａ１）。
【００５２】
ワークフロー実行部２２Ａは、処理Ａ１の完了応答通知を受けると、原則として、処理順番に従って、処理実行装置２０Ａ２に対する処理Ａ２の処理呼び出し通知を処理実行連携部２３に送出する（Ｓ９）。この処理呼び出し通知は、処理実行連携部２３を介して処理呼び出し／応答連携部２４の保留部３６に受信される。
【００５３】
保留部３６は、前述同様に、処理呼び出し通知を通知記憶部３７に書き込んで保留すると共に、この処理呼び出し通知を実行状況書込部３５及びワークフロー制約条件判定部３４に送出する（Ｓ１０）。
【００５４】
実行状況書込部３５は、この処理呼び出し通知の保留状況を示すように、処理実行装置２０Ａ２の実行状況を実行状況記憶部３２に書き込む。すなわち、処理呼び出し通知に基づき、処理Ａ２の実行状況が“未呼び出し”から“保留（呼び出しあり）”に書き換えられる。
【００５５】
ワークフロー制約条件判定部３４は、前述同様に、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、保留した処理呼び出し通知の連携を許可するか否かを判定する（Ｓ１１，Ｓ１２）。ただし、処理Ａ２に対しては制約条件があり、ワークフロー情報ＩＢの処理Ｂ２の実行状況に完了記録が書き込まれていない場合、処理Ａ２の処理呼び出し通知の連携を許可しない旨が判定される（Ｓ１３）。この場合、処理Ａ２に対する処理呼び出し通知は、処理実行装置２０Ａ２に送出されず、部門Ｂのワークフロー情報ＩＢにおける処理Ｂ２が実行されるまで保留の状態となる。
【００５６】
一方、処理実行装置２０Ｂ２により処理Ｂ２が実行されると（Ｓ１４〜Ｓ１９）、処理実行装置２０Ｂ２から処理実行連携部２３に完了応答通知が送出される。この完了応答通知は、処理実行連携部２３を介して処理呼び出し／応答連携部２４の保留部３６に受信される。
【００５７】
保留部３６は、完了応答通知を受信すると、完了応答通知を通知記憶部３７に書き込んで当該完了応答通知の連携を保留すると共に、この完了応答通知を実行状況書込部３５及びワークフロー制約条件判定部３４に送出する。
【００５８】
実行状況書込部３５は、この完了応答通知の保留状況を示すように、処理実行装置２０Ｂ２の実行状況を実行状況記憶部３２に書き込む（Ｓ２０，Ｓ２１）。ここでは、完了応答通知に基づき、処理Ｂ２の実行状況が“実行中”から“完了”に書き換えられる。
【００５９】
ワークフロー制約条件判定部３４は、前述同様に、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、保留した完了応答通知の連携を許可するか否かを判定する。ここでは、処理Ｂ２には制約条件が存在しないので、ワークフロー制約条件判定部３４は、連携を許可する旨を判定し、連携許可通知を保留部３６に送出する。
【００６０】
保留部３６は、連携許可通知を受けると、通知記憶部３７内の完了応答通知を処理実行連携部２３に送出して保留を解除する。この処理Ｂ２の完了応答通知は、処理実行連携部２３を介してワークフロー実行部２２Ｂに送出される（Ｓ−Ｂ２）。
【００６１】
一方、ステップＳ２１における処理Ｂの実行状況の“完了”への書換えに伴い、ワークフロー制約条件判定部３４は、処理Ａ２に関して処理呼び出し通知の連携を許可する旨を判定し、連携許可通知を保留部３６に送出する。また、ワークフロー制約条件判定部３４は、保留を解除した状況に対応して実行中状況を示すように、実行状況記憶部３２内の実行状況を更新する。
【００６２】
保留部３６は、連携許可通知を受けると、通知記憶部３７内の処理呼び出し通知を処理実行連携部２３に送出して保留を解除する。この処理Ａ２の処理呼び出し通知は、処理実行連携部２３を介して処理実行装置２０Ａ２に送出される（Ｓ２２）。
【００６３】
処理実行装置２０Ａ２は、処理呼び出し通知を受けると、処理Ａ２を実行する（Ｓ２３）。処理Ａ２の実行後、処理実行装置２０Ａ２は、完了応答通知を処理実行連携部２３に送出する。この完了応答通知は、処理実行連携部２３を介して処理呼び出し／応答連携部２４の保留部３６に受信される。
【００６４】
保留部３６は、完了応答通知を受信すると、完了応答通知を通知記憶部３７に書き込んで当該完了応答通知の連携を保留すると共に、この完了応答通知を実行状況書込部３５及びワークフロー制約条件判定部３４に送出する。
【００６５】
実行状況書込部３５は、この完了応答通知の保留状況を示すように、処理実行装置２０Ａ１の実行状況を実行状況記憶部３２に書き込む（Ｓ２４）。ここでは、完了応答通知に基づき、処理Ａ２の実行状況が“実行中”から“完了”に書き換えられる。
【００６６】
ワークフロー制約条件判定部３４は、保留部３６による保留毎に、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、保留した完了応答通知の連携を許可するか否かを判定する。ここでは、処理Ａ２には制約条件が存在しないので、ワークフロー制約条件判定部３４は、連携を許可する旨を判定し、連携許可通知を保留部３６に送出する。また、ワークフロー制約条件判定部３４は、保留を解除した状況に対応して完了状況を示すように、実行状況記憶部３２内の実行状況を更新する。
【００６７】
保留部３６は、連携許可通知を受けると、通知記憶部３７内の完了応答通知を処理実行連携部２３に送出して保留を解除する。この処理Ａ２の完了応答通知は、処理実行連携部２３を介してワークフロー実行部２２Ａに送出される（Ｓ−Ａ２）。
【００６８】
ワークフロー実行部２２Ａは、処理Ａ２の完了応答通知を受けた後、処理実行装置２０Ａ３についても処理実行装置２０Ａ１・２０Ａ２と同様の処理を行ない、ワークフロー情報ＩＡの全ての処理を実行する。
【００６９】
また、ワークフロー実行部２２Ｂは、処理Ｂ２の完了応答通知を受けた後、処理実行装置２０Ｂ３についても処理実行装置２０Ｂ２と同様の処理を行ない、ワークフロー情報ＩＢの全ての処理を実行する。但し、処理呼び出し／連携部２４は、図３に示した制約条件に基づき、処理Ａ３の完了応答通知を受信するまでは、処理実行装置２０Ｂ３から受けた処理Ｂ３の完了応答通知を連携させずに保留しておき、処理Ａ３の完了応答通知の受信に伴い、処理Ｂ３の完了応答通知の保留を解除し、処理Ｂ３の完了応答通知を処理実行連携部２３からワークフロー実行部２２Ｂに送出する。
【００７０】
上述したように本実施形態によれば、処理呼び出し／応答連携部２４においては、各処理実行装置２０Ａ１〜２０Ａ３・２０Ｂ１〜２０Ｂ３とワークフロー実行管理装置１０との間の処理実行連携部（通信経路）２３に送出された処理呼び出し通知又は完了応答通知を受信する毎に、当該処理呼び出し通知又は完了応答通知の連携を保留し、ワークフロー制約条件記憶部３１内の制約条件と実行状況記憶部３２内の実行状況とに基づいて、当該保留した処理呼び出し通知又は完了応答通知の連携を許可するか否かを判定し、連携を許可する場合には保留を解除するようにしたので、複数のワークフロー情報ＩＡ・ＩＢの間で疎結合性を維持しつつ処理の実行を連携させることができる。
【００７１】
換言すると、ワークフロー情報ＩＡを実行するための各処理実行装置２０Ａ１〜２０Ａ３と、ワークフロー情報ＩＢを実行するための各処理実行装置２０Ｂ１〜２０Ｂ３との連携が可能となるため、互いに独立して関連がなく定義されたワークフロー同士の協調した実行が可能となる。
【００７２】
また、処理呼び出し／応答連携部２４は、処理実行連携部（通信経路）２３を監視し、処理実行連携部２３に送出された処理呼び出し通知又は完了応答通知をワークフロー制約条件に応じて一時的に保留する構成であるので、既存のワークフローや処理を実現する処理実行装置２０Ａ１〜２０Ｂ３に対して変更を加えることなく処理実行の連携を行うことが可能になる。すなわち、各ワークフロー間で疎結合性を保ったまま処理を連携できる。
【００７３】
補足すると、処理呼び出し通知や完了応答通知が処理実行連携部２３を経由して伝送させる形態であれば、制約条件に応じて処理呼び出し通知や完了応答通知を遅延させることにより、全てのワークフローを、ワークフローの定義やワークフローシステム自体（ワークフロー実行管理装置１０及び処理実行装置２０Ａ１〜２０Ｂ３自体）に改修を加えることなく、連携させることができるようになる。
【００７４】
なお、本実施形態に係る処理呼び出し／応答連携部２４は、主に業務管理を対象としたワークフローシステムに対して有益なものであるが、これに限るものでなく、その他のフローチャートベースのシステムや、独立した機能同士の連携が必要となるシステムに対しても有益である。例えば、ロボティクスへの応用などがあり、各部位が独立したルールに基づいて駆動するロボットの自律的な制御や、それらロボット同士の連携した動作などが考えられる。
【００７５】
なお、密結合のワークフロー同士では、図６に示すように、互いの処理を考慮して実装する必要がある。これに対し、本実施形態に係る処理呼び出し／応答連携部２４によれば、それぞれが独立に実行され、互いに密結合でないワークフローから呼び出される各処理実行装置２０Ａ１〜２０Ｂ３による処理の協調動作が保障されることになる。そのため、ワークフロー自体には手を加えることなく、それぞれの独立性を保ったままにワークフロー内の処理を協調動作させることができる。結果として、ワークフローの汎用性・再利用性を保持したままに、低コストでワークフローの協調した実行が実現可能である。
【００７６】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【００７７】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００７８】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００７９】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００８０】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００８１】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００８２】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００８３】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【符号の説明】
【００８４】
１０・・・ワークフロー実行管理装置、２０Ａ１〜２０Ａ３，２０Ｂ１〜２０Ｂ３・・・処理実行装置、２１Ａ，２１Ｂ・・・ワークフロー情報記憶部、２２Ａ，２２Ｂ・・・ワークフロー実行部、２３・・・処理実行連携部、２４・・・処理呼び出し／応答連携部、３１・・・ワークフロー制約条件記憶部、３２・・・実行状況記憶部、３３・・・ワークフロー制約条件読込部、３４・・・ワークフロー制約条件判定部、３５・・・実行状況書込部。
【図１】
2011209921.tif 000003
【図２】
2011209921.tif 000004
【図３】
2011209921.tif 000005
【図４】
2011209921.tif 000006
【図５】
2011209921.tif 000007
【図６】
2011209921.tif 000008