| 【発明の名称】 |
プロセス連携方法、プロセス連携システム及びプログラム |
| 【発明者】 |
【氏名】細野 繁 【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
|
| 【要約】 |
【課題】プロセス定義及びプロセス処理装置の構成を動的に変更することができるプロセス連携方法、プロセス連携システム及びプログラムを提供する。
【解決手段】プロセス処理装置10の転送処理部13は、プロセスの実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送するプロセス処理装置20を示す転送情報があるかどうか確認し、転送情報があった場合、プロセス処理装置20に副プロセス定義を転送して副プロセスを実行させる。 |
【特許請求の範囲】
【請求項1】 異なる処理装置で実行されるプロセス間を連携するプロセス連携方法において、プロセスの実行単位に副プロセス定義があった場合、前記副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、前記転送情報があった場合、前記処理装置に前記副プロセス定義を転送して副プロセスを実行させることを特徴とするプロセス連携方法。 【請求項2】 他の組織の処理装置に対して副プロセス定義を転送することを特徴とする請求項1記載のプロセス連携方法。 【請求項3】 副プロセス定義の転送処理を識別する識別情報を生成し、前記副プロセス定義とともに前記識別情報を転送することを特徴とする請求項1または請求項2記載のプロセス連携方法。 【請求項4】 副プロセス定義を転送する前に、当該副プロセス定義に含まれるサービスの有無を処理装置に問い合わせることを特徴とする請求項1から請求項3のうちのいずれか1項記載のプロセス連携方法。 【請求項5】 ネットワークと接続され、データ通信を行う通信手段、プロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段、及び前記実行単位に副プロセス定義があった場合、前記副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、前記転送情報があった場合、前記処理装置に前記副プロセス定義を転送する転送処理手段を有する一の処理装置と、前記ネットワークと接続され、データ通信を行う通信手段、及び前記転送処理手段から転送された前記副プロセス定義に従って、副プロセスを実行単位毎に実行するプロセス実行手段を有する他の処理装置とを備えたことを特徴とするプロセス連携システム。 【請求項6】 一の処理装置は一の組織内に設けられ、他の処理装置は他の組織内に設けられたことを特徴とする請求項5記載のプロセス連携システム。 【請求項7】 一の処理装置の転送処理手段は、副プロセス定義の転送処理を識別する識別情報を生成し、前記副プロセス定義とともに前記識別情報を転送することを特徴とする請求項5または請求項6記載のプロセス連携システム。 【請求項8】 一の処理装置の転送処理手段は、副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を他の処理装置に問い合わせることを特徴とする請求項5から請求項7のうちのいずれか1項記載のプロセス連携システム。 【請求項9】 プロセスの実行単位に副プロセス定義があった場合、前記副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認する処理、及び前記転送情報があった場合、前記処理装置に前記副プロセス定義を転送する処理をコンピュータに実行させるプログラム。 【請求項10】 副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を処理装置に問い合わせる処理をコンピュータに実行させる請求項9記載のプログラム。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、異なる装置間で実行される、ワークフローにおけるプロセス間を連携するプロセス連携方法、プロセス連携システム及びプログラムに関する。 【0002】 【従来の技術】(1)ワークフローワークフローとは、複数の担当者がネットワークを経由して仕事(業務)をする際に、作業を円滑に進めるために、担当者間で受け渡すドキュメントや情報等の流れを管理し、自動化することである。 【0003】例えば、電子商取引の発注業務では、発注データの作成、発注データのデータベース保存、発注データの予算承認、通信用の発注データ形式変換、発注先へのデータ送信、発注先の受領確認、発注先からの受諾受信、及び納品後の発注処理の完了などというようなビジネスプロセスが存在する。 【0004】このように、電子商取引等においては、ドキュメントや情報等を媒介にして複数のプロセス(作業)が連携しており、ドキュメントや情報等が担当者から担当者へ引き継がれる。ワークフローでは、そのようなドキュメントや情報等の流れを管理し、自動化する。 【0005】(2)プロセス統合システム上記のような電子商取引等におけるワークフローを実現する際に、ビジネスプロセスを統合するシステムが、プロセス統合システムである。プロセス統合システムは、複数のプロセス処理装置から構成される。プロセス統合システムは、複数のプロセス処理装置間において、プロセス処理装置または人間系(担当者)が実行する一連のプロセス操作(処理)を管理し、プロセスを構成する各プロセス操作の実行順序の制御または複数のプロセス間の同期を制御する。 【0006】プロセス処理装置は、ユーザによって予め定義されたプロセス定義(プロセス定義データ)を備えている。プロセス定義は、作業(プロセス)の実行単位(アクティビティ)毎の作業内容、開始及び終了の条件、担当者、関連するアプリケーションプログラムとデータ等を定義する。また、プロセス定義は、実行単位間の順序関係も定義する。各プロセス処理装置は、プロセス定義を解釈して、プロセスを実行単位毎に実行する。 【0007】プロセス定義に初期データを与えてワークフローを開始することは、起票またはプロセス生成と呼ばれる。また、生成された実体は、プロセスインスタンスまたは単にプロセスと呼ばれる。ユーザがプロセス定義を使用して複数回起票を行うと、起票の回数分のプロセスインスタンスが生成される。プロセス処理装置は、複数のプロセスインスタンスをプロセスIDという識別子によって識別する。プロセスIDは、プロセス生成時に生成される。プロセス処理装置は、生成されたプロセスインスタンスにプロセスIDを割り当て、そのプロセスIDによってプロセスインスタンスを識別して管理する。 【0008】また、プロセス処理装置は、プロセスインスタンスに割り当てられたプロセスIDを仲介として、自身のプロセスインスタンスを異なるプロセス処理装置のプロセスインスタンスと結合させて、プロセス間の連携を図る。 【0009】一般に、プロセス処理装置がプロセス定義を参照して実行するプロセスの処理には、次のようなパターンがある。図8は、プロセスの処理パターンを示すブロック図である。図8の例では、プロセスの処理が開始されると、無条件に「処理1」が実行される。このように、無条件に引き継がれる処理を単純処理という。次に、「分岐1」で処理が分岐される。このような処理を分岐処理という。次に、「処2」と「処理3」は非同期に処理が進行する。このような処理を並行処理という。次に、「合流1」で処理が合流する。このとき、所定のタイミングで同期がとられる。このような処理を同期処理という。 【0010】(3)企業内プロセスと企業間プロセスところで、プロセス統合システムは、企業内のビジネスプロセスを統合するだけでなく、企業間での電子商取引等を実現するために、企業間のビジネスプロセスも統合する。図9は、企業間のプロセスを統合するプロセス統合システムの構成を示す構成図である。図9に示すように、プロセス統合システムは、企業に設けられたプロセス処理装置1,2と、他の企業に設けられたプロセス処理装置3,4とがネットワーク100を介して接続されている。 【0011】ここで、プロセス統合システムが統合するプロセスは、企業内に関わるプロセスと、企業間の連携に関わるプロセスに分けられる。そして、企業内に関わるプロセスと企業間の連携に関わるプロセスとは、異なるプロセス処理装置で実行される。 【0012】例えば、上記の発注業務のプロセスは、発注データの作成、発注データの予算承認等の企業内に関わるプロセスと、発注データの形式変換、再送や受信タイムアウト処理等の企業間の連携に関わるプロセスとに分けられる。 【0013】企業内に関わるプロセスでは、データベースやデータウェアハウスなどに格納された企業内のデータが扱われる。このようなデータには、社外秘のデータ等も含まれる。従って、かかるデータが外部に漏れることがないように、企業内に関わるプロセスを処理するプロセス処理装置に対して厳重なセキュリティ上の防御策が講じられる。 【0014】一方、企業間の連携に関わるプロセスでは、ネットワーク100を介して異なる企業のプロセス処理装置間でデータがやり取りされる。すなわち、企業間の連携に関わるプロセスを処理するプロセス処理装置は、他の企業のプロセス処理装置との間でデータ通信できるように構成される。従って、企業間の連携に関わるプロセスを処理するプロセス処理装置に対しては、厳重なセキュリティ上の防御策を講じる必要はない。 【0015】このように、企業内で扱うデータのセキュリティ面を考慮して、企業内に関わるプロセスと企業間の連携に関わるプロセスとは、異なるプロセス処理装置で実行される。図9の構成では、例えば、プロセス処理装置1が企業内に関わるプロセスを実行し、プロセス処理装置2が企業間の連携に関わるプロセスを実行する。 【0016】図10は、企業内プロセスと企業間プロセスの実行例を示す説明図である。図10に示す例では、プロセス(a)(b)及び(f)(g)は、企業内に関わるプロセスである。このプロセス(a)(b)及び(f)(g)は、企業内のLAN(Local Area Network)に接続されたプロセス処理装置(例えば、図9のプロセス処理装置1)によって処理される。企業内LANは、図9に示すように、二重のファイアウォール内に設けられ、厳重なセキュリティ上の防御策が講じられている。 【0017】プロセス(c)(d)(e)は、企業間の連携に関わるプロセスである。このプロセス(c)(d)(e)は、DMZ(Demilitarized Zone;非武装地帯)内に設けられたプロセス処理装置(例えば、図9のプロセス処理装置2)によって処理される。DMZは、図9に示すように、一重のファイアウォールしか設けられていない。 【0018】企業内LANに接続されたプロセス処理装置は、ワークフロー処理が開始されると、データベース等に格納されたローカルリソースを参照して、企業内に関わるプロセス(a)(b)を順に実行する。ここで、企業内のローカルリソースは、二重のファイアウォールで守られているため、外部からアクセスすることはできない。 【0019】その後、企業のDMZ内のプロセス処理装置は、他の企業との連携に関わるプロセス(c)(d)(e)を順に実行する。このとき、プロセス処理装置は、他の企業のプロセス処理装置(例えば図9のプロセス処理装置4)とインターネットを介してデータ通信を行う。企業内LANに接続されたプロセス処理装置は、プロセス(e)の実行結果に基づき、企業内に関わるプロセス(f)(g)を実行する。そして、処理が終了される。 【0020】なお、以上のような企業間のビジネスプロセスを統合する場合、各企業の自律性、独立性を確保するため、ビジネスプロセスの全ては互いに公開しない。企業間の連携に関わるプロセスのみが互いに公開される。 【0021】 【発明が解決しようとする課題】企業間に関わるビジネスプロセスについて、ビジネスプロトコルは、ロゼッタネット(RosettaNet)のPIP(Partner Interface Process )やebXML(electronic business XML)を始めとするXML(eXtensible Markup Language)による商取引データ交換のための形式と手順がある。ところが、このような規格は、仕様の変更や更新が頻繁に行われる。また、業界標準も確立していない。 【0022】こうした状況において、プロセス統合システムを基盤とするアプリケーション、すなわちプロセス統合システム上で動作するアプリケーション(例えば発注業務アプリケーション)を構築した場合、プロセス間が密に連携しているので、ビジネスプロトコルの変更がアプリケーションに影響してしまう。従って、アプリケーションの仕様変更が必要になってしまう。このため、プロセス間連携の容易な変更が必要とされる。 【0023】しかし、従来では、上記したように、プロセス統合システムにおける各プロセス処理装置には、予めプロセス定義が保管される。各プロセス処理装置は、プロセス定義に従ってプロセスの各処理を実行する。また、各プロセス処理装置で実行されるプロセスインスタンスはプロセスIDによって結合され、プロセス間の連携が図られる。従って、プロセス処理装置は、プロセスの次の処理を実行するためのプロセス定義を備えたプロセス処理装置に対してプロセスインスタンスの引き継ぎを行う。すなわち、プロセス処理装置は、そのようなプロセス定義を備えたプロセス処理装置でなければ、プロセスの引き継ぎを行うことができない。換言すれば、各プロセス処理装置のプロセス定義間の関係が静的に結合していなければならない。 【0024】従って、ユーザが、プロセス定義の更新等のように、プロセスの実行環境を変更したい場合であっても、システムの運用中にプロセス定義を動的に変更できない。この場合、ユーザは、システムを停止した上で、プロセス定義を変更し、プロセス処理装置に再登録する必要がある。 【0025】また、システムの運用中にプロセス処理装置に障害が発生したり、特定のプロセス処理装置に大きな負荷がかかってしまうことも起こり得る。この場合、ユーザは、故障したプロセス処理装置を新たな別のプロセス処理装置に置き換えたり、また別のプロセス処理装置を追加して負荷を分散させたりする。しかし、上記のように、各プロセス処理装置のプロセス定義間の関係が静的に結合していなければならない。従って、ユーザは、対応するプロセス定義をプロセス処理装置に登録する必要がある。このため、ユーザは、システムの停止しなければ、プロセス処理装置の構成を変更することができない。 【0026】本発明は、上記のような課題を解決するためになされたものであり、プロセス定義及びプロセス処理装置の構成を動的に変更することができるプロセス連携方法、プロセス連携システム及びプログラムを得ることを目的とする。 【0027】 【課題を解決するための手段】以上の目的を達成するため、本発明のプロセス連携方法は、プロセスの実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、処理装置に副プロセス定義を転送して副プロセスを実行させることを特徴とする。 【0028】他の組織の処理装置に対して副プロセス定義を転送する場合は、異なる組織における処理装置間でもプロセス定義間の関係を動的に結合することができることになる。 【0029】副プロセス定義の転送処理を識別する識別情報(転送処理識別情報)を生成し、副プロセス定義とともに識別情報を転送する。このような構成によれば、確実に副プロセスを他の副プロセスから識別でき、処理装置間におけるプロセスの連携を確実に行うことができる。 【0030】副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を処理装置に問い合わせる。このような構成によれば、副プロセスの実行不可能な処理装置に対する副プロセス定義の転送を未然に回避することができる。 【0031】本発明のプロセス連携システムは、ネットワークと接続され、データ通信を行う通信手段(通信部11)、プロセス定義に従って、プロセスを実行単位毎に実行するプロセス実行手段(プロセス実行部12)、及び実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、処理装置に副プロセス定義を転送する転送処理手段(転送処理部13)を有する一の処理装置(プロセス処理装置10)と、ネットワークと接続され、データ通信を行う通信手段(通信部21)、及び転送処理手段から転送された副プロセス定義に従って、副プロセスを実行単位毎に実行するプロセス実行手段(プロセス実行部22)を有する他の処理装置(プロセス処理装置20)とを備えた。 【0032】一の処理装置(プロセス処理装置40)は一の組織内に設けられ、他の処理装置(プロセス処理装置60)は他の組織内に設けられた場合は、異なる組織における処理装置間でもプロセス定義間の関係を動的に結合することができることになる。 【0033】一の処理装置の転送処理手段は、副プロセス定義の転送処理を識別する識別情報(転送処理識別情報)を生成し、副プロセス定義とともに識別情報を転送する。このような構成によれば、確実に副プロセスを他の副プロセスから識別でき、処理装置間におけるプロセスの連携を確実に行うことができる。 【0034】一の処理装置の転送処理手段は、副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を他の処理装置に問い合わせる。このような構成によれば、副プロセスの実行不可能な処理装置に対する副プロセス定義の転送を未然に回避することができる。 【0035】本発明のプログラムは、プロセスの実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認する処理、及び転送情報があった場合、処理装置に副プロセス定義を転送する処理をコンピュータに実行させる。 【0036】本発明のプログラムは、上記の処理のほかに、副プロセス定義を転送する前に、当該副プロセスに含まれるサービスの有無を処理装置に問い合わせる処理をもコンピュータに実行させる。このような構成によれば、副プロセスの実行不可能な処理装置に対する副プロセス定義の転送を未然に回避することができる。 【0037】 【発明の実施の形態】以下、本発明の実施の一形態を図面を参照して説明する。 実施の形態1.図1は、本発明のプロセス統合システムの構成を示すブロック図である。なお、プロセス連携システムは、プロセス処理装置間のプロセスの連携処理を実行するシステムである。従って、プロセス連携システムの最小構成単位は、二つのプロセス処理装置である。一方、プロセス統合システムは、所定業務における全てのプロセスを統合し処理するシステムである。従って、プロセス統合システムは、所定業務の全てのプロセスの処理をカバーするように、複数のプロセス処理装置で構成される。 【0038】図1の構成の場合、プロセス連携システムは、2つのプロセス処理装置、例えばプロセス処理装置10及びプロセス処理装置20から構成される。プロセス統合システムは、全てのプロセス処理装置10〜30から構成される。 【0039】なお、図1に示すプロセス統合システムは、企業内における業務のプロセスを統合するシステムである。従って、各プロセス処理装置10〜30は、特定の企業内に設けられている。 【0040】図1に示す構成において、プロセス処理装置10は、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置10は、他のプロセス処理装置20,30と企業内LAN等のネットワーク200を介して接続されている。プロセス処理装置10は、通信部11、プロセス実行部12、転送処理部13、制御プログラム格納部14、プロセス定義ファイル格納部15、サービス情報リスト格納部16、及びアプリケーション格納部17を備えている。 【0041】通信部11は、ネットワーク200に接続され、ネットワーク200を介して他のプロセス処理装置20,30とデータ通信を行う。プロセス実行部12は、プロセス定義ファイル格納部15に格納されたプロセス定義に従って、プロセスを実行単位毎に実行する。転送処理部13は、他のプロセス処理装置20,30に対するプロセス(副プロセス)の転送処理を実行・制御する。 【0042】制御プログラム格納部14は、プロセス処理装置10におけるプロセス実行処理及び転送処理を制御する制御プログラムを格納する。プロセス定義ファイル格納部15は、プロセス実行部12によってプロセスを実行する際に参照されるプロセス定義が記憶されたプロセス定義ファイルを格納する。 【0043】図2は、プロセス定義の具体例を示す図である。図2に示すように、プロセス定義は、細分化されたプロセスの実行単位(アクティビティ)の列挙から構成される。プロセス定義は、実行単位の関係付けにより実行単位の流れ(順序)を定義する。プロセス定義には、当該プロセス定義のサービス(プロセス定義名)を示すサービス情報が含まれている。また、プロセス定義は、階層化され、他のプロセス処理装置20が実行するプロセス処理のまとまりとして、実行単位をグループ化した副プロセス定義(サブプロセス定義)を含んでいる。 【0044】図3は、副プロセス定義の具体例を示す図である。図3に示すように、副プロセス定義には、プロセスの実行単位の列挙の他に、転送情報及びサービス情報が含まれている。転送情報は、転送処理部13によるサービス情報の問い合わせ対象のプロセス処理装置、すなわち副プロセス定義の転送対象の処理装置を示す情報である。具体的には、サービス情報の問い合わせ対象のプロセス処理装置として一のプロセス処理装置が予め特定されている場合は、転送情報は、その特定されたプロセス処理装置のURLまたはアドレス、ホスト名、ポート番号等の情報である。また、一のプロセス処理装置が特定されていない場合は、転送情報は、サービス情報の問い合わせ対象の複数のプロセス処理装置のリストの情報である。 【0045】サービス情報は、副プロセス定義のサービス(プロセス定義名)を示す情報である。このサービス情報は、副プロセス定義のプロセスを実行可能なプロセス処理装置を確認するために利用される。 【0046】サービス情報リスト格納部16は、プロセス処理装置10が備えているサービス情報の一覧であるサービス情報リストを格納する。図4は、サービス情報リストの具体例を示す図である。図4に示す例では、サービス情報リスト格納部16には、5つのサービス1〜5が格納されている。サービス1は「HTTPプロトコル送信」である。サービス2は「データベース保存」である。サービス3は「電子メール送信」である。サービス4は「プロセス属性の形式チェック」である。サービス5は「プロセス属性の語彙チェック」である。 【0047】アプリケーション格納部17は、プロセス実行部12または担当者がプロセスを実行する際に呼び出すアプリケーションプログラムを格納する。 【0048】プロセス処理装置20は、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置20は、通信部21、プロセス実行部22、転送処理部23、制御プログラム格納部24、プロセス定義ファイル格納部25、サービス情報リスト格納部26、及びアプリケーション格納部27を備えている。プロセス処理装置20の各部の構成は、プロセス処理装置10の構成と同様であるので、詳細説明を省略する。また、プロセス処理装置30も、計算機等で構成され、所定業務におけるプロセスを処理する装置である。プロセス処理装置30の各部の構成も、プロセス処理装置10,20の構成と同様であるため、図示及び詳細説明を省略する。 【0049】次に、動作について説明する。図5は、本発明のプロセス連携システムの動作を説明するためのシーケンス図である。ユーザは、所定業務のプロセスを実行する場合、キーボード等を操作してプロセス処理装置10にプロセス実行要求を入力する。プロセス処理装置10のプロセス実行部12は、プロセス実行要求を受信すると(ステップS1)、要求されたプロセスのプロセス定義をプロセス定義ファイル格納部15から呼び出して読み込む(ステップS2)。 【0050】このとき、プロセス実行部12は、読み込んだプロセス定義のサービス情報を認識する。そして、プロセス実行部12は、プロセス定義のサービス情報がサービス情報リスト格納部16に格納されたサービス情報リストに存在するか否か確認する。プロセス定義のサービス情報がサービス情報リストに存在する場合は、プロセス実行部12は、プロセス定義のサービスを実行可能である。逆に、プロセス定義のサービス情報がサービス情報リストに存在しなかった場合は、プロセス実行部12は、プロセス定義のサービスを実行不可能であり、エラーとして処理を終了する。 【0051】プロセス実行部12は、読み込んだプロセス定義に初期データを与えてプロセス(プロセスインスタンス)を生成する(ステップS3)。このとき、プロセス実行部12は、生成したプロセスに割り当てる、当該プロセスを識別するプロセスIDを生成する(ステップS4)。 【0052】プロセス実行部12は、プロセス定義に従って、生成したプロセスを実行単位毎に実行する(ステップS5)。図2に示す例では、処理が開始されると、処理1が実行され、次に処理2が実行され、次に処理3(副プロセス定義)が実行される。各処理の実行は、プロセス実行部12またはユーザ(担当者)によって行われる。なお、このとき、処理の実行の必要に応じて、アプリケーション格納部17に格納されているアプリケーションプログラムが呼び出される。 【0053】プロセスの実行単位が副プロセス定義のとき、転送処理部13は、副プロセス定義中に転送情報があるか否か確認する。転送情報がある場合は、転送処理部13は、副プロセス定義の転送情報及びサービス情報を読み込む(ステップS6)。これにより、転送処理部13による転送処理が開始される。転送処理部13は、当該転送処理(すなわち副プロセス)を識別するための転送処理識別情報を生成する(ステップS7)。なお、転送処理識別情報は、プロセスを識別するプロセスIDと一致していてもよい。 【0054】次に、転送処理部13は、読み込んだ副プロセス定義のサービス情報を他のプロセス処理装置が備えているか否かを確認するために、他のプロセス処理装置に対してネットワーク200を介してサービス情報の問い合わせ(照会)を行う(ステップS8)。 【0055】ここで、転送処理部13は、読み込んだ副プロセス定義の転送情報に基づいて、サービス情報の問い合わせを行うプロセス処理装置を認識する。すなわち、サービス情報の問い合わせ対象のプロセス処理装置として一のプロセス処理装置が予め特定されている場合は、転送処理部13は、特定された一のプロセス処理装置に対してサービス情報の問い合わせを行う。一のプロセス処理装置が特定されていない場合は、転送処理部13は、転送情報内のリストにあげられた複数のプロセス処理装置に対してサービス情報の問い合わせを行う。サービス情報の問い合わせ対象のプロセス処理装置が全く特定されていない場合は、転送処理部13は、任意のプロセス処理装置に対してサービス情報の問い合わせを行う。 【0056】なお、本実施の形態では、サービス情報の問い合わせ対象としてプロセス処理装置20が特定されている。従って、プロセス処理装置10の転送処理部13は、プロセス処理装置20に対してサービス情報の問い合わせを行う。 【0057】プロセス処理装置20の転送処理部23は、プロセス処理装置10の転送処理部13からのサービス情報の問い合わせに対して、サービス情報リスト格納部26に格納されているサービス情報リストをプロセス処理装置10に送信する(ステップS9)。 【0058】プロセス処理装置10の転送処理部13は、プロセス処理装置20の転送処理部23から送信されたサービス情報リストを受け取る。転送処理部13は、受け取ったサービス情報リストから、プロセス処理装置20によって副プロセス定義のサービスが実行可能か否かを確認する(ステップS10)。 【0059】転送処理部13は、実行可能であると判断した場合、プロセス処理装置20を副プロセス定義の転送対象のプロセス処理装置と決定する。そして、転送処理部13は、決定したプロセス処理装置20に対して、副プロセス定義を転送処理識別情報とともにネットワーク200を介して送信する(ステップS11)。 【0060】なお、転送処理部13は、実行不可能であると判断した場合は、副プロセス定義のサービスが実行可能な他のプロセス処理装置を探すか、またはエラーとして処理を終了する。 【0061】続いて、転送処理部13は、副プロセス定義のサービスの実行に必要なパラメータをプロセス処理装置20に対して送信する(ステップS12)。例えば、関数の定義を副プロセス定義とすると、関数を実行するために必要な引数(変数)がパラメータである。 【0062】プロセス処理装置20の転送処理部23は、転送処理部13から送信された副プロセス定義、転送処理識別情報及びパラメータを受信する。転送処理部23は、受信した副プロセス定義及びパラメータを転送処理識別情報に対応付けて、プロセス定義ファイル格納部25またはその他の記憶手段(図示せず)に格納する(ステップS13)。 【0063】また、転送処理部23は、受信した転送情報識別情報に所定データを付加した情報を、副プロセス定義等を受領したことを示す受領確認通知データとしてプロセス処理装置10にネットワーク200を介して送信する(ステップS14)。 【0064】プロセス処理装置10の転送処理部13は、プロセス処理装置20の転送処理部23から送信された受領確認通知データを受信する(ステップS15)。転送処理部13は、受信した受領確認通知データ内に含まれる転送処理識別情報を認識し、転送処理について識別する。そして、転送処理部13は、識別した転送処理について、プロセス処理装置20による副プロセス定義の受領を確認する(ステップS16)。その後、プロセス実行部42は、副プロセス定義に従って、副プロセスを実行単位毎に実行する(ステップS17)。 【0065】一方、プロセス処理装置20において、プロセス実行部22は、格納した副プロセス定義を読み込む(ステップS18)。次に、プロセス実行部22は、サービス情報リスト格納部26に格納されているサービス情報リストから副プロセス定義のサービス情報を検索する(ステップS19)。なお、プロセス実行部22は、サービス情報リスト内に副プロセス定義に適合するサービス情報及びパラメータが存在しない場合は、プロセス処理装置10にエラー情報を送信し、処理を終了する。 【0066】プロセス実行部22は、副プロセス定義に初期データを与えてプロセス(プロセスインスタンス)を生成する(ステップS20)。このとき、プロセス実行部22は、生成したプロセスに割り当てる、当該プロセスを識別するプロセスIDを生成する(ステップS21)。プロセス実行部22は、副プロセス定義に従って、生成したプロセスを実行単位毎に実行する(ステップS22)。図3に示す例では、処理が開始されると、処理1が実行され、次に処理2が実行され、次に処理3が実行される。プロセス実行部22が、プロセスの各処理の実行を完了すると、転送処理部23は、転送処理識別情報と実行結果をプロセス処理装置10に送信する(ステップS23)。 【0067】プロセス処理装置10の転送処理部13は、転送処理識別情報と実行結果を受け取ると、実行結果を受け取ったことを示す受領確認データをネットワーク200を介してプロセス処理装置20に送信する(ステップS24)。プロセス処理装置20の転送処理部23は、プロセス処理装置10の転送処理部13から送信された受領確認データを受信する(ステップS25)。これにより、プロセス処理装置20は、プロセス処理装置10に対する転送処理を完了する。 【0068】プロセス処理装置10の転送処理部13は、転送処理識別情報に基づいて、プロセスを検索して転送処理を確認(識別)する(ステップS26)。これにより、プロセス処理装置10は、プロセス処理装置20に対する転送処理を完了する。 【0069】プロセス実行部12は、プロセス定義の次の実行単位(すなわち副プロセス定義の次の実行単位)から処理の実行を開始する(ステップS27)。図2に示す例では、処理が再開されると、処理4が実行される。プロセス実行部12は、プロセス定義の全ての実行単位を実行すると(ステップS28)、処理を終了する。 【0070】以上のように、本実施の形態では、プロセス処理装置10の転送処理部13が、プロセス処理装置20に実行単位の副プロセス定義を転送して副プロセスを実行させるので、各プロセス処理装置10,20のプロセス定義間の関係を動的に結合することができる。従って、プロセス定義及びプロセス処理装置の構成を動的に変更することができる。その結果、システムの運用中でもプロセス定義(副プロセス定義)を変更することができ、またシステムの運用中でもプロセス処理装置の構成を変更することもできる。 【0071】転送処理部13が、副プロセス定義の転送処理を識別する転送処理識別情報を生成し、副プロセス定義とともに識別情報を転送するので、確実に副プロセスを他の副プロセスから識別でき、プロセス処理装置10,20間におけるプロセスの連携を確実に行うことができる。 【0072】転送処理部13が、副プロセス定義を転送する前に、副プロセス定義に含まれるサービスの有無を処理装置に問い合わせるので、副プロセスの実行不可能なプロセス処理装置に対する副プロセス定義の転送を未然に回避することができる。 【0073】実施の形態2.図6は、本発明のプロセス統合システムの他の実施の形態の構成を示すブロック図である。本実施の形態のプロセス統合システムは、企業内に関わるプロセスだけでなく、企業間に関わるプロセスをも統合するシステムである。プロセス処理装置40及びプロセス処理装置50は、企業内に設けられ、プロセス処理装置60及びプロセス処理装置70は、他の企業内に設けられている。プロセス処理装置40,50とプロセス処理装置60,70とは、インターネットなどのネットワーク300を介して接続されている。 【0074】プロセス処理装置40,60は、それぞれ、企業間の連携に関わるプロセスを処理する装置である。プロセス処理装置50,70は、それぞれ、各企業内に関わるプロセスを処理する装置である。従って、プロセス処理装置50,70は、ファイアフォール等のセキュリティ上の防御策が講じられている。 【0075】図6に示すように、プロセス処理装置40は、通信部41、プロセス実行部42、転送処理部43、制御プログラム格納部44、プロセス定義ファイル格納部45、サービス情報リスト格納部46及びアプリケーション格納部47を備えている。プロセス処理装置60は、通信部61、プロセス実行部62、転送処理部63、制御プログラム格納部64、プロセス定義ファイル格納部65、サービス情報リスト格納部66及びアプリケーション格納部67を備えている。 【0076】なお、プロセス処理装置40,60の各部の構成については、図1に示したプロセス処理装置10の構成と同様であるため、詳細説明を省略する。また、プロセス処理装置50,70の各部の構成も、プロセス処理装置40,60の構成と同様であるため、図示及び詳細説明を省略する。 【0077】次に、動作について説明する。図7は、本発明のプロセス連携システムの他の実施の形態のプロセス実行例を示す説明図である。なお、本実施の形態のプロセス連携システムの動作については、図2に基づいて説明した処理動作と略同様である。従って、図2及び図7を参照して、本実施の形態のプロセス連携システムの動作を説明する。 【0078】なお、図7では、プロセス統合システム上で動作する発注業務アプリケーションにおける実行処理が示されている。 【0079】ユーザは、所定業務のプロセスを実行する場合、キーボード等を操作してプロセス処理装置50にプロセス実行要求を入力する。プロセス処理装置50のプロセス実行部は、プロセス実行要求を受信すると(ステップS1)、要求されたプロセスのプロセス定義をプロセス定義ファイル格納部から呼び出して読み込む(ステップS2)。 【0080】プロセス実行部は、読み込んだプロセス定義に初期データを与えてプロセス(プロセスインスタンス)を生成する(ステップS3)。また、プロセス実行部は、生成したプロセスを識別するプロセスIDを生成する(ステップS4)。 【0081】プロセス実行部は、プロセス定義に従って、生成した発注業務のプロセスの処理を開始し、実行単位毎に実行する(ステップS5)。図7では、処理が開始されると、処理1において、プロセス実行部は、発注カタログを更新し、処理2に移行させる。処理2では、ユーザが発注カタログより発注データ(発注品目)を登録する。ユーザによって発注データの登録が行われると、プロセス実行部は、処理3に移行させる。処理3では、ユーザが発注データの承認を実行する。ユーザによって発注データの承認が行われると、プロセス実行部は、処理4(副プロセス定義)に移行させる。プロセス実行部は、処理4が副プロセス定義であることを認識すると、実行結果及びプロセスIDをプロセス処理装置40に送信して、プロセスの連携を行う。 【0082】プロセス処理装置40の転送処理部43は、副プロセス定義の転送情報及びサービス情報を読み込む(ステップS6)。これにより、転送処理部43による転送処理が開始される。転送処理部43は、当該転送処理を識別するための転送処理識別情報を生成する(ステップS7)。次に、転送処理部43は、読み込んだ副プロセス定義のサービス情報を他の企業のプロセス処理装置60が備えているか否かを確認するために、プロセス処理装置60に対してネットワーク300を介してサービス情報の問い合わせ(照会)を行う(ステップS8)。 【0083】プロセス処理装置60の転送処理部63は、プロセス処理装置40の転送処理部43からのサービス情報の問い合わせに対して、サービス情報リスト格納部66に格納されているサービス情報リストをプロセス処理装置40に返信する(ステップS9)。 【0084】プロセス処理装置40の転送処理部43は、プロセス処理装置60の転送処理部63から返信されたサービス情報リストを受け取る。転送処理部43は、受け取ったサービス情報リストから、プロセス処理装置60によって副プロセス定義のサービスが実行可能か否かを確認する(ステップS10)。 【0085】転送処理部43は、実行可能であると判断した場合、プロセス処理装置60を副プロセス定義の転送対象のプロセス処理装置と決定する。そして、転送処理部43は、決定したプロセス処理装置60に対して、副プロセス定義を転送処理識別情報とともにネットワーク300を介して送信する(ステップS11)。続いて、転送処理部43は、副プロセス定義のサービスの実行に必要なパラメータをプロセス処理装置60に対して送信する(ステップS12)。 【0086】プロセス処理装置60の転送処理部63は、転送処理部43から送信された副プロセス定義、転送処理識別情報及びパラメータを受信する。転送処理部63は、受信した副プロセス定義及びパラメータを転送処理識別情報に対応付けて、プロセス定義ファイル格納部65またはその他の記憶手段(図示せず)に格納する(ステップS13)。 【0087】また、転送処理部63は、受信した転送情報識別情報に所定データを付加した情報を、副プロセス定義等を受領したことを示す受領確認通知データとしてプロセス処理装置40にネットワーク300を介して送信する(ステップS14)。 【0088】プロセス処理装置40の転送処理部43は、プロセス処理装置60の転送処理部63から送信された受領確認通知データを受信する(ステップS15)。転送処理部43は、受信した受領確認通知データ内に含まれる転送処理識別情報を認識し、転送処理について識別する。そして、転送処理部43は、識別した転送処理について、プロセス処理装置60による副プロセス定義の受領を確認する(ステップS16)。その後、プロセス実行部42は、副プロセス定義に従って、副プロセスを実行単位毎に実行する(ステップS17)。 【0089】一方、プロセス処理装置60において、プロセス実行部62は、格納した副プロセス定義を読み込む(ステップS18)。次に、プロセス実行部62は、サービス情報リスト格納部66に格納されているサービス情報リストから副プロセス定義のサービス情報を検索する(ステップS19)。プロセス実行部62は、副プロセス定義に初期データを与えてプロセス(プロセスインスタンス)を生成する(ステップS20)。このとき、プロセス実行部62は、生成したプロセスを識別するプロセスIDを生成する(ステップS21)。 【0090】プロセス実行部62は、副プロセス定義に従って、生成した副プロセスを実行単位毎に実行する(ステップS22)。図7では、処理4−1において、プロセス処理装置40のプロセス実行部42が発注データをプロセス処理装置60に送信する。プロセス処理装置60のプロセス実行部62は、プロセス処理装置40からの発注データを受信する。そして、処理4−2において、プロセス実行部62は、発注データの受領通知をプロセス処理装置40に送信する。プロセス実行部62が、副プロセスの各処理の実行を完了すると、転送処理部63は、転送処理識別情報と実行結果(完了結果)をプロセス処理装置40に送信する(ステップS23)。 【0091】プロセス処理装置40の転送処理部43は、転送処理識別情報と実行結果を受け取ると、実行結果を受け取ったことを示す受領確認データをネットワーク300を介してプロセス処理装置60に送信する(ステップS24)。プロセス処理装置60の転送処理部63は、プロセス処理装置40の転送処理部43から送信された受領確認データを受信する(ステップS25)。これにより、プロセス処理装置60は、プロセス処理装置40に対する転送処理を完了する。 【0092】プロセス処理装置40の転送処理部43は、転送処理識別情報に基づいて、プロセスを検索して転送処理を確認(識別)する(ステップS26)。これにより、プロセス処理装置40は、プロセス処理装置60に対する転送処理を完了する。プロセス実行部42は、転送処理の完了を確認すると、実行結果及びプロセスIDをプロセス処理装置50に送信して、プロセスの連携を行う。 【0093】プロセス処理装置50のプロセス実行部は、プロセス定義の次の実行単位(すなわち副プロセス定義の次の実行単位)から処理の実行を開始する(ステップS27)。図7では、処理5において、発注完了処理が実行される。プロセス実行部は、プロセス定義の全ての実行単位を実行すると(ステップS27)、発注業務処理を終了する。 【0094】以上のように、本実施の形態では、プロセス処理装置40の転送処理部43が、他の企業のプロセス処理装置60に対して副プロセス定義を転送する。この場合、異なる企業(組織)におけるプロセス処理装置40,60間でもプロセス定義間の関係を動的に結合することができることになる。異なる企業間では、ビジネスプロトコルの変更等が頻繁に行われるので、本システムは一層効果的である。 【0095】 【発明の効果】以上のように、本発明では、プロセスの実行単位に副プロセス定義があった場合、副プロセス定義中に当該副プロセス定義を転送する処理装置を示す転送情報があるかどうか確認し、転送情報があった場合、処理装置に副プロセス定義を転送して副プロセスを実行させる。このような構成によれば、各処理装置のプロセス定義間の関係を動的に結合することができる。従って、プロセス定義及びプロセス処理装置の構成を動的に変更することも可能となる。
|
| 【出願人】 |
【識別番号】000004237 【氏名又は名称】日本電気株式会社 【住所又は居所】東京都港区芝五丁目7番1号
|
| 【出願日】 |
平成14年3月26日(2002.3.26) |
| 【代理人】 |
【識別番号】100103090 【弁理士】 【氏名又は名称】岩壁 冬樹 (外1名)
|
| 【公開番号】 |
特開2003−281105(P2003−281105A) |
| 【公開日】 |
平成15年10月3日(2003.10.3) |
| 【出願番号】 |
特願2002−86163(P2002−86163) |
|