(57)【特許請求の範囲】
【請求項１】
異なる処理装置で実行されるプロセス間を連携するプロセス連携方法において、
一の処理装置が、プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従ってプロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、前記副プロセス定義中に当該副プロセス定義を転送する前記他の処理装置を示す転送情報があるかどうか確認し、
前記転送情報があった場合、転送情報が、特定の一の処理装置を示す時はその処理装置に、複数の処理装置を示す場合には複数の処理装置に、処理装置を特定しない場合には任意の処理装置に対して、前記副プロセス定義に含まれるサービスの有無を問い合わせ、
前記問い合わせされた処理装置が前記サービスを有している場合、その処理装置の一に前記副プロセス定義を転送して前記副プロセスに定義されているプロセスの実行単位を実行させる
ことを特徴とするプロセス連携方法。
【請求項２】
他の組織の処理装置に対して副プロセス定義を転送することを特徴とする請求項１記載のプロセス連携方法。
【請求項３】
副プロセス定義の転送処理を識別する識別情報を生成し、前記副プロセス定義とともに前記識別情報を転送することを特徴とする請求項１または請求項２記載のプロセス連携方法。
【請求項４】
ネットワークと接続され、データ通信を行う通信手段と、
プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段と、
プロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、前記副プロセス定義中に当該副プロセス定義を転送する前記他の処理装置を示す転送情報があるかどうか確認し、前記転送情報があった場合、転送情報が、特定の一の処理装置を示す時はその処理装置に、複数の処理装置を示す場合には複数の処理装置に、処理装置を特定しない場合には任意の処理装置に対して、前記副プロセス定義に含まれるサービスの有無を問い合わせ、前記問い合わせされた処理装置が前記サービスを有している場合、その処理装置の一に前記副プロセス定義を転送する転送処理手段とを備えた
ことを特徴とするプロセス処理装置。
【請求項５】
ネットワークと接続され、データ通信を行う通信手段と、
プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段と、
プロセスを実行単位毎に実行しているときに、所定の実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、前記副プロセス定義中に当該副プロセス定義を転送する前記他の処理装置を示す転送情報があるかどうか確認し、前記転送情報があった場合、転送情報が、特定の一の処理装置を示す時はその処理装置に、複数の処理装置を示す場合には複数の処理装置に、処理装置を特定しない場合には任意の処理装置に対して、前記副プロセス定義に含まれるサービスの有無を問い合わせ、前記問い合わせされた処理装置が前記サービスを有している場合、その処理装置の一に前記副プロセス定義を転送する転送処理手段とを含む一の処理装置と、
前記ネットワークと接続され、データ通信を行う通信手段と、
前記転送処理手段から転送された前記副プロセス定義に従って、当該副プロセスを実行単位毎に実行するプロセス実行手段とを含む他の処理装置と
を備えたことを特徴とするプロセス連携システム。
【請求項６】
一の処理装置は一の組織内に設けられ、他の処理装置は他の組織内に設けられたことを特徴とする請求項５記載のプロセス連携システム。
【請求項７】
一の処理装置の転送処理手段は、副プロセス定義の転送処理を識別する識別情報を生成し、前記副プロセス定義とともに前記識別情報を転送することを特徴とする請求項５または請求項６記載のプロセス連携システム。
【請求項８】
プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行する処理と、
プロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、前記副プロセス定義中に当該副プロセス定義を転送する前記他の処理装置を示す転送情報があるかどうか確認する処理と、
前記転送情報があった場合、転送情報が、特定の一の処理装置を示す時はその処理装置に、複数の処理装置を示す場合には複数の処理装置に、処理装置を特定しない場合には任意の処理装置にたいして、前記副プロセス定義に含まれるサービスの有無を問い合わせる処理と、
前記問い合わせされた処理装置が前記サービスを有している場合、その処理装置の一に前記副プロセス定義を転送する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる装置間で実行される、ワークフローにおけるプロセス間を連携するプロセス連携方法、プロセス連携システム、プロセス処理装置及びプログラムに関する。
【０００２】
【従来の技術】
（１）ワークフロー
ワークフローとは、複数の担当者がネットワークを経由して仕事（業務）をする際に、作業を円滑に進めるために、担当者間で受け渡すドキュメントや情報等の流れを管理し、自動化することである。
【０００３】
例えば、電子商取引の発注業務では、発注データの作成、発注データのデータベース保存、発注データの予算承認、通信用の発注データ形式変換、発注先へのデータ送信、発注先の受領確認、発注先からの受諾受信、及び納品後の発注処理の完了などというようなビジネスプロセスが存在する。
【０００４】
このように、電子商取引等においては、ドキュメントや情報等を媒介にして複数のプロセス（作業）が連携しており、ドキュメントや情報等が担当者から担当者へ引き継がれる。ワークフローでは、そのようなドキュメントや情報等の流れを管理し、自動化する。
【０００５】
（２）プロセス統合システム
上記のような電子商取引等におけるワークフローを実現する際に、ビジネスプロセスを統合するシステムが、プロセス統合システムである。プロセス統合システムは、複数のプロセス処理装置から構成される。プロセス統合システムは、複数のプロセス処理装置間において、プロセス処理装置または人間系（担当者）が実行する一連のプロセス操作（処理）を管理し、プロセスを構成する各プロセス操作の実行順序の制御または複数のプロセス間の同期を制御する。
【０００６】
プロセス処理装置は、ユーザによって予め定義されたプロセス定義（プロセス定義データ）を備えている。プロセス定義は、作業（プロセス）の実行単位（アクティビティ）毎の作業内容、開始及び終了の条件、担当者、関連するアプリケーションプログラムとデータ等を定義する。また、プロセス定義は、実行単位間の順序関係も定義する。各プロセス処理装置は、プロセス定義を解釈して、プロセスを実行単位毎に実行する。
【０００７】
プロセス定義に初期データを与えてワークフローを開始することは、起票またはプロセス生成と呼ばれる。また、生成された実体は、プロセスインスタンスまたは単にプロセスと呼ばれる。ユーザがプロセス定義を使用して複数回起票を行うと、起票の回数分のプロセスインスタンスが生成される。プロセス処理装置は、複数のプロセスインスタンスをプロセスＩＤという識別子によって識別する。プロセスＩＤは、プロセス生成時に生成される。プロセス処理装置は、生成されたプロセスインスタンスにプロセスＩＤを割り当て、そのプロセスＩＤによってプロセスインスタンスを識別して管理する。
【０００８】
また、プロセス処理装置は、プロセスインスタンスに割り当てられたプロセスＩＤを仲介として、自身のプロセスインスタンスを異なるプロセス処理装置のプロセスインスタンスと結合させて、プロセス間の連携を図る。
【０００９】
一般に、プロセス処理装置がプロセス定義を参照して実行するプロセスの処理には、次のようなパターンがある。図８は、プロセスの処理パターンを示すブロック図である。図８の例では、プロセスの処理が開始されると、無条件に「処理１」が実行される。このように、無条件に引き継がれる処理を単純処理という。次に、「分岐１」で処理が分岐される。このような処理を分岐処理という。次に、「処２」と「処理３」は非同期に処理が進行する。このような処理を並行処理という。次に、「合流１」で処理が合流する。このとき、所定のタイミングで同期がとられる。このような処理を同期処理という。
【００１０】
（３）企業内プロセスと企業間プロセス
ところで、プロセス統合システムは、企業内のビジネスプロセスを統合するだけでなく、企業間での電子商取引等を実現するために、企業間のビジネスプロセスも統合する。図９は、企業間のプロセスを統合するプロセス統合システムの構成を示す構成図である。図９に示すように、プロセス統合システムは、企業に設けられたプロセス処理装置１，２と、他の企業に設けられたプロセス処理装置３，４とがネットワーク１００を介して接続されている。
【００１１】
ここで、プロセス統合システムが統合するプロセスは、企業内に関わるプロセスと、企業間の連携に関わるプロセスに分けられる。そして、企業内に関わるプロセスと企業間の連携に関わるプロセスとは、異なるプロセス処理装置で実行される。
【００１２】
例えば、上記の発注業務のプロセスは、発注データの作成、発注データの予算承認等の企業内に関わるプロセスと、発注データの形式変換、再送や受信タイムアウト処理等の企業間の連携に関わるプロセスとに分けられる。
【００１３】
企業内に関わるプロセスでは、データベースやデータウェアハウスなどに格納された企業内のデータが扱われる。このようなデータには、社外秘のデータ等も含まれる。従って、かかるデータが外部に漏れることがないように、企業内に関わるプロセスを処理するプロセス処理装置に対して厳重なセキュリティ上の防御策が講じられる。
【００１４】
一方、企業間の連携に関わるプロセスでは、ネットワーク１００を介して異なる企業のプロセス処理装置間でデータがやり取りされる。すなわち、企業間の連携に関わるプロセスを処理するプロセス処理装置は、他の企業のプロセス処理装置との間でデータ通信できるように構成される。従って、企業間の連携に関わるプロセスを処理するプロセス処理装置に対しては、厳重なセキュリティ上の防御策を講じる必要はない。
【００１５】
このように、企業内で扱うデータのセキュリティ面を考慮して、企業内に関わるプロセスと企業間の連携に関わるプロセスとは、異なるプロセス処理装置で実行される。図９の構成では、例えば、プロセス処理装置１が企業内に関わるプロセスを実行し、プロセス処理装置２が企業間の連携に関わるプロセスを実行する。
【００１６】
図１０は、企業内プロセスと企業間プロセスの実行例を示す説明図である。図１０に示す例では、プロセス（ａ）（ｂ）及び（ｆ）（ｇ）は、企業内に関わるプロセスである。このプロセス（ａ）（ｂ）及び（ｆ）（ｇ）は、企業内のＬＡＮ（Local Area Network）に接続されたプロセス処理装置（例えば、図９のプロセス処理装置１）によって処理される。企業内ＬＡＮは、図９に示すように、二重のファイアウォール内に設けられ、厳重なセキュリティ上の防御策が講じられている。
【００１７】
プロセス（ｃ）（ｄ）（ｅ）は、企業間の連携に関わるプロセスである。このプロセス（ｃ）（ｄ）（ｅ）は、ＤＭＺ（Demilitarized Zone；非武装地帯）内に設けられたプロセス処理装置（例えば、図９のプロセス処理装置２）によって処理される。ＤＭＺは、図９に示すように、一重のファイアウォールしか設けられていない。
【００１８】
企業内ＬＡＮに接続されたプロセス処理装置は、ワークフロー処理が開始されると、データベース等に格納されたローカルリソースを参照して、企業内に関わるプロセス（ａ）（ｂ）を順に実行する。ここで、企業内のローカルリソースは、二重のファイアウォールで守られているため、外部からアクセスすることはできない。
【００１９】
その後、企業のＤＭＺ内のプロセス処理装置は、他の企業との連携に関わるプロセス（ｃ）（ｄ）（ｅ）を順に実行する。このとき、プロセス処理装置は、他の企業のプロセス処理装置（例えば図９のプロセス処理装置４）とインターネットを介してデータ通信を行う。企業内ＬＡＮに接続されたプロセス処理装置は、プロセス（ｅ）の実行結果に基づき、企業内に関わるプロセス（ｆ）（ｇ）を実行する。そして、処理が終了される。
【００２０】
なお、以上のような企業間のビジネスプロセスを統合する場合、各企業の自律性、独立性を確保するため、ビジネスプロセスの全ては互いに公開しない。企業間の連携に関わるプロセスのみが互いに公開される。
【００２１】
【発明が解決しようとする課題】
企業間に関わるビジネスプロセスについて、ビジネスプロトコルは、ロゼッタネット（RosettaNet）のＰＩＰ（Partner Interface Process ）やｅｂＸＭＬ（electronic business ＸＭＬ）を始めとするＸＭＬ（eXtensible Markup Language）による商取引データ交換のための形式と手順がある。ところが、このような規格は、仕様の変更や更新が頻繁に行われる。また、業界標準も確立していない。
【００２２】
こうした状況において、プロセス統合システムを基盤とするアプリケーション、すなわちプロセス統合システム上で動作するアプリケーション（例えば発注業務アプリケーション）を構築した場合、プロセス間が密に連携しているので、ビジネスプロトコルの変更がアプリケーションに影響してしまう。従って、アプリケーションの仕様変更が必要になってしまう。このため、プロセス間連携の容易な変更が必要とされる。
【００２３】
しかし、従来では、上記したように、プロセス統合システムにおける各プロセス処理装置には、予めプロセス定義が保管される。各プロセス処理装置は、プロセス定義に従ってプロセスの各処理を実行する。また、各プロセス処理装置で実行されるプロセスインスタンスはプロセスＩＤによって結合され、プロセス間の連携が図られる。従って、プロセス処理装置は、プロセスの次の処理を実行するためのプロセス定義を備えたプロセス処理装置に対してプロセスインスタンスの引き継ぎを行う。すなわち、プロセス処理装置は、そのようなプロセス定義を備えたプロセス処理装置でなければ、プロセスの引き継ぎを行うことができない。換言すれば、各プロセス処理装置のプロセス定義間の関係が静的に結合していなければならない。
【００２４】
従って、ユーザが、プロセス定義の更新等のように、プロセスの実行環境を変更したい場合であっても、システムの運用中にプロセス定義を動的に変更できない。この場合、ユーザは、システムを停止した上で、プロセス定義を変更し、プロセス処理装置に再登録する必要がある。
【００２５】
また、システムの運用中にプロセス処理装置に障害が発生したり、特定のプロセス処理装置に大きな負荷がかかってしまうことも起こり得る。この場合、ユーザは、故障したプロセス処理装置を新たな別のプロセス処理装置に置き換えたり、また別のプロセス処理装置を追加して負荷を分散させたりする。しかし、上記のように、各プロセス処理装置のプロセス定義間の関係が静的に結合していなければならない。従って、ユーザは、対応するプロセス定義をプロセス処理装置に登録する必要がある。このため、ユーザは、システムを停止しなければ、プロセス処理装置の構成を変更することができない。
【００２６】
本発明は、上記のような課題を解決するためになされたものであり、プロセス定義及びプロセス処理装置の構成を動的に変更することができるプロセス連携方法、プロセス連携システム、プロセス処理装置及びプログラムを得ることを目的とする。
【００２７】
【課題を解決するための手段】
以上の目的を達成するため、本発明のプロセス連携方法は、異なる処理装置で実行されるプロセス間を連携するプロセス連携方法において、一の処理装置が、プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従ってプロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、副プロセス定義中に当該副プロセス定義を転送する他の処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、副プロセス定義に含まれるサービスの有無を他の処理装置に問い合わせ、他の処理装置がサービスを有している場合、他の処理装置に副プロセス定義を転送して副プロセスに定義されているプロセスの実行単位を実行させることを特徴とする。
【００２８】
他の組織の処理装置に対して副プロセス定義を転送する場合は、異なる組織における処理装置間でもプロセス定義間の関係を動的に結合することができることになる。
【００２９】
副プロセス定義の転送処理を識別する識別情報（転送処理識別情報）を生成し、副プロセス定義とともに識別情報を転送する。このような構成によれば、確実に副プロセスを他の副プロセスから識別でき、処理装置間におけるプロセスの連携を確実に行うことができる。
【００３０】
本発明のプロセス処理装置は、ネットワークと接続され、データ通信を行う通信手段と、プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段と、プロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、副プロセス定義中に当該副プロセス定義を転送する他の処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、副プロセス定義に含まれるサービスの有無を他の処理装置に問い合わせ、他の処理装置がサービスを有している場合、他の処理装置に副プロセス定義を転送する転送処理手段とを備えたことを特徴とする。
【００３１】
本発明のプロセス連携システムは、ネットワークと接続され、データ通信を行う通信手段（通信部１１）と、プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段（プロセス実行部１２）と、プロセスを実行単位毎に実行しているときに、所定の実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、副プロセス定義中に当該副プロセス定義を転送する他の処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、副プロセス定義に含まれるサービスの有無を他の処理装置に問い合わせ、他の処理装置がサービスを有している場合、他の処理装置に副プロセス定義を転送する転送処理手段（転送処理部１３）とを含む一の処理装置（プロセス処理装置１０）と、ネットワークと接続され、データ通信を行う通信手段（通信部２１）と、転送処理手段から転送された副プロセス定義に従って、当該副プロセスを実行単位毎に実行するプロセス実行手段（プロセス実行部２２）とを含む他の処理装置（プロセス処理装置）とを備えたことを特徴とする。
【００３２】
一の処理装置（プロセス処理装置４０）は一の組織内に設けられ、他の処理装置（プロセス処理装置６０）は他の組織内に設けられた場合は、異なる組織における処理装置間でもプロセス定義間の関係を動的に結合することができることになる。
【００３３】
一の処理装置の転送処理手段は、副プロセス定義の転送処理を識別する識別情報（転送処理識別情報）を生成し、副プロセス定義とともに識別情報を転送する。このような構成によれば、確実に副プロセスを他の副プロセスから識別でき、処理装置間におけるプロセスの連携を確実に行うことができる。
【００３４】
一の処理装置の転送処理手段は、副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を他の処理装置に問い合わせる。このような構成によれば、副プロセスの実行不可能な処理装置に対する副プロセス定義の転送を未然に回避することができる。
【００３５】
本発明のプログラムは、プロセスの実行単位の関係付けにより複数の実行単位の順序を定義したプロセス定義に従って、プロセスを実行単位毎に実行する処理と、プロセスを実行単位毎に実行しているときに、所定のプロセスの実行単位に他の処理装置によって実行されるプロセスの実行単位をグループ化した副プロセス定義が含まれていると判断した場合、副プロセス定義中に当該副プロセス定義を転送する他の処理装置を示す転送情報があるかどうか確認する処理と、転送情報があった場合、副プロセス定義に含まれるサービスの有無を他の処理装置に問い合わせる処理と、他の処理装置がサービスを有している場合、他の処理装置に副プロセス定義を転送する処理とをコンピュータに実行させる。
【００３７】
【発明の実施の形態】
以下、本発明の実施の一形態を図面を参照して説明する。
実施の形態１．
図１は、本発明のプロセス統合システムの構成を示すブロック図である。なお、プロセス連携システムは、プロセス処理装置間のプロセスの連携処理を実行するシステムである。従って、プロセス連携システムの最小構成単位は、二つのプロセス処理装置である。一方、プロセス統合システムは、所定業務における全てのプロセスを統合し処理するシステムである。従って、プロセス統合システムは、所定業務の全てのプロセスの処理をカバーするように、複数のプロセス処理装置で構成される。
【００３８】
図１の構成の場合、プロセス連携システムは、２つのプロセス処理装置、例えばプロセス処理装置１０及びプロセス処理装置２０から構成される。プロセス統合システムは、全てのプロセス処理装置１０〜３０から構成される。
【００３９】
なお、図１に示すプロセス統合システムは、企業内における業務のプロセスを統合するシステムである。従って、各プロセス処理装置１０〜３０は、特定の企業内に設けられている。
【００４０】
図１に示す構成において、プロセス処理装置１０は、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置１０は、他のプロセス処理装置２０，３０と企業内ＬＡＮ等のネットワーク２００を介して接続されている。プロセス処理装置１０は、通信部１１、プロセス実行部１２、転送処理部１３、制御プログラム格納部１４、プロセス定義ファイル格納部１５、サービス情報リスト格納部１６、及びアプリケーション格納部１７を備えている。
【００４１】
通信部１１は、ネットワーク２００に接続され、ネットワーク２００を介して他のプロセス処理装置２０，３０とデータ通信を行う。プロセス実行部１２は、プロセス定義ファイル格納部１５に格納されたプロセス定義に従って、プロセスを実行単位毎に実行する。転送処理部１３は、他のプロセス処理装置２０，３０に対するプロセス（副プロセス）の転送処理を実行・制御する。
【００４２】
制御プログラム格納部１４は、プロセス処理装置１０におけるプロセス実行処理及び転送処理を制御する制御プログラムを格納する。プロセス定義ファイル格納部１５は、プロセス実行部１２によってプロセスを実行する際に参照されるプロセス定義が記憶されたプロセス定義ファイルを格納する。
【００４３】
図２は、プロセス定義の具体例を示す図である。図２に示すように、プロセス定義は、細分化されたプロセスの実行単位（アクティビティ）の列挙から構成される。プロセス定義は、実行単位の関係付けにより実行単位の流れ（順序）を定義する。プロセス定義には、当該プロセス定義のサービス（プロセス定義名）を示すサービス情報が含まれている。また、プロセス定義は、階層化され、他のプロセス処理装置２０が実行するプロセス処理のまとまりとして、実行単位をグループ化した副プロセス定義（サブプロセス定義）を含んでいる。
【００４４】
図３は、副プロセス定義の具体例を示す図である。図３に示すように、副プロセス定義には、プロセスの実行単位の列挙の他に、転送情報及びサービス情報が含まれている。転送情報は、転送処理部１３によるサービス情報の問い合わせ対象のプロセス処理装置、すなわち副プロセス定義の転送対象の処理装置を示す情報である。具体的には、サービス情報の問い合わせ対象のプロセス処理装置として一のプロセス処理装置が予め特定されている場合は、転送情報は、その特定されたプロセス処理装置のＵＲＬまたはアドレス、ホスト名、ポート番号等の情報である。また、一のプロセス処理装置が特定されていない場合は、転送情報は、サービス情報の問い合わせ対象の複数のプロセス処理装置のリストの情報である。
【００４５】
サービス情報は、副プロセス定義のサービス（プロセス定義名）を示す情報である。このサービス情報は、副プロセス定義のプロセスを実行可能なプロセス処理装置を確認するために利用される。
【００４６】
サービス情報リスト格納部１６は、プロセス処理装置１０が備えているサービス情報の一覧であるサービス情報リストを格納する。図４は、サービス情報リストの具体例を示す図である。図４に示す例では、サービス情報リスト格納部１６には、５つのサービス１〜５が格納されている。サービス１は「ＨＴＴＰプロトコル送信」である。サービス２は「データベース保存」である。サービス３は「電子メール送信」である。サービス４は「プロセス属性の形式チェック」である。サービス５は「プロセス属性の語彙チェック」である。
【００４７】
アプリケーション格納部１７は、プロセス実行部１２または担当者がプロセスを実行する際に呼び出すアプリケーションプログラムを格納する。
【００４８】
プロセス処理装置２０は、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置２０は、通信部２１、プロセス実行部２２、転送処理部２３、制御プログラム格納部２４、プロセス定義ファイル格納部２５、サービス情報リスト格納部２６、及びアプリケーション格納部２７を備えている。プロセス処理装置２０の各部の構成は、プロセス処理装置１０の構成と同様であるので、詳細説明を省略する。また、プロセス処理装置３０も、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置３０の各部の構成も、プロセス処理装置１０，２０の構成と同様であるため、図示及び詳細説明を省略する。
【００４９】
次に、動作について説明する。
図５は、本発明のプロセス連携システムの動作を説明するためのシーケンス図である。ユーザは、所定業務のプロセスを実行する場合、キーボード等を操作してプロセス処理装置１０にプロセス実行要求を入力する。プロセス処理装置１０のプロセス実行部１２は、プロセス実行要求を受信すると（ステップＳ１）、要求されたプロセスのプロセス定義をプロセス定義ファイル格納部１５から呼び出して読み込む（ステップＳ２）。
【００５０】
このとき、プロセス実行部１２は、読み込んだプロセス定義のサービス情報を認識する。そして、プロセス実行部１２は、プロセス定義のサービス情報がサービス情報リスト格納部１６に格納されたサービス情報リストに存在するか否か確認する。プロセス定義のサービス情報がサービス情報リストに存在する場合は、プロセス実行部１２は、プロセス定義のサービスを実行可能である。逆に、プロセス定義のサービス情報がサービス情報リストに存在しなかった場合は、プロセス実行部１２は、プロセス定義のサービスを実行不可能であり、エラーとして処理を終了する。
【００５１】
プロセス実行部１２は、読み込んだプロセス定義に初期データを与えてプロセス（プロセスインスタンス）を生成する（ステップＳ３）。このとき、プロセス実行部１２は、生成したプロセスに割り当てる、当該プロセスを識別するプロセスＩＤを生成する（ステップＳ４）。
【００５２】
プロセス実行部１２は、プロセス定義に従って、生成したプロセスを実行単位毎に実行する（ステップＳ５）。図２に示す例では、処理が開始されると、処理１が実行され、次に処理２が実行され、次に処理３（副プロセス定義）が実行される。各処理の実行は、プロセス実行部１２またはユーザ（担当者）によって行われる。なお、このとき、処理の実行の必要に応じて、アプリケーション格納部１７に格納されているアプリケーションプログラムが呼び出される。
【００５３】
プロセスの実行単位が副プロセス定義のとき、転送処理部１３は、副プロセス定義中に転送情報があるか否か確認する。転送情報がある場合は、転送処理部１３は、副プロセス定義の転送情報及びサービス情報を読み込む（ステップＳ６）。これにより、転送処理部１３による転送処理が開始される。転送処理部１３は、当該転送処理（すなわち副プロセス）を識別するための転送処理識別情報を生成する（ステップＳ７）。なお、転送処理識別情報は、プロセスを識別するプロセスＩＤと一致していてもよい。
【００５４】
次に、転送処理部１３は、読み込んだ副プロセス定義のサービス情報を他のプロセス処理装置が備えているか否かを確認するために、他のプロセス処理装置に対してネットワーク２００を介してサービス情報の問い合わせ（照会）を行う（ステップＳ８）。
【００５５】
ここで、転送処理部１３は、読み込んだ副プロセス定義の転送情報に基づいて、サービス情報の問い合わせを行うプロセス処理装置を認識する。すなわち、サービス情報の問い合わせ対象のプロセス処理装置として一のプロセス処理装置が予め特定されている場合は、転送処理部１３は、特定された一のプロセス処理装置に対してサービス情報の問い合わせを行う。一のプロセス処理装置が特定されていない場合は、転送処理部１３は、転送情報内のリストにあげられた複数のプロセス処理装置に対してサービス情報の問い合わせを行う。サービス情報の問い合わせ対象のプロセス処理装置が全く特定されていない場合は、転送処理部１３は、任意のプロセス処理装置に対してサービス情報の問い合わせを行う。
【００５６】
なお、本実施の形態では、サービス情報の問い合わせ対象としてプロセス処理装置２０が特定されている。従って、プロセス処理装置１０の転送処理部１３は、プロセス処理装置２０に対してサービス情報の問い合わせを行う。
【００５７】
プロセス処理装置２０の転送処理部２３は、プロセス処理装置１０の転送処理部１３からのサービス情報の問い合わせに対して、サービス情報リスト格納部２６に格納されているサービス情報リストをプロセス処理装置１０に送信する（ステップＳ９）。
【００５８】
プロセス処理装置１０の転送処理部１３は、プロセス処理装置２０の転送処理部２３から送信されたサービス情報リストを受け取る。転送処理部１３は、受け取ったサービス情報リストから、プロセス処理装置２０によって副プロセス定義のサービスが実行可能か否かを確認する（ステップＳ１０）。
【００５９】
転送処理部１３は、実行可能であると判断した場合、プロセス処理装置２０を副プロセス定義の転送対象のプロセス処理装置と決定する。そして、転送処理部１３は、決定したプロセス処理装置２０に対して、副プロセス定義を転送処理識別情報とともにネットワーク２００を介して送信する（ステップＳ１１）。
【００６０】
なお、転送処理部１３は、実行不可能であると判断した場合は、副プロセス定義のサービスが実行可能な他のプロセス処理装置を探すか、またはエラーとして処理を終了する。
【００６１】
続いて、転送処理部１３は、副プロセス定義のサービスの実行に必要なパラメータをプロセス処理装置２０に対して送信する（ステップＳ１２）。例えば、関数の定義を副プロセス定義とすると、関数を実行するために必要な引数（変数）がパラメータである。
【００６２】
プロセス処理装置２０の転送処理部２３は、転送処理部１３から送信された副プロセス定義、転送処理識別情報及びパラメータを受信する。転送処理部２３は、受信した副プロセス定義及びパラメータを転送処理識別情報に対応付けて、プロセス定義ファイル格納部２５またはその他の記憶手段（図示せず）に格納する（ステップＳ１３）。
【００６３】
また、転送処理部２３は、受信した転送情報識別情報に所定データを付加した情報を、副プロセス定義等を受領したことを示す受領確認通知データとしてプロセス処理装置１０にネットワーク２００を介して送信する（ステップＳ１４）。
【００６４】
プロセス処理装置１０の転送処理部１３は、プロセス処理装置２０の転送処理部２３から送信された受領確認通知データを受信する（ステップＳ１５）。転送処理部１３は、受信した受領確認通知データ内に含まれる転送処理識別情報を認識し、転送処理について識別する。そして、転送処理部１３は、識別した転送処理について、プロセス処理装置２０による副プロセス定義の受領を確認する（ステップＳ１６）。その後、プロセス実行部１２は、副プロセス定義に従って、副プロセスを実行単位毎に実行する（ステップＳ１７）。
【００６５】
一方、プロセス処理装置２０において、プロセス実行部２２は、格納した副プロセス定義を読み込む（ステップＳ１８）。次に、プロセス実行部２２は、サービス情報リスト格納部２６に格納されているサービス情報リストから副プロセス定義のサービス情報を検索する（ステップＳ１９）。なお、プロセス実行部２２は、サービス情報リスト内に副プロセス定義に適合するサービス情報及びパラメータが存在しない場合は、プロセス処理装置１０にエラー情報を送信し、処理を終了する。
【００６６】
プロセス実行部２２は、副プロセス定義に初期データを与えてプロセス（プロセスインスタンス）を生成する（ステップＳ２０）。このとき、プロセス実行部２２は、生成したプロセスに割り当てる、当該プロセスを識別するプロセスＩＤを生成する（ステップＳ２１）。プロセス実行部２２は、副プロセス定義に従って、生成したプロセスを実行単位毎に実行する（ステップＳ２２）。図３に示す例では、処理が開始されると、処理１が実行され、次に処理２が実行され、次に処理３が実行される。プロセス実行部２２が、プロセスの各処理の実行を完了すると、転送処理部２３は、転送処理識別情報と実行結果をプロセス処理装置１０に送信する（ステップＳ２３）。
【００６７】
プロセス処理装置１０の転送処理部１３は、転送処理識別情報と実行結果を受け取ると、実行結果を受け取ったことを示す受領確認データをネットワーク２００を介してプロセス処理装置２０に送信する（ステップＳ２４）。プロセス処理装置２０の転送処理部２３は、プロセス処理装置１０の転送処理部１３から送信された受領確認データを受信する（ステップＳ２５）。これにより、プロセス処理装置２０は、プロセス処理装置１０に対する転送処理を完了する。
【００６８】
プロセス処理装置１０の転送処理部１３は、転送処理識別情報に基づいて、プロセスを検索して転送処理を確認（識別）する（ステップＳ２６）。これにより、プロセス処理装置１０は、プロセス処理装置２０に対する転送処理を完了する。
【００６９】
プロセス実行部１２は、プロセス定義の次の実行単位（すなわち副プロセス定義の次の実行単位）から処理の実行を開始する（ステップＳ２７）。図２に示す例では、処理が再開されると、処理４が実行される。プロセス実行部１２は、プロセス定義の全ての実行単位を実行すると（ステップＳ２８）、処理を終了する。
【００７０】
以上のように、本実施の形態では、プロセス処理装置１０の転送処理部１３が、プロセス処理装置２０に実行単位の副プロセス定義を転送して副プロセスを実行させるので、各プロセス処理装置１０，２０のプロセス定義間の関係を動的に結合することができる。従って、プロセス定義及びプロセス処理装置の構成を動的に変更することができる。その結果、システムの運用中でもプロセス定義（副プロセス定義）を変更することができ、またシステムの運用中でもプロセス処理装置の構成を変更することもできる。
【００７１】
転送処理部１３が、副プロセス定義の転送処理を識別する転送処理識別情報を生成し、副プロセス定義とともに識別情報を転送するので、確実に副プロセスを他の副プロセスから識別でき、プロセス処理装置１０，２０間におけるプロセスの連携を確実に行うことができる。
【００７２】
転送処理部１３が、副プロセス定義を転送する前に、副プロセス定義に含まれるサービスの有無を処理装置に問い合わせるので、副プロセスの実行不可能なプロセス処理装置に対する副プロセス定義の転送を未然に回避することができる。
【００７３】
実施の形態２．
図６は、本発明のプロセス統合システムの他の実施の形態の構成を示すブロック図である。本実施の形態のプロセス統合システムは、企業内に関わるプロセスだけでなく、企業間に関わるプロセスをも統合するシステムである。プロセス処理装置４０及びプロセス処理装置５０は、企業内に設けられ、プロセス処理装置６０及びプロセス処理装置７０は、他の企業内に設けられている。プロセス処理装置４０，５０とプロセス処理装置６０，７０とは、インターネットなどのネットワーク３００を介して接続されている。
【００７４】
プロセス処理装置４０，６０は、それぞれ、企業間の連携に関わるプロセスを処理する装置である。プロセス処理装置５０，７０は、それぞれ、各企業内に関わるプロセスを処理する装置である。従って、プロセス処理装置５０，７０は、ファイアフォール等のセキュリティ上の防御策が講じられている。
【００７５】
図６に示すように、プロセス処理装置４０は、通信部４１、プロセス実行部４２、転送処理部４３、制御プログラム格納部４４、プロセス定義ファイル格納部４５、サービス情報リスト格納部４６及びアプリケーション格納部４７を備えている。プロセス処理装置６０は、通信部６１、プロセス実行部６２、転送処理部６３、制御プログラム格納部６４、プロセス定義ファイル格納部６５、サービス情報リスト格納部６６及びアプリケーション格納部６７を備えている。
【００７６】
なお、プロセス処理装置４０，６０の各部の構成については、図１に示したプロセス処理装置１０の構成と同様であるため、詳細説明を省略する。また、プロセス処理装置５０，７０の各部の構成も、プロセス処理装置４０，６０の構成と同様であるため、図示及び詳細説明を省略する。
【００７７】
次に、動作について説明する。
図７は、本発明のプロセス連携システムの他の実施の形態のプロセス実行例を示す説明図である。なお、本実施の形態のプロセス連携システムの動作については、図２に基づいて説明した処理動作と略同様である。従って、図２及び図７を参照して、本実施の形態のプロセス連携システムの動作を説明する。
【００７８】
なお、図７では、プロセス統合システム上で動作する発注業務アプリケーションにおける実行処理が示されている。
【００７９】
ユーザは、所定業務のプロセスを実行する場合、キーボード等を操作してプロセス処理装置５０にプロセス実行要求を入力する。プロセス処理装置５０のプロセス実行部は、プロセス実行要求を受信すると（ステップＳ１）、要求されたプロセスのプロセス定義をプロセス定義ファイル格納部から呼び出して読み込む（ステップＳ２）。
【００８０】
プロセス実行部は、読み込んだプロセス定義に初期データを与えてプロセス（プロセスインスタンス）を生成する（ステップＳ３）。また、プロセス実行部は、生成したプロセスを識別するプロセスＩＤを生成する（ステップＳ４）。
【００８１】
プロセス実行部は、プロセス定義に従って、生成した発注業務のプロセスの処理を開始し、実行単位毎に実行する（ステップＳ５）。図７では、処理が開始されると、処理１において、プロセス実行部は、発注カタログを更新し、処理２に移行させる。処理２では、ユーザが発注カタログより発注データ（発注品目）を登録する。ユーザによって発注データの登録が行われると、プロセス実行部は、処理３に移行させる。処理３では、ユーザが発注データの承認を実行する。ユーザによって発注データの承認が行われると、プロセス実行部は、処理４（副プロセス定義）に移行させる。プロセス実行部は、処理４が副プロセス定義であることを認識すると、プロセスの連携を行う。
【００８２】
プロセス処理装置５０の転送処理部は、副プロセス定義の転送情報及びサービス情報を読み込む（ステップＳ６）。これにより、転送処理部による転送処理が開始される。転送処理部は、当該転送処理を識別するための転送処理識別情報を生成する（ステップＳ７）。次に、転送処理部は、読み込んだ副プロセス定義のサービス情報をプロセス処理装置４０が備えているか否かを確認するために、プロセス処理装置４０に対してサービス情報の問い合わせ（照会）を行う（ステップＳ８）。
【００８３】
プロセス処理装置４０の転送処理部４３は、プロセス処理装置５０の転送処理部からのサービス情報の問い合わせに対して、サービス情報リスト格納部４６に格納されているサービス情報リストをプロセス処理装置５０に返信する（ステップＳ９）。
【００８４】
プロセス処理装置５０の転送処理部は、プロセス処理装置４０の転送処理部４３から返信されたサービス情報リストを受け取る。プロセス処理装置５０の転送処理部は、受け取ったサービス情報リストから、プロセス処理装置４０によって副プロセス定義のサービスが実行可能か否かを確認する（ステップＳ１０）。
【００８５】
転送処理部は、実行可能であると判断した場合、プロセス処理装置４０を副プロセス定義の転送対象のプロセス処理装置と決定する。そして、転送処理部は、決定したプロセス処理装置４０に対して、副プロセス定義を転送処理識別情報とともに送信する（ステップＳ１１）。続いて、転送処理部は、副プロセス定義のサービスの実行に必要なパラメータをプロセス処理装置４０に対して送信する（ステップＳ１２）。
【００８６】
プロセス処理装置４０の転送処理部４３は、プロセス処理装置５０の転送処理部から送信された副プロセス定義、転送処理識別情報及びパラメータを受信する。転送処理部４３は、受信した副プロセス定義及びパラメータを転送処理識別情報に対応付けて、プロセス定義ファイル格納部４５またはその他の記憶手段（図示せず）に格納する（ステップＳ１３）。
【００８７】
また、転送処理部４３は、受信した転送情報識別情報に所定データを付加した情報を、副プロセス定義等を受領したことを示す受領確認通知データとしてプロセス処理装置５０に送信する（ステップＳ１４）。
【００８８】
プロセス処理装置５０の転送処理部は、プロセス処理装置４０の転送処理部４３から送信された受領確認通知データを受信する（ステップＳ１５）。転送処理部は、受信した受領確認通知データ内に含まれる転送処理識別情報を認識し、転送処理について識別する。そして、転送処理部は、識別した転送処理について、プロセス処理装置４０による副プロセス定義の受領を確認する（ステップＳ１６）。
【００８９】
一方、プロセス処理装置４０において、プロセス実行部４２は、格納した副プロセス定義を読み込む（ステップＳ１８）。次に、プロセス実行部４２は、サービス情報リスト格納部４６に格納されているサービス情報リストから副プロセス定義のサービス情報を検索する（ステップＳ１９）。プロセス実行部４２は、副プロセス定義に初期データを与えてプロセス（プロセスインスタンス）を生成する（ステップＳ２０）。このとき、プロセス実行部４２は、生成したプロセスを識別するプロセスＩＤを生成する（ステップＳ２１）。
【００９０】
プロセス実行部４２は、副プロセス定義に従って、生成した副プロセスを実行単位毎に実行する（ステップＳ２２）。図７では、処理４−１において、プロセス処理装置４０のプロセス実行部４２が発注データをプロセス処理装置６０に送信する。プロセス処理装置６０のプロセス実行部６２は、プロセス処理装置４０からの発注データを受信する。そして、処理４−２において、プロセス実行部６２は、発注データの受領通知をプロセス処理装置４０に送信する。プロセス実行部４２が、副プロセスの各処理の実行を完了すると、転送処理部４３は、転送処理識別情報と実行結果（完了結果）をプロセス処理装置５０に送信する（ステップＳ２３）。
【００９１】
プロセス処理装置５０の転送処理部は、転送処理識別情報と実行結果を受け取ると、実行結果を受け取ったことを示す受領確認データをプロセス処理装置４０に送信する（ステップＳ２４）。プロセス処理装置４０の転送処理部４３は、プロセス処理装置５０の転送処理部から送信された受領確認データを受信する（ステップＳ２５）。これにより、プロセス処理装置４０は、プロセス処理装置５０に対する転送処理を完了する。
【００９２】
プロセス処理装置５０の転送処理部は、転送処理識別情報に基づいて、プロセスを検索して転送処理を確認（識別）する（ステップＳ２６）。これにより、プロセス処理装置５０は、プロセス処理装置４０に対する転送処理を完了する。
【００９３】
プロセス処理装置５０のプロセス実行部は、プロセス定義の次の実行単位（すなわち副プロセス定義の次の実行単位）から処理の実行を開始する（ステップＳ２７）。図７では、処理５において、発注完了処理が実行される。プロセス実行部は、プロセス定義の全ての実行単位を実行すると（ステップＳ２７）、発注業務処理を終了する。
【００９４】
以上のように、本実施の形態では、プロセス処理装置５０の転送処理部が、プロセス処理装置４０に対して副プロセス定義を転送する。この場合、プロセス処理装置４０，５０間でもプロセス定義間の関係を動的に結合することができることになる。なお、異なる企業間では、ビジネスプロトコルの変更等が頻繁に行われるので、本システムは一層効果的である。
【００９５】
【発明の効果】
以上のように、本発明では、プロセスの実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、処理装置に副プロセス定義を転送して副プロセスを実行させる。このような構成によれば、各処理装置のプロセス定義間の関係を動的に結合することができる。従って、プロセス定義及びプロセス処理装置の構成を動的に変更することも可能となる。
【図面の簡単な説明】
【図１】  本発明のプロセス統合システムの構成を示すブロック図である。
【図２】  プロセス定義の具体例を示す図である。
【図３】  副プロセス定義の具体例を示す図である。
【図４】  サービス情報リストの具体例を示す図である。
【図５】  本発明のプロセス連携システムの動作を説明するためのシーケンス図である。
【図６】  本発明のプロセス統合システムの他の実施の形態の構成を示すブロック図である。
【図７】  本発明のプロセス連携システムの他の実施の形態のプロセス実行例を示す説明図である。
【図８】  プロセスの処理パターンを示すブロック図である。
【図９】  企業間のプロセスを統合するプロセス統合システムの構成を示す構成図である。
【図１０】  企業内プロセスと企業間プロセスの実行例を示す説明図である。
【符号の説明】
１０  プロセス処理装置（処理装置、一の処理装置）
１１，２１，４１，６１  通信部（通信手段）
１２，２２，４２，６２  プロセス実行部（プロセス実行手段）
１３，２３，４３，６３  転送処理部（転送処理手段）
１４，２４，４４，６４  制御プログラム格納部
１５，２５，４５，６５  プロセス定義ファイル格納部
１６，２６，４６，６６  サービス情報リスト格納部
１７，２７，４７，６７  アプリケーション格納部
２０  プロセス処理装置（処理装置、他の処理装置）
４０  プロセス処理装置（処理装置、一の処理装置）
６０  プロセス処理装置（処理装置、他の処理装置）
２００，３００  ネットワーク
【図１】
0003925267.tif 000002
【図２】
0003925267.tif 000003
【図３】
0003925267.tif 000004
【図４】
0003925267.tif 000005
【図５】
0003925267.tif 000006
【図６】
0003925267.tif 000007
【図７】
0003925267.tif 000008
【図８】
0003925267.tif 000009
【図９】
0003925267.tif 000010
【図１０】
0003925267.tif 000011