(57)【特許請求の範囲】
【請求項１】
データを記憶する記憶装置と、データを処理する処理装置とを有し、上記記憶装置が記憶したプログラムを上記処理装置が実行することにより実現される、変換前プロセス定義記憶部と、処理データ取得部と、変換処理生成部と、プロセス定義変換部と、変換後プロセス定義記憶部と、プロセス実行部と、プロセス監視部とを有し、
上記変換前プロセス定義記憶部は、一以上の処理を表わす処理データを含み、上記処理データが表わす処理により構成される業務を定義するプロセス定義データを、上記記憶装置に記憶し、
上記処理データ取得部は、上記変換前プロセス定義記憶部が記憶したプロセス定義データに含まれる処理データを取得し、
上記変換処理生成部は、上記処理データ取得部が取得した処理データに基づいて、変換後処理を表わす処理データを生成し、上記変換後処理は、上記プロセス定義データに基づいて実行される業務を区別するインスタンス識別データを取得する識別取得処理と、上記識別取得処理で取得したインスタンス識別データを含む識別通知メッセージを生成して通知する識別通知処理と、上記処理データ取得部が取得した処理データが表わす処理と、上記識別取得処理で取得したインスタンス識別データを次に実行する変換後処理へ通知する識別時承継処理とを含み、
上記プロセス定義変換部は、上記変換前プロセス定義記憶部が記憶したプロセス定義データのうち、上記処理データ取得部が取得した処理データを、上記変換処理生成部が生成した処理データに置き換えて、上記プロセス定義データを変換し、
上記変換後プロセス定義記憶部は、上記プロセス定義変換部が変換したプロセス定義データを、上記記憶装置に記憶し、
上記プロセス実行部は、上記変換後プロセス定義記憶部が記憶したプロセス定義データに基づいて、上記プロセス定義データに含まれる処理データが表わす変換後処理を実行することにより、上記プロセス定義データが定義する業務を実行し、
上記プロセス監視部は、上記プロセス実行部が上記識別通知処理を実行することにより通知した識別通知メッセージを取得し、取得した上記識別通知メッセージに含まれるインスタンス識別データに基づいて、上記プロセス実行部が実行している業務を監視する
ことを特徴とする監視装置。
【請求項２】
上記変換処理生成部は、上記処理データ取得部が取得した処理データが表わす処理を開始する前に上記識別通知メッセージを通知する開始通知処理と、上記処理データ取得部が取得した処理データが表わす処理を終了した後に上記識別通知メッセージを通知する終了通知処理とを上記識別通知処理として含む変換後処理を表わす処理データを生成し、
上記プロセス監視部は、上記プロセス実行部が実行している業務の進行状況を監視する
ことを特徴とする請求項１に記載の監視装置。
【請求項３】
上記変換処理生成部は、
上記処理データ取得部が取得した処理データが表わす処理が、上記変換前プロセス定義記憶部が記憶したプロセス定義データが定義する業務のうち、最初に実行する処理であるか否かを判定し、
上記処理が上記業務のうち最初に実行する処理であると判定した場合、新たなインスタンス識別データを生成する識別生成処理を上記識別取得処理として含む変換後処理を表わす処理データを生成し、
上記処理が上記業務のうち最初に実行する処理でないと判定した場合、他の変換後処理から通知されたインスタンス識別データを取得する識別受継処理を上記識別取得処理として含む変換後処理を表わす処理データを生成する
ことを特徴とする請求項１または請求項２に記載の監視装置。
【請求項４】
上記変換前プロセス定義記憶部は、上記処理の実行結果を表わす結果通知メッセージを生成して他の処理へ通知する結果通知処理と、更に他の処理から通知された結果通知メッセージを取得する結果取得処理とを含む処理を表わす処理データを含むプロセス定義データを、上記記憶装置に記憶し、
上記変換処理生成部は、上記処理データ取得部が取得した処理データが表わす処理から通知された結果通知メッセージを取得する変換後結果取得処理を更に含み、上記識別取得処理で取得したインスタンス識別データと、上記変換後結果取得処理で取得した結果通知メッセージとを含む識別付結果通知メッセージを他の変換後処理へ通知する識別付結果通知処理を、上記識別承継処理として含み、更に他の変換後処理から通知された識別付結果通知メッセージを取得する識別付結果取得処理を、上記識別受継処理として含み、上記識別付結果取得処理で取得した識別付結果通知メッセージに含まれる結果通知メッセージを、上記処理データ取得部が取得した処理データが表わす処理へ通知する変換後結果通知処理を更に含む変換後処理を表わす処理データを生成する
ことを特徴とする請求項３に記載の監視装置。
【請求項５】
コンピュータが実行することにより、請求項１乃至請求項４のいずれかに記載の監視装置として、上記コンピュータを機能させることを特徴とするプログラム。
【請求項６】
データを記憶する記憶装置と、データを処理する処理装置とを有する監視装置が、業務の実行を監視する監視方法において、
上記記憶装置が、一以上の処理を表わす処理データを含み、上記処理データが表わす処理により構成される業務を定義するプロセス定義データを記憶し、
上記処理装置が、上記記憶装置が記憶したプロセス定義データに含まれる処理データを取得し、
上記処理装置が、上記処理装置が取得した処理データに基づいて、変換後処理を表わす処理データを生成し、上記変換後処理は、上記プロセス定義データに基づいて実行される業務を区別するインスタンス識別データを取得する識別取得処理と、上記識別取得処理で取得したインスタンス識別データを含む識別通知メッセージを生成して通知する識別通知処理と、上記処理装置が取得した処理データが表わす処理と、上記識別取得処理で取得したインスタンス識別データを次に実行する変換後処理へ通知する識別承継処理とを含み、
上記処理装置が、上記記憶装置が記憶したプロセス定義データのうち、上記処理装置が取得した処理データを、上記処理装置が生成した処理データに置き換えて、上記プロセス定義データを変換し、
上記記憶装置が、上記処理装置が変換したプロセス定義データを記憶し、
上記処理装置が、上記記憶装置が記憶したプロセス定義データに基づいて、上記プロセス定義データに含まれる処理データが表わす変換後処理を実行することにより、上記プロセス定義データが定義する業務を実行し、
上記処理装置が、上記処理装置が上記識別通知処理を実行することにより通知した識別通知メッセージを取得し、取得した上記識別通知メッセージに含まれるインスタンス識別データに基づいて、上記処理装置が実行している業務を監視する
ことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一以上の処理から構成される業務を監視する監視装置に関する。
【背景技術】
【０００２】
一以上の処理から構成される業務が、どの処理まで進んでいるかなどを監視して、処理の遅滞を発見したり、処理の遅滞に対処したりする監視装置がある。
監視装置は、処理の開始時や終了時に、処理の開始や終了の通知を受け、処理の開始や終了の通知に基づいて、業務の進行状況を監視する。
【特許文献１】特開２００７−１２２６５０号公報
【特許文献２】特開２００６−２１５９６８号公報
【特許文献３】特開２００４−９４５０８号公報
【特許文献４】特開２００４−３１０７４２号公報
【特許文献５】特開２００５−５３５９４９号公報
【非特許文献１】Ｒｏｎ  Ｔｅｎ−Ｈｏｖｅ、Ｐｅｔｅｒ  Ｗａｌｋｅｒ「ＪａｖａＴＭ  Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｇｒａｔｉｏｎ（ＪＢＩ）１．０」Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．，２００５年。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
同じ業務が複数並行して実施される場合や、異なる業務が部分的に同じ処理を実行する場合がある。このような場合、処理の開始や終了を通知するだけでは、監視装置は、どの業務の処理なのかを区別できず、業務の進行状況を把握することができない。
この発明は、例えば、上記のような課題を解決するためになされたものであり、同じ業務が複数並行して実施される場合や、異なる業務が部分的に同じ処理を実行する場合であっても、開始した処理や終了した処理がどの業務に属する処理なのかを判別して、業務の進行状況を把握できるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
この発明にかかる監視装置は、
データを記憶する記憶装置と、データを処理する処理装置と、変換前プロセス定義記憶部と、処理データ取得部と、変換処理生成部と、プロセス定義変換部と、変換後プロセス定義記憶部と、プロセス実行部と、プロセス監視部とを有し、
上記変換前プロセス定義記憶部は、上記記憶装置を用いて、一以上の処理を表わす処理データを含み、上記処理データが表わす処理により構成される業務を定義するプロセス定義データを記憶し、
上記処理データ取得部は、上記処理装置を用いて、上記変換前プロセス定義記憶部が記憶したプロセス定義データに含まれる処理データを取得し、
上記変換処理生成部は、上記処理装置を用いて、上記処理データ取得部が取得した処理データに基づいて、上記プロセス定義データに基づいて実行される業務を区別するインスタンス識別データを取得する識別取得処理と、上記識別取得処理で取得したインスタンス識別データを含む識別通知メッセージを生成して通知する識別通知処理と、上記処理データ取得部が取得した処理データが表わす処理とを含む変換後処理を表わす処理データを生成し、
上記プロセス定義変換部は、上記処理装置を用いて、上記変換前プロセス定義記憶部が記憶したプロセス定義データのうち、上記処理データ取得部が取得した処理データを、上記変換処理生成部が生成した処理データに置き換えて、上記プロセス定義データを変換し、
上記変換後プロセス定義記憶部は、上記記憶装置を用いて、上記プロセス定義変換部が変換したプロセス定義データを記憶し、
上記プロセス実行部は、上記処理装置を用いて、上記変換後プロセス定義記憶部が記憶したプロセス定義データに基づいて、上記プロセス定義データに含まれる処理データが表わす変換後処理を実行することにより、上記プロセス定義データが定義する業務を実行し、
上記プロセス監視部は、上記処理装置を用いて、上記プロセス実行部が上記識別通知処理を実行することにより通知した識別通知メッセージを取得し、取得した上記識別通知メッセージに含まれるインスタンス識別データに基づいて、上記プロセス実行部が実行している業務を監視することを特徴とする。
【発明の効果】
【０００５】
この発明にかかる監視装置によれば、変換前プロセス定義記憶部が記憶したプロセス定義データに含まれる処理データを、プロセス定義変換部が、変換処理生成部が生成した処理データに置き換えて生成したプロセス定義データに基づいて、プロセス実行部が業務を実行するので、プロセス実行部が処理を実行するとともに、プロセス監視部に対して識別通知メッセージを通知する。これにより、プロセス監視部が、業務の進行状況を把握することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
実施の形態１について、図１〜図１１を用いて説明する。
【０００７】
図１は、この実施の形態におけるプロセス実行システム８００の全体構成の一例を示すシステム構成図である。
プロセス実行システム８００は、プロセス実行装置８１０、サーバ装置８５０、端末装置８６０、ネットワーク８４０などを有する。プロセス実行装置８１０、サーバ装置８５０，端末装置８６０は、ネットワーク８４０を介して互いに接続している。
プロセス実行システム８００は、サーバ装置８５０や端末装置８６０が提供するサービスを利用して処理を実行する。プロセス実行システム８００は、実行する処理を組み合わせて、全体として一つのプロセス（業務）を実行する。
【０００８】
図２は、この実施の形態におけるプロセス実行装置８１０、サーバ装置８５０、端末装置８６０のハードウェア資源の一例を示す図である。
プロセス実行装置８１０、サーバ装置８５０、端末装置８６０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【０００９】
通信装置９１５は、ネットワーク８４０等に接続されている。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１０】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１１】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１２】
図３は、この実施の形態におけるプロセス実行装置８１０、サーバ装置８５０、端末装置８６０の機能ブロックの構成の一例を示すブロック構成図である。
なお、各装置に共通する部分については、同一の符号を付している。
【００１３】
プロセス実行装置８１０（監視装置）は、プロセス定義入力部１１０、変換前プロセス定義記憶部１２０、プロセス変換部１３０、変換後プロセス定義記憶部１４０、プロセス実行部１５０、メッセージ送信部１６１、メッセージ受信部１６２、プロセス監視部１８１、実行状況記録部１８２、実行状況表示部１８３を有する。
サーバ装置８５０は、メッセージ送信部１６１、メッセージ受信部１６２、サービス実行部１７０を有する。
端末装置８６０は、メッセージ送信部１６１、メッセージ受信部１６２、入力部１７１、表示部１７２を有する。
【００１４】
プロセス定義入力部１１０は、キーボード９０２などを用いて、プロセス実行システム８００が実行するプロセス（業務）を定義するデータを入力する。プロセス定義入力部１１０は、表示装置９０１を用いて、入力したデータにより定義されるプロセスを、視覚的に理解しやすい形式で表示する。利用者は、この表示を見ながら、入力したデータを修正したり、新たなデータを入力したりして、所望のプロセスを作り上げる。
プロセス定義入力部１１０は、ＣＰＵ９１１を用いて、入力したデータにより定義されるプロセスを表わすプロセス定義データを生成する。プロセス定義入力部１１０は、ＣＰＵ９１１を用いて、生成したプロセス定義データ（以下「プロセス定義データ５００」と呼ぶ。）を出力する。
変換前プロセス定義記憶部１２０は、ＣＰＵ９１１を用いて、プロセス定義入力部１１０が生成したプロセス定義データ５００を入力する。変換前プロセス定義記憶部１２０は、磁気ディスク装置９２０を用いて、入力したプロセス定義データ５００を記憶する。
【００１５】
プロセスは、一以上の処理により構成される。プロセス定義データは、プロセスを構成する処理を表わすデータ（以下「処理データ」と呼ぶ。）を含む。
【００１６】
図４は、この実施の形態における変換前プロセス定義記憶部１２０が記憶するプロセス定義データ５００の一例を示す図である。
プロセス定義データ５００は、一以上の処理データ５２０を含む。
処理データ５２０は、処理識別データ５２１、実行装置識別データ５２２、開始条件データ５２３、パラメータデータ５２４などを含む。
処理識別データ５２１は、処理の名前など、処理を識別するためのデータである。
実行装置識別データ５２２は、その処理を実際に実行する装置（サーバ装置８５０や端末装置８６０）の名前など、処理を実行する装置をネットワーク８４０上で識別するためのデータである。
開始条件データ５２３は、処理を開始する条件を表わすデータである。
パラメータデータ５２４は、処理に必要なパラメータを表わすデータである。処理に必要なパラメータとは、例えば、条件判定処理における判定条件などである。
【００１７】
この例に示したプロセス定義データ５００は、フローチャート６００に示したプロセスを定義したものである。
このプロセス定義データ５００によれば、「処理Ｓ１」は、プロセスが開始した場合に、「サーバＡ」が実行する。「判定Ｓ２」は、「処理Ｓ１」が終了した場合に、プロセス実行装置８１０自身が実行し、「条件Ｄ」を満たすか否かを判定する。「処理Ｓ３」は、「判定Ｓ２」で「条件Ｄ」を満たすと判定した場合に、「サーバＢ」が実行する。「処理Ｓ４」は、「判定Ｓ２」で「条件Ｄ」を満たさないと判定した場合に、「端末Ｃ」が実行する。「処理Ｓ５」は、「処理Ｓ３」または「処理Ｓ４」が終了した場合に、「サーバＡ」が実行する。「処理Ｓ５」が終了すると、プロセスを終了する。
なお、以下の説明において、プロセス定義データを図示する場合、理解しやすいよう、そのプロセス定義データによって定義されるプロセスのフローチャートで代用する場合がある。
【００１８】
図３に戻り、プロセス実行装置８１０、サーバ装置８５０、端末装置８６０の機能ブロックの説明を続ける。
【００１９】
プロセス変換部１３０は、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００を変換する。プロセス変換部１３０は、処理データ取得部１３１、変換処理生成部１３２、プロセス定義変換部１３３を有する。
【００２０】
処理データ取得部１３１は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を一つずつ取得する。処理データ取得部１３１は、ＣＰＵ９１１を用いて、取得した処理データ５２０を出力する。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、処理データ取得部１３１が出力した処理データ５２０を入力する。変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０に基づいて、変換後処理を表わす処理データ（以下「処理データ５４０」と呼ぶ。）を生成する。変換処理生成部１３２は、生成した処理データ５４０を出力する。なお、変換後処理の詳細については、後述する。
プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００と、変換処理生成部１３２が出力した処理データ５４０とを入力する。プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、入力したプロセス定義データ５００のうち、処理データ取得部１３１が取得した処理データを、入力した処理データ５４０に置き換える。プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換したプロセス定義データ（以下「プロセス定義データ５０１」と呼ぶ。）を出力する。
【００２１】
変換後プロセス定義記憶部１４０は、ＣＰＵ９１１を用いて、プロセス定義変換部１３３が出力したプロセス定義データ５０１を入力する。変換後プロセス定義記憶部１４０は、磁気ディスク装置９２０を用いて、入力したプロセス定義データ５０１を記憶する。
【００２２】
図５は、この実施の形態におけるプロセス変換部１３０が変換したプロセス定義データ５０１の一例を示す図である。
プロセス変換部１３０は、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、変換後処理を表わす処理データ５４０に置き換えて、プロセス定義データ５０１を生成する。
この例において、プロセス変換部１３０は、「処理Ｓ１」「判定Ｓ２」「処理Ｓ３」「処理Ｓ４」「処理Ｓ５」を、それぞれ「変換後処理Ｌ１」「変換後処理Ｌ２」「変換後処理Ｌ３」「変換後処理Ｌ４」「変換後処理Ｌ５」で置き換えている。なお、「処理Ｓ１」「処理Ｓ３」「処理Ｓ４」「処理Ｓ５」は、それぞれ「変換後処理Ｌ１」「変換後処理Ｌ３」「変換後処理Ｌ４」「変換後処理Ｌ５」のなかで呼び出される。
【００２３】
図６は、この実施の形態における変換処理生成部１３２が生成する処理データ５４０が表わす変換後処理の内容を表わすフローチャート図である。
変換後処理は、識別取得処理Ｌ０１、開始通知処理Ｌ０２、処理実行処理Ｌ０３、終了通知処理Ｌ０４、識別承継処理Ｌ０５を含む。
【００２４】
識別取得処理Ｌ０１は、インスタンス識別データを取得する処理である。インスタンス識別データとは、プロセス定義データに基づいて実行されるプロセスを区別するためのデータである。
例えば、プロセス定義データが定義するプロセスが、発注処理業務である場合、一つの発注を処理するプロセスが終わらないうちに、別の発注があり、同じプロセス定義データが定義するプロセスのインスタンスが、複数並行して実行される場合がある。
また、異なるプロセス定義データが定義するプロセスのインスタンスが、同じ処理を呼び出す場合もある。
インスタンス識別データは、このような場合に、インスタンスを区別するためのデータである。インスタンス識別データは、インスタンスごとに異なる値をとり、これにより、インスタンスを区別することができる。
【００２５】
開始通知処理Ｌ０２は、開始通知メッセージを生成して、プロセス監視処理へ通知する処理である。プロセス監視処理とは、後述するプロセス監視部１８１が実行する処理である。すなわち、開始通知処理Ｌ０２を実行すると、開始通知メッセージをプロセス監視部１８１に対して送信する。
開始通知メッセージは、識別取得処理Ｌ０１で取得したインスタンス識別データ、これから実行を開始する処理の処理識別データ５２１、その処理をこれから開始することを表わすデータ（例えば固定文字列「ＳＴＡＲＴ」など）を含む。開始通知メッセージは、識別通知メッセージの一例である。開始通知処理Ｌ０２は、識別通知処理の一例である。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から処理識別データ５２１を取得し、取得した処理識別データ５２１を含む開始通知メッセージを生成する開始通知処理Ｌ０２を含む変換後処理を表わす処理データ５４０を生成する。
【００２６】
処理実行処理Ｌ０３は、元の処理（以下「実処理」と呼ぶ。）を呼び出して、実行する処理である。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から処理識別データ５２１などを取得し、取得した処理識別データ５２１によって識別される処理を呼び出す処理実行処理Ｌ０３を含む変換後処理を表わす処理データ５４０を生成する。
【００２７】
終了通知処理Ｌ０４は、終了通知メッセージを生成して、プロセス監視処理へ通知する処理である。
終了通知メッセージは、識別取得処理Ｌ０１で取得したインスタンス識別データ、実行を終了した実処理の処理識別データ５２１、その実処理が終わったことを表わすデータ（例えば固定文字列「ＥＮＤ」など）を含む。終了通知メッセージは、識別通知メッセージの一例である。終了通知処理は、識別通知処理の一例である。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から処理識別データ５２１を取得し、取得した処理識別データ５２１を含む終了通知メッセージを生成する終了通知処理Ｌ０４を含む変換後処理を表わす処理データ５４０を生成する。
【００２８】
識別承継処理Ｌ０５は、識別取得処理Ｌ０１で取得したインスタンス識別データを、他の変換後処理へ通知する処理である。これにより、後続する変換後処理の識別取得処理Ｌ０１では、前の変換後処理の識別承継処理Ｌ０５で通知されたインスタンス識別データを受け取ることにより、インスタンス識別データを取得できる。
【００２９】
これに対し、その変換後処理が、プロセスの最初に実行する実処理（図５の例では「処理Ｓ１」）を変換した処理（図５の例では「変換後処理Ｌ１」）である場合は、前の変換後処理が存在しないので、前の変換後処理からインスタンス識別データを受け取ることができない。そこで、プロセス内で最初の変換後処理の識別取得処理Ｌ０１では、新たなインスタンス識別データを生成することにより、インスタンス識別データを取得する。
【００３０】
変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０が表わす実処理が、プロセス内で最初に実行する実処理であるか否かを判定する。例えば、変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から、開始条件データ５２３を取得し、取得した開始条件データ５２３が「プロセス開始」であるか否かを判定することにより、その実処理が、プロセス内で最初に実行する実処理であるか否かを判定する。
入力した処理データ５２０が表わす実処理が、プロセス内で最初に実行する実処理であると判定した場合、変換処理生成部１３２は、新たなインスタンス識別データを生成する識別生成処理を識別取得処理Ｌ０１として含む変換後処理を表わす処理データ５４０を生成する。
入力した処理データ５２０が表わす実処理が、プロセス内で最初に実行する実処理でないと判定した場合、変換処理生成部１３２は、前の変換後処理の識別承継処理Ｌ０５で通知されたインスタンス識別データを取得する識別受継処理を識別取得処理Ｌ０１として含む変換後処理を表わす処理データ５４０を生成する。
【００３１】
なお、その実処理がプロセス内で最初に実行する実処理であるか否かを、変換処理生成部１３２が判定して、二種類の変換後処理を表わす処理データ５４０を生成するのではなく、変換処理生成部１３２はその実処理がプロセス内で最初に実行する実処理であるか否かに関わらず、一種類の変換後処理を表わす処理データ５４０を生成してもよい。その場合、識別取得処理Ｌ０１のなかで、自身がプロセス内で最初に実行する処理であるか否かを判定し、識別生成処理と識別取得処理とを選択して実行する変換後処理を表わす処理データ５４０を、変換処理生成部１３２が生成する。
【００３２】
図７は、この実施の形態における変換処理生成部１３２が生成する処理データ５４０の一例を示す図である。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、処理データ取得部１３１が取得した処理データ５２０に基づいて、変換後処理を表わす処理データ５４０を生成する。
この例において、変換処理生成部１３２は、「処理Ｓ１」を表わす処理データ５２０に基づいて、「識別取得処理Ｌ１１」「開始通知処理Ｌ１２」「処理Ｓ１」「終了通知処理Ｌ１４」「識別承継処理Ｌ１５」の五つの処理から構成される変換後処理（変換後処理Ｌ１）を表わす処理データ５４０を生成している。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から、開始条件データ５２３を取得し、変換後処理Ｌ１のうち最初の処理である「識別取得処理Ｌ１１」の開始条件データ５２３に設定する。なお、開始条件データ５２３が表わす開始条件が「他の処理の終了」である場合、変換処理生成部１３２は、その処理を変換した変換後処理の最後の処理である「識別承継処理の終了」を、開始条件データ５２３に設定する。
また、変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から、処理識別データ５２１を取得し、「開始通知処理Ｌ１２」及び「終了通知処理Ｌ１４」のパラメータデータ５２４に設定する。
また、変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力した処理データ５２０から、処理識別データ５２１、実行装置識別データ５２２、パラメータデータ５２４を取得し、処理実行処理に相当する三番目の処理の処理識別データ５２１、実行装置識別データ５２２、パラメータデータ５２４に設定する。
【００３３】
図３に戻り、プロセス実行装置８１０、サーバ装置８５０、端末装置８６０の機能ブロックの説明を続ける。
【００３４】
メッセージ送信部１６１は、ＣＰＵ９１１を用いて、プロセス実行部１５０やサービス実行部１７０から、他の装置（プロセス実行装置８１０、サーバ装置８５０、端末装置８６０）に送信するメッセージを入力する。メッセージ送信部１６１は、通信装置９１５を用いて、ネットワーク８４０を介して、入力したメッセージを送信する。
メッセージ受信部１６２は、通信装置９１５を用いて、ネットワーク８４０を介して、他の装置（プロセス実行装置８１０、サーバ装置８５０、端末装置８６０）が送信したメッセージを受信する。メッセージ受信部１６２は、ＣＰＵ９１１を用いて、プロセス実行部１５０やサービス実行部１７０に対して、受信したメッセージを出力する。
【００３５】
メッセージ送信部１６１、メッセージ受信部１６２を介して、プロセス実行装置８１０、サーバ装置８５０、端末装置８６０の間でやり取りされるメッセージには、例えば、処理の実行を要求するリクエストメッセージや、実行した処理の結果を表わすリプライメッセージなどがある。
【００３６】
プロセス実行部１５０は、ＣＰＵ９１１を用いて、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１に基づいて、処理を実行することにより、プロセス定義データ５０１が定義するプロセスを実行する。
プロセス実行部１５０は、ＣＰＵ９１１を用いて、プロセス定義データ５０１に含まれる処理データ５４０に基づいて、開始条件データ５２３が表わす条件を満たしたか否かを判定する。開始条件データ５２３が表わす条件を満たしたと判定した場合、プロセス実行部１５０は、ＣＰＵ９１１を用いて、その処理データ５４０が表わす処理を実行する。
【００３７】
プロセス実行部１５０は、ＣＰＵ９１１を用いて、実行装置識別データ５２２に基づいて、その処理を実際に実行する装置がプロセス実行装置８１０自身であるか他の装置（サーバ装置８５０や端末装置８６０）であるかを判定する。
その処理を実際に実行する装置がプロセス実行装置８１０自身であると判定した場合、プロセス実行部１５０は、ＣＰＵ９１１を用いて、その処理を実行する。
その処理を実際に実行する装置が他の装置であると判定した場合、プロセス実行部１５０は、ＣＰＵ９１１を用いて、その処理を実際に実行する装置に対してその処理の実行を要求するリクエストメッセージを生成する。プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ送信部１６１に対して、生成したリクエストメッセージを出力する。メッセージ送信部１６１は、ＣＰＵ９１１を用いて、プロセス実行部１５０が出力したリクエストメッセージを入力し、通信装置９１５を用いて、ネットワーク８４０を介して、実行装置識別データ５２２が表わす装置に対して、入力したリクエストメッセージを送信する。
【００３８】
サービス実行部１７０は、メッセージ受信部１６２がメッセージを受信した場合に、ＣＰＵ９１１を用いて、メッセージ受信部１６２が受信して出力したメッセージを入力する。サービス実行部１７０は、ＣＰＵ９１１を用いて、入力したメッセージがリクエストメッセージであるか否かを判定する。入力したメッセージがリクエストメッセージであると判定した場合、サービス実行部１７０は、ＣＰＵ９１１を用いて、入力したリクエストメッセージにより要求された処理を実行する。
リクエストメッセージにより要求された処理の実行が終わった場合、サービス実行部１７０は、ＣＰＵ９１１を用いて、実行した処理の結果を表わすリプライメッセージを生成する。サービス実行部１７０は、ＣＰＵ９１１を用いて、メッセージ送信部１６１に対して、生成したメッセージを出力する。メッセージ送信部１６１は、ＣＰＵ９１１を用いて、サービス実行部１７０が出力したリプライメッセージを入力し、通信装置９１５を用いて、ネットワーク８４０を介して、処理を要求してきたプロセス実行装置８１０に対して、入力したリプライメッセージを送信する。
【００３９】
なお、サービス実行部１７０に要求された処理が他の装置との連携を必要とする処理である場合などは、サービス実行部１７０がリクエストメッセージを生成し、メッセージ送信部１６１が他の装置（プロセス実行装置８１０、他のサーバ装置８５０、端末装置８６０など）に対して送信してもよい。
その場合、メッセージ受信部１６２は、リプライメッセージを、プロセス実行装置８１０に対してではなく、処理を要求してきたサーバ装置８５０に対して送信する。
【００４０】
表示部１７２は、メッセージ受信部１６２がメッセージを受信した場合に、ＣＰＵ９１１を用いて、メッセージ受信部１６２が受信して出力したメッセージを入力し、入力したメッセージの内容を表わす画面を生成する。表示部１７２は、表示装置９０１を用いて、生成した画面を表示する。
例えば、表示部１７２は、メッセージ受信部１６２がリクエストメッセージを受信した場合、ＣＰＵ９１１を用いて、リクエストメッセージにより要求された処理を利用者に伝える処理要求画面を生成し、表示装置９０１を用いて、生成した処理要求画面を表示する。
【００４１】
入力部１７１は、キーボード９０２などを用いて、データを入力し、ＣＰＵ９１１を用いて、入力したデータに対応するメッセージを生成し、メッセージ送信部１６１に対して、生成したメッセージを出力する。メッセージ送信部１６１は、ＣＰＵ９１１を用いて、入力部１７１が出力したメッセージを入力し、通信装置９１５を用いて、送信する。
例えば、入力部１７１は、表示部１７２が処理要求画面を表示した場合に、キーボード９０２などを用いて、利用者が処理を実行した結果を入力し、入力した実行結果に基づいて、リプライメッセージを生成する。
【００４２】
このように、プロセスを構成する処理は、サービス実行部１７０などが自動的に実行するものに限らず、人間の手で実行される処理であってもよい。
【００４３】
プロセス実行部１５０が処理の実行を他の装置に要求した場合、メッセージ受信部１６２がリプライメッセージを受信することにより、処理が終了したことを知る。プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信部１６２が受信して出力したリプライメッセージを入力する。プロセス実行部１５０は、ＣＰＵ９１１を用いて、入力したリプライメッセージに基づいて、開始条件データ５２３が表わす条件を満たしたか否かを判定する。
例えば、プロセス実行部１５０は、ＣＰＵ９１１を用いて、入力したリプライメッセージに基づいて、ある処理が終了したと判定し、その処理の終了を条件とする他の処理の開始条件が満たされたと判定する。
開始条件データ５２３が表わす条件を満たしたと判定した場合、プロセス実行部１５０は、ＣＰＵ９１１を用いて、その処理データ５４０が表わす処理を実行する。
【００４４】
以上を繰り返すことにより、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１により定義されるプロセスが実行される。
【００４５】
プロセス監視部１８１は、ＣＰＵ９１１を用いて、プロセス実行部１５０が識別通知処理（開始通知処理や終了通知処理）を実行することにより通知する識別通知メッセージ（開始通知メッセージや終了通知メッセージ）を取得する。プロセス監視部１８１は、ＣＰＵ９１１を用いて、取得した識別通知メッセージに基づいて、プロセス実行部１５０が実行しているプロセスを監視する。
プロセス監視部１８１は、ＣＰＵ９１１を用いて、識別通知メッセージを取得した時刻を計測する。プロセス監視部１８１は、ＣＰＵ９１１を用いて、計測した時刻を表わす時刻データと、取得した識別通知メッセージとを出力する。なお、識別通知メッセージを送信する側で、識別通知メッセージを生成した時刻を含む識別通知メッセージを生成してもよい。
【００４６】
実行状況記録部１８２は、ＣＰＵ９１１を用いて、プロセス監視部１８１が出力した識別通知メッセージ及び時刻データを入力し、磁気ディスク装置９２０を用いて、入力した識別通知メッセージ及び時刻データを記録する。
【００４７】
実行状況表示部１８３は、ＣＰＵ９１１を用いて、実行状況記録部１８２が記録した識別通知メッセージ及び時刻データを入力する。実行状況表示部１８３は、ＣＰＵ９１１を用いて、入力した識別通知メッセージ及び時刻データに基づいて、プロセス実行部１５０が実行しているプロセスの進行状況を表わす進行状況表示画面を生成し、表示装置９０１を用いて、生成した進行状況表示画面を表示する。
【００４８】
プロセス監視部１８１は、単に、プロセスの進行状況を把握するだけでなく、もっと積極的な動作をしてもよい。
【００４９】
例えば、プロセス監視部１８１は、ＣＰＵ９１１を用いて、実行状況記録部１８２が記録した識別通知メッセージのなかから、対応する終了通知メッセージが存在しない開始通知メッセージを検索する。ここで、開始通知メッセージに対応する終了通知メッセージとは、開始通知メッセージに含まれるインスタンス識別データ及び処理識別データと同じインスタンス識別データ及び処理識別データを含む終了通知データのことである。開始通知メッセージに対応する終了通知データが存在しないということは、その実処理がまだ終わっていないことを意味する。
プロセス監視部１８１は、ＣＰＵ９１１を用いて、実行状況記録部１８２が記録した時刻データから、検索した開始通知メッセージとともに記録された時刻データを取得する。プロセス監視部１８１は、ＣＰＵ９１１を用いて、現在時刻を計測し、取得した時刻データが表わす時刻と、計測した現在時刻とに基づいて、その実処理を開始してからの経過時間を算出する。プロセス監視部１８１は、ＣＰＵ９１１を用いて、算出した経過時間に基づいて、実処理の実行が遅滞しているか否かを判定する。例えば、プロセス監視部１８１は、ＣＰＵ９１１を用いて、その実処理の実行にかかる時間として許容できる許容最長時間と、経過時間とを比較して、経過時間のほうが長い場合に、実処理の実行が遅滞していると判定する。
【００５０】
例えば、プロセス監視部１８１は、ＣＰＵ９１１を用いて、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１から、許容最長時間を表わす許容最長時間データを取得し、取得した許容最長時間データが表わす許容最長時間と、経過時間とを比較する。例えば、プロセス定義入力部１１０がキーボード９０２などを用いて実処理ごとの許容最長時間を入力し、プロセス定義入力部１１０が入力した許容最長時間を表わす許容最長時間データを含むプロセス定義データ５００を、変換前プロセス定義記憶部１２０が磁気ディスク装置９２０を用いて記憶する。プロセス変換部１３０は、ＣＰＵ９１１を用いて許容最長時間データをそのまま含むプロセス定義データ５０１を生成し、変換後プロセス定義記憶部１４０が磁気ディスク装置９２０を用いて記憶する。
あるいは、プロセス監視部１８１は、ＣＰＵ９１１を用いて、実行状況記録部１８２が記録した識別通知メッセージから、開始通知メッセージと、対応する終了通知メッセージとの組を検索し、検索した組に基づいて、その実処理にかかる平均時間や標準偏差を算出して、算出した平均時間や標準偏差に基づいて、許容最長時間を算出してもよい。例えば、平均時間の二倍を許容最長時間としてもよいし、平均時間に標準偏差の三倍を加えた時間を許容最長時間としてもよい。
【００５１】
実処理が遅滞していると判定した場合、プロセス監視部１８１は、ＣＰＵ９１１を用いて、実行状況表示部１８３に対して実処理の遅滞を通知し、実行状況表示部１８３は、ＣＰＵ９１１を用いて、実処理が遅滞していることを表わす進行状況表示画面を生成して、表示装置９０１が表示する。
あるいは、プロセス監視部１８１は、ＣＰＵ９１１を用いて、遅滞している実処理（を実行する装置）に対して、早く実処理を終わらせるよう督促する督促メッセージを通知してもよい。これは、遅滞している実処理が、人間の手で実行する処理である場合に特に有効である。
また、プロセス監視部１８１は、ＣＰＵ９１１を用いて、プロセス実行部１５０に対して、実処理が遅滞していることを表わす遅滞通知メッセージを通知してもよい。これに対して、プロセス実行部１５０は、例えば、遅滞している実処理の代替となる処理の実行を要求するリクエストメッセージを生成して、遅滞している実処理を実行している装置と異なる装置に対して、生成したリクエストメッセージを送信するなどの対処をする。これは、例えば、サーバ装置８５０がダウンしていたり、その処理を実行する担当者が不在だったりして実処理を実行できない場合や、ネットワーク８４０の一部に障害があってリクエストメッセージやリプライメッセージが届かない場合などに有効である。
【００５２】
次に、動作について説明する。
【００５３】
図８は、この実施の形態におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの一例を示すフローチャート図である。
【００５４】
処理データ取得工程Ｓ７１１において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００から、まだ処理していない処理データ５２０を一つずつ取得する。まだ処理していない処理データ５２０がない場合は、変換後プロセス定義データ出力工程Ｓ７１５へ進む。まだ処理していない処理データ５２０を取得した場合は、変換後処理データ生成工程Ｓ７１２へ進む。
【００５５】
変換後処理データ生成工程Ｓ７１２において、変換処理生成部１３２は、ＣＰＵ９１１を用いて、処理データ取得工程Ｓ７１１で処理データ取得部１３１が取得した処理データ５２０に基づいて、変換後処理を表わす処理データ５４０を生成する。
【００５６】
処理データ置換工程Ｓ７１３において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００のうち、処理データ取得工程Ｓ７１１で処理データ取得部１３１が取得した処理データ５２０を、変換後処理データ生成工程Ｓ７１２で変換処理生成部１３２が生成した処理データ５４０に置き換える。
【００５７】
繰返し工程Ｓ７１４において、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、処理データ取得工程Ｓ７１１で処理データ取得部１３１がすべて取得するまで、処理データ取得工程Ｓ７１１からの処理を繰り返す。
【００５８】
変換後プロセス定義データ出力工程Ｓ７１５において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、プロセス定義データ５００の処理データ５２０を処理データ５４０で置換したプロセス定義データ５０１を出力する。変換後プロセス定義記憶部１４０は、磁気ディスク装置９２０を用いて、プロセス定義変換部１３３が出力したプロセス定義データ５０１を記憶する。
【００５９】
図９は、この実施の形態におけるプロセス実行部１５０がプロセスを実行するプロセス実行処理の流れの一例を示すフローチャート図である。
【００６０】
メッセージ受信工程Ｓ７２１において、メッセージ受信部１６２は、通信装置９１５を用いて、メッセージを受信する。なお、受信できるメッセージがない場合は、処理開始条件判定工程Ｓ７２３へ進む。メッセージを受信した場合は、受信メッセージ入力工程Ｓ７２２へ進む。
【００６１】
受信メッセージ入力工程Ｓ７２２において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７２１でメッセージ受信部１６２が受信したメッセージに基づいて、受信したメッセージに対応する処理を実行する。
【００６２】
処理開始条件判定工程Ｓ７２３において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、変換後プロセス定義記憶部１４０が記憶した処理データ５４０のうち、開始条件データ５２３が表わす開始条件が満たされている処理データ５４０があるかを判定する。
開始条件が満たされている処理データ５４０があると判定した場合、実行装置判定工程Ｓ７２４へ進む。
開始条件が満たされている処理データ５４０がないと判定した場合、メッセージ受信工程Ｓ７２１に戻る。
【００６３】
実行装置判定工程Ｓ７２４において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、処理開始条件判定工程Ｓ７２３で開始条件が満たされていると判定した処理データ５４０から実行装置識別データ５２２を取得する。プロセス実行部１５０は、ＣＰＵ９１１を用いて、取得した実行装置識別データ５２２が表わす装置が、プロセス実行装置８１０自身であるか、サーバ装置８５０などの他の装置であるかを判定する。
プロセス実行装置８１０自身であると判定した場合、処理実行工程Ｓ７２６へ進む。
他の装置であると判定した場合、リクエスト送信工程Ｓ７２５へ進む。
【００６４】
リクエスト送信工程Ｓ７２５において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、リクエストメッセージを生成する。メッセージ送信部１６１は、通信装置９１５を用いて、ネットワーク８４０を介して、実行装置判定工程Ｓ７２４でプロセス実行部１５０が取得した実行装置識別データ５２２が表わす装置に対して、プロセス実行部１５０が生成したリクエストメッセージを送信する。
その後、メッセージ受信工程Ｓ７２１に戻る。
【００６５】
処理実行工程Ｓ７２６において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、処理開始条件判定工程Ｓ７２３で開始条件が満たされていると判定した処理を実行する。
その後、メッセージ受信工程Ｓ７２１に戻る。
【００６６】
図１０は、この実施の形態におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わすシーケンス図である。
なお、この例では、図４に示したプロセス定義データ５００を、プロセス変換部１３０が変換して生成したプロセス定義データ５０１に基づいて、プロセス実行部１５０がプロセスを実行するものとする。
【００６７】
端末装置８６０「端末Ｃ」において、入力部１７１が、プロセス開始の条件となる発注伝票を入力したとする。入力部１７１は、プロセス実行装置８１０に対して、プロセスの開始を要求するリクエストメッセージを生成し、メッセージ送信部１６１が送信する。
【００６８】
プロセス実行装置８１０において、メッセージ受信部１６２が、端末装置８６０「端末Ｃ」が送信したリクエストメッセージを受信し、プロセス実行部１５０が、プロセス開始の条件が満たされたと判定する。プロセス実行部１５０は、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１に基づいて、識別取得処理Ｌ１１を実行し、新たなインスタンス識別データを生成する。
識別取得処理Ｌ１１が終了すると、開始通知処理Ｌ１２の開始条件が満たされるので、プロセス実行部１５０は、開始通知処理Ｌ１２を実行し、プロセス監視部１８１に対して、開始通知メッセージを通知する。
開始通知処理Ｌ１２が終了すると、処理Ｓ１の開始条件が満たされるので、プロセス実行部１５０は、サーバ装置８５０「サーバＡ」に対して、処理Ｓ１の実行を要求するリクエストメッセージを生成し、メッセージ送信部１６１が送信する。
【００６９】
サーバ装置８５０「サーバＡ」において、メッセージ受信部１６２が、プロセス実行装置８１０が送信したリクエストメッセージを受信し、サービス実行部１７０が、処理Ｓ１を実行する。処理Ｓ１の実行が終わると、サービス実行部１７０は、処理Ｓ１の実行結果を表わすリプライメッセージを生成し、メッセージ送信部１６１が送信する。
【００７０】
プロセス実行装置８１０において、メッセージ受信部１６２が、サーバ装置８５０「サーバＡ」が送信したリプライメッセージを受信し、プロセス実行部１５０が、処理Ｓ１が終了して終了通知処理Ｌ１４の開始条件が満たされたと判定する。プロセス実行部１５０は、終了通知処理Ｌ１４を実行し、プロセス監視部１８１に対して、終了通知メッセージを通知する。
終了通知処理Ｌ１４が終了すると、識別承継処理Ｌ１５の開始条件が満たされるので、プロセス実行部１５０は、識別承継処理Ｌ１５を実行し、次の変換後処理の識別取得処理Ｌ２１に対して、識別取得処理Ｌ１１で生成したインスタンス識別データを通知する。
識別取得処理Ｌ２１の開始条件は、識別承継処理Ｌ１５の終了である。識別承継処理Ｌ１５が終了すると、識別取得処理Ｌ２１の開始条件が満たされるので、プロセス実行部１５０は、識別取得処理Ｌ２１を実行し、識別承継処理Ｌ１５で通知したインスタンス識別データを取得する。
識別取得処理Ｌ２１が終了すると、開始通知処理Ｌ２２の開始条件が満たされるので、プロセス実行部１５０は、開始通知処理Ｌ２２を実行し、プロセス監視部１８１に対して、開始通知メッセージを通知する。
【００７１】
このように、識別取得処理Ｌ１１で生成したインスタンス識別データが順次受け継がれていくので、同じインスタンス内の識別通知処理では、同一のインスタンス識別データをプロセス監視部１８１に対して通知する。これにより、プロセス監視部１８１は、そのインスタンスの処理の進行状況を把握することができる。
【００７２】
図１１は、この実施の形態におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の別の例を表わすシーケンス図である。
この例において、処理Ｓ１が遅滞している間に、端末装置８６０が発注伝票をもう一件入力し、同じプロセス定義データ５０１により定義されるプロセスのインスタンスが２つ並行して存在している。
なお、２つのインスタンスを区別するため、あとから開始したインスタンスは、二重線で示している。
【００７３】
この図に示したように、２つのインスタンスが並行して存在している場合、２つのインスタンスの処理が順序よく実行されるとは限らず、それぞれの処理が入り乱れて実行される可能性がある。
このような場合であっても、それぞれのインスタンスの識別取得処理Ｌ１１で生成した互いに異なるインスタンス識別データを、それぞれのインスタンス内で受け継ぎ、同じインスタンス内の識別通知処理では、同一のインスタンス識別データをプロセス監視部１８１に対して通知する。これにより、プロセス監視部１８１は、それぞれのインスタンスの処理を混同することなく、それぞれのインスタンスの処理の進行状況を把握することができる。
【００７４】
この実施の形態におけるプロセス実行装置８１０（監視装置）は、データを記憶する記憶装置（磁気ディスク装置９２０）と、データを処理する処理装置（ＣＰＵ９１１）と、変換前プロセス定義記憶部１２０と、処理データ取得部１３１と、変換処理生成部１３２と、プロセス定義変換部１３３と、変換後プロセス定義記憶部１４０と、プロセス実行部１５０と、プロセス監視部１８１とを有することを特徴とする。
上記変換前プロセス定義記憶部１２０は、上記記憶装置（磁気ディスク装置９２０）を用いて、一以上の処理を表わす処理データ５２０を含み、上記処理データ５２０が表わす処理により構成される業務（プロセス）を定義するプロセス定義データ５００を記憶する。
上記処理データ取得部１３１は、上記処理装置（ＣＰＵ９１１）を用いて、上記変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を取得する。
上記変換処理生成部１３２は、上記処理装置（ＣＰＵ９１１）を用いて、上記処理データ取得部１３１が取得した処理データ５２０に基づいて、上記プロセス定義データ５００に基づいて実行される業務（プロセス）を区別するインスタンス識別データを取得する識別取得処理Ｌ０１と、上記識別取得処理Ｌ０１で取得したインスタンス識別データを含む識別通知メッセージ（開始通知メッセージ、終了通知メッセージ）を生成して通知する識別通知処理（開始通知処理Ｌ０２、終了通知処理Ｌ０４）と、上記処理データ取得部１３１が取得した処理データ５２０が表わす処理とを含む変換後処理を表わす処理データ５４０を生成する。
上記プロセス定義変換部１３３は、上記処理装置（ＣＰＵ９１１）を用いて、上記変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００のうち、上記処理データ取得部１３１が取得した処理データ５２０を、上記変換処理生成部１３２が生成した処理データ５４０に置き換えて、上記プロセス定義データを変換する。
上記変換後プロセス定義記憶部１４０は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記プロセス定義変換部１３３が変換したプロセス定義データ５０１を記憶する。
上記プロセス実行部１５０は、上記処理装置（ＣＰＵ９１１）を用いて、上記変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１に基づいて、上記プロセス定義データ５０１に含まれる処理データ５４０が表わす変換後処理を実行することにより、上記プロセス定義データ５０１が定義する業務（プロセス）を実行する。
上記プロセス監視部１８１は、上記処理装置（ＣＰＵ９１１）を用いて、上記プロセス実行部１５０が上記識別通知処理（開始通知処理Ｌ０２、終了通知処理Ｌ０４）を実行することにより通知した識別通知メッセージ（開始通知メッセージ、終了通知メッセージ）を取得し、取得した上記識別通知メッセージに含まれるインスタンス識別データに基づいて、上記プロセス実行部１５０が実行している業務（プロセス）を監視する。
【００７５】
この実施の形態におけるプロセス実行装置８１０（監視装置）によれば、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、プロセス定義変換部１３３が、変換処理生成部１３２が生成した処理データ５４０に置き換えて生成したプロセス定義データ５０１に基づいて、プロセス実行部１５０が業務（プロセス）を実行するので、プロセス実行部１５０が処理を実行するとともに、プロセス監視部１８１に対して識別通知メッセージを通知する。これにより、プロセス監視部１８１が、業務の進行状況を把握することができるという効果を奏する。
【００７６】
この実施の形態における変換処理生成部１３２は、上記処理装置（ＣＰＵ９１１）を用いて、上記処理データ取得部１３１が取得した処理データ５２０が表わす処理を開始する前に上記識別通知メッセージ（開始通知メッセージ）を通知する開始通知処理Ｌ０２と、上記処理データ取得部１３１が取得した処理データ５２０が表わす処理を終了した後に上記識別通知メッセージ（終了通知メッセージ）を通知する終了通知処理Ｌ０４とを上記識別通知処理として含む変換後処理を表わす処理データ５４０を生成する。
上記プロセス監視部１８１は、上記処理装置（ＣＰＵ９１１）を用いて、上記プロセス実行部１５０が実行している業務の進行状況を監視する。
【００７７】
この実施の形態におけるプロセス実行装置８１０（監視装置）によれば、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、プロセス定義変換部１３３が、変換処理生成部１３２が生成した処理データ５４０に置き換えて生成したプロセス定義データ５０１に基づいて、プロセス実行部１５０が業務（プロセス）を実行するので、プロセス実行部１５０が処理を実行するとともに、処理の実行前及び処理の実行終了後に、プロセス監視部１８１に対して識別通知メッセージを通知する。これにより、プロセス監視部１８１は、どの処理が遅滞しているかなど、より詳しい業務の進行状況を把握することができるという効果を奏する。
【００７８】
この実施の形態における変換処理生成部１３２は、上記処理装置（ＣＰＵ９１１）を用いて、上記処理データ取得部１３１が取得した処理データ５２０が表わす処理が、上記変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００が定義する業務（プロセス）のうち、最初に実行する処理であるか否かを判定する。
変換処理生成部１３２は、上記処理が上記業務のうち最初に実行する処理であると判定した場合、上記処理装置（ＣＰＵ９１１）を用いて、新たなインスタンス識別データを生成する識別生成処理を上記識別取得処理Ｌ０１として含み、更に、上記識別生成処理で生成したインスタンス識別データを他の変換後処理へ通知する識別承継処理Ｌ０５を含む変換後処理を表わす処理データを生成する。
変換処理生成部１３２は、上記処理が上記業務のうち最初に実行する処理でないと判定した場合、上記処理装置（ＣＰＵ９１１）を用いて、他の変換後処理から通知されたインスタンス識別データを取得する識別受継処理を上記識別取得処理Ｌ０１として含み、更に、上記識別受継処理で取得したインスタンス識別データを更に他の変換後処理へ通知する識別承継処理Ｌ０５を含む変換後処理を表わす処理データを生成する。
【００７９】
この実施の形態におけるプロセス実行装置８１０（監視装置）によれば、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、プロセス定義変換部１３３が、変換処理生成部１３２が生成した処理データ５４０に置き換えて生成したプロセス定義データ５０１に基づいて、プロセス実行部１５０が業務（プロセス）を実行するので、プロセス実行部１５０は、業務（プロセス）内の最初の識別取得処理Ｌ０１で、新たなインスタンス識別データを生成し、識別承継処理Ｌ０５で、生成したインスタンス識別データを通知する。プロセス実行部１５０は、最初以外の識別取得処理Ｌ０１では、前の識別承継処理Ｌ０５で通知したインスタンス識別データを取得し、識別承継処理Ｌ０５で、取得したインスタンス識別データを通知する。これにより、同じプロセスのインスタンスの処理のなかでは、インスタンス識別データが受け継がれていくので、プロセス実行部１５０が、同じプロセスのインスタンス内の識別通知処理で通知した識別通知メッセージに含まれるインスタンス識別データは、すべて同じものとなり、プロセス監視部１８１が、業務の進行状況を把握することができるという効果を奏する。
【００８０】
この実施の形態におけるプロセス実行装置８１０（監視装置）は、プロセス実行装置８１０としてコンピュータを機能させるプログラムをコンピュータが実行することにより実現できる。
【００８１】
この実施の形態におけるプロセス実行装置８１０（監視装置）としてコンピュータを機能させるプログラムによれば、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に含まれる処理データ５２０を、プロセス定義変換部１３３が、変換処理生成部１３２が生成した処理データ５４０に置き換えて生成したプロセス定義データ５０１に基づいて、プロセス実行部１５０が業務（プロセス）を実行するので、プロセス実行部１５０が処理を実行するとともに、プロセス監視部１８１に対して識別通知メッセージを通知し、プロセス監視部１８１が、業務の進行状況を把握することができるプロセス実行装置８１０（監視装置）を実現することができるという効果を奏する。
【００８２】
この実施の形態におけるプロセス実行装置８１０（監視装置）が、業務（プロセス）の実行を監視する監視方法は、以下の工程を有することを特徴とする。
上記記憶装置（磁気ディスク装置９２０）が、一以上の処理を表わす処理データ５２０を含み、上記処理データ５２０が表わす処理により構成される業務を定義するプロセス定義データ５００を記憶する。
上記処理装置（ＣＰＵ９１１）が、上記記憶装置（磁気ディスク装置９２０）が記憶したプロセス定義データ５００に含まれる処理データ５２０を取得する。
上記処理装置（ＣＰＵ９１１）が、上記処理装置（ＣＰＵ９１１）が取得した処理データ５２０に基づいて、上記プロセス定義データ５００に基づいて実行される業務（プロセス）を区別するインスタンス識別データを取得する識別取得処理Ｌ０１と、上記識別取得処理Ｌ０１で取得したインスタンス識別データを含む識別通知メッセージ（開始通知メッセージ、終了通知メッセージ）を生成して通知する識別通知処理（開始通知処理Ｌ０２、終了通知処理Ｌ０４）と、上記処理装置（ＣＰＵ９１１）が取得した処理データ５２０が表わす処理とを含む変換後処理を表わす処理データ５４０を生成する。
上記処理装置（ＣＰＵ９１１）が、上記記憶装置（磁気ディスク装置９２０）が記憶したプロセス定義データ５００のうち、上記処理装置（ＣＰＵ９１１）が取得した処理データ５２０を、上記処理装置（ＣＰＵ９１１）が生成した処理データ５４０に置き換えて、上記プロセス定義データを変換する。
上記記憶装置（磁気ディスク装置９２０）が、上記処理装置（ＣＰＵ９１１）が変換したプロセス定義データ５０１を記憶する。
上記処理装置（ＣＰＵ９１１）が、上記記憶装置（磁気ディスク装置９２０）が記憶したプロセス定義データ５０１に基づいて、上記プロセス定義データ５０１に含まれる処理データ５４０が表わす変換後処理を実行することにより、上記プロセス定義データ５０１が定義する業務（プロセス）を実行する。
上記処理装置（ＣＰＵ９１１）が、上記処理装置（ＣＰＵ９１１）が上記識別通知処理（開始通知処理Ｌ０２、終了通知処理Ｌ０４）を実行することにより通知した識別通知メッセージ（開始通知メッセージ、終了通知メッセージ）を取得し、取得した上記識別通知メッセージ（開始通知メッセージ、終了通知メッセージ）に含まれるインスタンス識別データに基づいて、上記処理装置（ＣＰＵ９１１）が実行している業務（プロセス）を監視する。
【００８３】
この実施の形態における監視方法によれば、記憶装置（磁気ディスク装置９２０）が記憶したプロセス定義データ５００に含まれる処理データ５２０を、処理装置（ＣＰＵ９１１）が、処理装置（ＣＰＵ９１１）が生成した処理データ５４０に置き換えて生成したプロセス定義データ５０１に基づいて、処理装置（ＣＰＵ９１１）が業務（プロセス）を実行するので、処理装置（ＣＰＵ９１１）が処理を実行するとともに、識別通知メッセージを通知する。これにより、処理装置（ＣＰＵ９１１）が、業務の進行状況を把握することができるという効果を奏する。
【００８４】
実施の形態２．
実施の形態２について、図１２〜図１５を用いて説明する。
【００８５】
図１２は、この実施の形態におけるプロセス実行システム８００の全体構成の一例を示すシステム構成図である。
なお、実施の形態１で説明したプロセス実行システム８００と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【００８６】
プロセス実行システム８００（監視装置）は、プロセス設計装置８２０、プロセス監視装置８３０、サーバ装置８５０、サーバ装置８５５、端末装置８６５、ネットワーク８４０などを有する。プロセス設計装置８２０、プロセス監視装置８３０、サーバ装置８５０、サーバ装置８５５、端末装置８６５は、ネットワーク８４０を介して互いに接続している。
プロセス設計装置８２０、プロセス監視装置８３０、サーバ装置８５０、サーバ装置８５５、端末装置８６５のハードウェア資源は、実施の形態１でプロセス実行装置８１０、サーバ装置８５０、端末装置８６０のハードウェア資源として説明したものと同様である。
【００８７】
図１３は、この実施の形態におけるプロセス設計装置８２０、プロセス監視装置８３０、サーバ装置８５０、サーバ装置８５５、端末装置８６５の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態１で説明したプロセス実行装置８１０、サーバ装置８５０、端末装置８６０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【００８８】
プロセス設計装置８２０は、プロセス定義入力部１１０、変換前プロセス定義記憶部１２０、プロセス変換部１３０、変換後プロセス定義記憶部１４０、プロセス定義送信部１９１を有する。
プロセス監視装置８３０は、プロセス定義受信部１９２、変換後プロセス定義記憶部１４５、メッセージ受信部１６２、プロセス監視部１８１、実行状況記録部１８２、実行状況表示部１８３を有する。
サーバ装置８５５は、プロセス定義受信部１９２、変換後プロセス定義記憶部１４５、プロセス実行部１５０、サービス実行部１７０、メッセージ送信部１６１、メッセージ受信部１６２を有する。
端末装置８６５は、プロセス定義受信部１９２、変換後プロセス定義記憶部１４５、プロセス実行部１５０、メッセージ送信部１６１、メッセージ受信部１６２、入力部１７１、表示部１７２を有する。
【００８９】
この実施の形態におけるプロセス実行システム８００は、プロセス実行部１５０が各装置（この例では、サーバ装置８５５及び端末装置８６５）に分散して配置されている。
【００９０】
プロセス定義送信部１９１は、ＣＰＵ９１１を用いて、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１を入力する。プロセス定義送信部１９１は、通信装置９１５を用いて、ネットワーク８４０を介して、プロセス監視装置８３０、サーバ装置８５５、端末装置８６５などに対して、入力したプロセス定義データ５０１を送信する。
【００９１】
プロセス定義受信部１９２は、通信装置９１５を用いて、プロセス定義送信部１９１が送信したプロセス定義データ５０１を受信する。プロセス定義受信部１９２は、ＣＰＵ９１１を用いて、受信したプロセス定義データ５０１を出力する。
変換後プロセス定義記憶部１４５は、ＣＰＵ９１１を用いて、プロセス定義受信部１９２が出力したプロセス定義データ５０１を入力する。変換後プロセス定義記憶部１４５は、磁気ディスク装置９２０を用いて、入力したプロセス定義データ５０１を記憶する。
【００９２】
プロセス実行部１５０は、ＣＰＵ９１１を用いて、変換後プロセス定義記憶部１４５が記憶したプロセス定義データ５０１に基づいて、処理を実行することにより、プロセス定義データ５０１が定義するプロセスを実行する。
サーバ装置８５５のプロセス実行部１５０と、端末装置８６５のプロセス実行部１５０とは、それぞれが実行する処理の担当範囲をあらかじめ定めておき、あらかじめ定められた担当範囲内の処理を実行する。例えば、サーバ装置８５５のサービス実行部１７０が実行する実処理に関連する処理は、サーバ装置８５５のプロセス実行部１５０が担当し、端末装置８６５の入力部１７１や表示部１７２を使用する実処理に関連する処理は、端末装置８６５のプロセス実行部１５０が担当する。また、プロセス実行部１５０を持たないサーバ装置８５０のサービス実行部１７０が実行する実処理に関連する処理は、どちらのプロセス実行部１５０が担当してもよいが、例えば、サーバ装置８５５のプロセス実行部１５０が担当することに定めておく。
プロセス定義入力部１１０や変換処理生成部１３２は、ＣＰＵ９１１を用いて、あらかじめ定めた担当範囲に基づいて、処理を実行するプロセス実行部１５０を決定し、決定したプロセス実行部１５０に基づいて、実行装置識別データ５２２を決定し、処理データ５２０や処理データ５４０を生成する。
【００９３】
図１４は、この実施の形態における変換処理生成部１３２が生成する処理データ５４０の一例を示す図である。
この例において、「処理Ｓ４」は、「端末Ｃ」が実行する実処理である。「端末Ｃ」がプロセス実行部１５０を有する装置であるとし、「端末Ｃ」のサービス実行部１７０が実行する実処理に関連する処理は、「端末Ｃ」のプロセス実行部１５０が実行すると、あらかじめ定められているものとする。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、「処理Ｓ４」を表わす処理データ５２０に基づいて、処理データ５４０を生成する。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、生成する処理データ５４０が表わす変換後処理に含まれる「識別取得処理Ｌ４１」「開始通知処理Ｌ４２」「終了通知処理Ｌ４４」「識別承継処理Ｌ４５」などの処理を実行する装置を表わす実行装置識別データ５２２に、「端末Ｃ」を設定する。
【００９４】
図１５は、この実施の形態におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わすシーケンス図である。
【００９５】
端末装置８６５「端末Ｃ」において、入力部１７１が、プロセス開始の条件となる発注伝票を入力したとする。入力部１７１は、サーバ装置８５５「サーバＡ」に対して、プロセスの開始を要求するリクエストメッセージを生成し、メッセージ送信部１６１が送信する。
【００９６】
サーバ装置８５５「サーバＡ」において、メッセージ受信部１６２が、端末装置８６５「端末Ｃ」が送信したリクエストメッセージを受信し、プロセス実行部１５０が、プロセス開始の条件が満たされたと判定する。プロセス実行部１５０は、変換後プロセス定義記憶部１４５が記憶したプロセス定義データ５０１に基づいて、識別取得処理Ｌ１１を実行し、新たなインスタンス識別データを生成する。
識別取得処理Ｌ１１が終了すると、開始通知処理Ｌ１２の開始条件が満たされるので、プロセス実行部１５０は、開始通知処理Ｌ１２を実行し、プロセス監視装置８３０に対して、開始通知メッセージを通知する。
開始通知処理Ｌ１２が終了すると、処理Ｓ１の開始条件が満たされるので、プロセス実行部１５０は、サービス実行部１７０に対して、処理Ｓ１の実行を要求するリクエストメッセージを生成し、送信する。
サービス実行部１７０は、プロセス実行部１５０が送信したリクエストメッセージを受信し、処理Ｓ１を実行する。処理Ｓ１の実行が終わると、サービス実行部１７０は、処理Ｓ１の実行結果を表わすリプライメッセージを生成し、プロセス実行部１５０に対して送信する。
プロセス実行部１５０は、サービス実行部１７０が送信したリプライメッセージを受信し、処理Ｓ１が終了して終了通知処理Ｌ１４の開始条件が満たされたと判定する。プロセス実行部１５０は、終了通知処理Ｌ１４を実行し、プロセス監視装置８３０に対して、終了通知メッセージを通知する。
終了通知処理Ｌ１４が終了すると、識別承継処理Ｌ１５の開始条件が満たされるので、プロセス実行部１５０は、識別承継処理Ｌ１５を実行し、次の変換後処理の識別取得処理Ｌ２１に対して、識別取得処理Ｌ１１で生成したインスタンス識別データを通知する。
【００９７】
なお、識別承継処理を実行するプロセス実行部１５０と、次の変換後処理の識別取得処理を実行するプロセス実行部１５０とが異なる場合には、プロセス実行部１５０は、ＣＰＵ９１１を用いて、インスタンス識別データを含む識別承継メッセージを生成し、出力する。メッセージ送信部１６１は、ＣＰＵ９１１を用いて、プロセス実行部１５０が出力した識別承継メッセージを入力し、通信装置９１５を用いて、ネットワーク８４０を介して、入力した識別承継メッセージを送信する。
次の変換後処理の識別取得処理を実行するプロセス実行部１５０を有する装置では、メッセージ受信部１６２が、通信装置９１５を用いて、ネットワーク８４０を介して、送信された識別承継メッセージを受信し、ＣＰＵ９１１を用いて、受信した識別承継メッセージを出力する。プロセス実行部１５０は、ＣＰＵ９１１を用いて、識別取得処理を実行し、メッセージ受信部１６２が出力した識別承継メッセージを入力して、入力した識別承継メッセージに含まれるインスタンス識別データを取得する。
【００９８】
このように、プロセス実行部１５０を複数設け、各装置に分散して配置することにより、処理の間で（論理的に）やり取りされるメッセージは変わらないが、物理的にネットワーク８４０を介してやり取りされるメッセージを少なくすることができ、ネットワーク８４０の負荷を軽くすることができる。
【００９９】
また、プロセス実行システム８００を構成する装置の一部に障害が発生して、処理を実行できなくなった場合、プロセス監視部１８１が処理の実行状況を監視しているので、処理の遅滞を検出し、他の装置に代替処理の実行を要求することができる。このとき、プロセス実行部１５０が各装置に分散して配置されているので、代替処理を実行する装置の選択の幅が広くなる。したがって、プロセス実行システム８００を構成する装置の一部に障害が発生しても、プロセスの実行を続けることができる。
【０１００】
実施の形態３．
実施の形態３について、図１６〜図２０を用いて説明する。
この実施の形態におけるプロセス実行システム８００の全体構成、各装置のハードウェア構成及び機能ブロックの構成は、実施の形態１または実施の形態２で説明したものと同様なので、ここでは説明を省略する。
【０１０１】
図１６は、この実施の形態におけるサービス実行部１７０が実処理を実行するサービス実行処理の流れの一例を示すフローチャート図である。
【０１０２】
開始メッセージ受信工程Ｓ７３１において、サービス実行部１７０は、ＣＰＵ９１１を用いて、サービス開始メッセージを受信する。サービス開始メッセージは、実処理の開始を要求するメッセージであり、実処理を実行するのに必要なパラメータなどを表わすデータを含む。サービス開始メッセージは、プロセス実行部１５０が送信したものであり、サービス実行部１７０は、自身を有する装置（サーバ装置８５５など）のプロセス実行部１５０からサービス開始メッセージを直接受信することもあるし、他の装置（プロセス実行装置８１０など）のプロセス実行部１５０からネットワーク８４０・メッセージ受信部１６２を介して受信することもある。
サービスインスタンス生成工程Ｓ７３２において、サービス実行部１７０は、ＣＰＵ９１１を用いて、サービスインスタンスを生成し、記憶領域を確保する。サービスインスタンスは、実処理を実行するインスタンスである。
サービスインスタンス実行工程Ｓ７３３において、サービス実行部１７０は、ＣＰＵ９１１を用いて、サービスインスタンス生成工程Ｓ７３２で生成したサービスインスタンスに、開始メッセージ受信工程Ｓ７３１で受信したサービス開始メッセージを与えて、サービスインスタンスを実行する。サービスインスタンスの実行により、サービス実行部１７０は、ＣＰＵ９１１を用いて、サービス結果メッセージを生成する。サービス結果メッセージは、実処理を実行した結果を表わすデータを含み、実処理が終了したことを示す。サービス結果メッセージは、結果通知メッセージの一例である。
サービスインスタンス削除工程Ｓ７３４において、サービス実行部１７０は、ＣＰＵ９１１を用いて、実行が終了したサービスインスタンスを削除し、記憶領域を解放する。
結果メッセージ送信工程Ｓ７３５において、サービス実行部１７０は、ＣＰＵ９１１を用いて、サービスインスタンス実行工程Ｓ７３３で生成したサービス結果メッセージを、プロセス実行部１５０に対して送信する。
【０１０３】
プロセス実行部１５０は、ＣＰＵ９１１を用いて、サービス実行部１７０が送信したサービス結果メッセージを受信する。
プロセス実行部１５０は、第一の処理の終了を条件として開始すべき第二の処理がある場合、第一の処理を実行したサービス実行部１７０から受信したサービス結果メッセージを、第二の処理に対するサービス開始メッセージに変換し、第二の処理を実行するサービス実行部１７０に対して、変換したサービス開始メッセージを送信する。プロセス実行部１５０が変換したサービス開始メッセージは、結果通知メッセージの一例である。
【０１０４】
このように、この実施の形態におけるプロセス実行システム８００は、メッセージのやり取りをベースにして、処理を実行する。
【０１０５】
図１７は、この実施の形態における変換前プロセス定義記憶部１２０が記憶するプロセス定義データ５００の一例を示す図である。
プロセス定義データ５００は、ルーティング定義データ５３０を含む。
ルーティング定義データ５３０は、ある処理から受信したサービス終了メッセージを、どのように変換し、どの処理へ送信したらよいかを示すデータである。ルーティング定義データ５３０は、処理データの一例である。
【０１０６】
ルーティング定義データ５３０は、受信元データ５３１、転送条件データ５３２、変換処理データ５３３、送信先データ５３４を含む。
受信元データ５３１は、受信したサービス結果メッセージを送信した処理を表わす処理識別データである。
転送条件データ５３２は、受信したサービス結果メッセージを、送信先に転送する条件を表わすデータである。転送条件データ５３２を設定することにより、条件分岐を記述することができる。
変換処理データ５３３は、受信したサービス結果メッセージをサービス開始メッセージに変換する変換処理の名前など、変換処理を識別するデータである。
送信先データ５３４は、サービス結果メッセージを変換して生成したサービス開始メッセージを送信する送信先の処理を表わす処理識別データである。
【０１０７】
この例に示したプロセス定義データ５００により、フローチャート６００に示したプロセスが定義される。
この例において、「判定Ｓ２」は、処理としてではなく、転送条件データ５３２に基づくメッセージの転送先の振り分けにより記述されている。
【０１０８】
なお、ここでは、プロセスの開始や終了も一つの処理として扱われている。すなわち、プロセス内で最初に実行する処理は、「プロセス開始」処理が送信したサービス結果メッセージを変換したサービス開始メッセージを受信する。また、プロセス内で最後に実行する処理が送信したサービス結果メッセージは、サービス開始メッセージに変換されて「プロセス終了」処理に送信される。
【０１０９】
プロセスは、複数の処理を複合した一つの処理として扱われる。すなわち、実処理と同様、サービス開始メッセージの受信により開始し、サービス終了メッセージを送信して終了する。プロセスが受信したサービス開始メッセージは、プロセス内では、「プロセス開始」処理が送信したサービス結果メッセージとして扱われる。また、「プロセス終了」処理」が受信したサービス開始メッセージが、プロセスが送信するサービス終了メッセージとなる。
【０１１０】
図１８は、この実施の形態における変換処理生成部１３２が生成する処理データ５４０が表わす変換後処理の内容を表わすフローチャート図である。
【０１１１】
変換後処理は、プロセスと同様、複数の処理を複合した一つの処理として扱われ、サービス開始メッセージの受信により開始し、サービス終了メッセージを送信して終了する。
【０１１２】
識別取得処理Ｌ０１は、識別付結果取得処理Ｌ０１ａと、識別データ判定処理Ｌ０１ｂと、識別データ生成処理Ｌ０１ｃと、識別データ受継処理Ｌ０１ｄとから構成される。
識別付結果取得処理Ｌ０１ａは、変換後処理の開始に伴って、サービス開始メッセージを受信する処理である。変換後処理が受信するサービス開始メッセージは、変換後処理がプロセス内で最初に実行する変換後処理でなければ、インスタンス識別データと、実処理へ渡すべきサービス開始メッセージとを含む。変換後処理がプロセス内で最初に実行する変換後処理であれば、まだインスタンス識別データが生成されていないので、変換後処理が受信するサービス開始メッセージは、インスタンス識別データを含まない。
識別データ判定処理Ｌ０１ｂは、識別付結果取得処理Ｌ０１ａで受信したサービス開始メッセージに、インスタンス識別データが含まれているか否かを判定する処理である。
識別データ生成処理Ｌ０１ｃは、識別データ判定処理Ｌ０１ｂでインスタンス識別データが含まれていないと判定した場合に実行され、新たなインスタンス識別データを生成する処理である。
識別データ受継処理Ｌ０１ｄは、識別データ判定処理Ｌ０１ｂでインスタンス識別データが含まれていると判定した場合に実行され、識別付結果取得処理Ｌ０１ａで受信したサービス開始メッセージから、インスタンス識別データを取得する処理である。
【０１１３】
開始通知処理Ｌ０２は、開始通知メッセージを生成して、プロセス監視処理に対して送信する処理である。
【０１１４】
処理実行処理Ｌ０３は、変換後結果通知処理Ｌ０３ａと、変換後結果取得処理Ｌ０３ｂとから構成される。
変換後結果通知処理Ｌ０３ａは、識別付結果取得処理Ｌ０１ａで受信したサービス開始メッセージから、実処理へ渡すべきサービス開始メッセージを取得して、実処理に対して送信する処理である。これにより、実処理が呼び出される。
変換後結果取得処理Ｌ０３ｂは、変換後結果通知処理Ｌ０３ａで呼び出した実処理からサービス終了メッセージを受信する処理である。
【０１１５】
終了通知処理Ｌ０４は、終了通知メッセージを生成して、プロセス監視処理に対して送信する処理である。
【０１１６】
識別承継処理Ｌ０５は、結果生成処理Ｌ０５ａと、識別付結果通知処理Ｌ０５ｂとから構成される。
結果生成処理Ｌ０５ａは、識別データ取得処理Ｌ０１ｂで取得したインスタンス識別データと、変換後結果取得処理Ｌ０３ｂで受信したサービス終了メッセージとに基づいて、変換後処理が送信するサービス終了メッセージを生成する処理である。変換後処理が送信するサービス終了メッセージは、インスタンス識別データと、実処理から受け取ったサービス終了メッセージとを含む。
識別付結果通知処理Ｌ０５ｂは、変換後処理の終了に伴って、結果生成処理Ｌ０５ａで生成したサービス終了メッセージを送信する。
【０１１７】
なお、変換後処理の大部分の処理は、プロセス実行部１５０が提供するメッセージの変換・転送機能を用いて実現する。
【０１１８】
図１９は、この実施の形態における変換処理生成部１３２が生成する処理データ５４０の一例を示す図である。
処理データ取得部１３１は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００から、ルーティング定義データ５３０を取得する。処理データ取得部１３１は、ＣＰＵ９１１を用いて、取得したルーティング定義データ５３０を出力する。
変換処理生成部１３２は、ＣＰＵ９１１を用いて、処理データ取得部１３１が出力したルーティング定義データ５３０を入力する。変換処理生成部１３２は、ＣＰＵ９１１を用いて、入力したルーティング定義データ５３０に基づいて、ルーティング定義データ５５０，５６０を生成する。変換処理生成部１３２は、ＣＰＵ９１１を用いて、生成したルーティング定義データ５５０，５６０を出力する。
プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換処理生成部１３２が出力したルーティング定義データ５５０，５６０を入力する。プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００のうち、処理データ取得部１３１が取得したルーティング定義データ５３０を、入力したルーティング定義データ５５０で置き換える。また、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変換前プロセス定義記憶部１２０が記憶したプロセス定義データ５００に、入力したルーティング定義データ５６０を追加して、プロセス定義データ５０１を生成する。
【０１１９】
ルーティング定義データ５５０は、ルーティング定義データ５３０が定義する実処理から実処理へのメッセージの送受信を、変換後処理から変換後処理へのメッセージの送受信に置き換えたものである。この例において、変換処理生成部１３２は、ルーティング定義データ５３０に基づいて、「処理Ｓ１」「処理Ｓ３」を、それぞれ「変換後処理Ｌ１」「変換後処理Ｌ３」に置き換えている。
【０１２０】
ルーティング定義データ５６０は、変換後処理を定義するものであり、変換後処理を構成する各処理の間でのメッセージの送受信を定義する。
ルーティング定義データ５６０は、複数のルーティング定義データ５６０ａ〜５６０ｇの集まりである。
【０１２１】
ルーティング定義データ５６０ａは、「変換後処理Ｌ３開始」がサービス終了メッセージを送信した場合に、転送条件「識別なし」を満たすか否かを判定し、「識別なし」を満たす場合に、サービス終了メッセージをそのまま変換せずにサービス開始メッセージとして、「識別生成処理」へ送信することを表わす。転送条件「識別なし」や「識別生成処理」の具体的内容は、別途定義されているものとする。具体的には、転送条件「識別なし」は、変換後処理Ｌ３が送信したサービス終了メッセージに、インスタンス識別データが含まれていないという条件であり、「識別生成処理」は、新たなインスタンス識別データを生成し、生成したインスタンス識別データを含むサービス終了メッセージを生成する処理である。
すなわち、ルーティング定義データ５６０ａは、図１８に示した処理のうち、識別付取得処理Ｌ０１ａ、識別データ判定処理Ｌ０１ｂ、識別データ生成処理Ｌ０１ｃを表わしている。
【０１２２】
ルーティング定義データ５６０ｂは、「識別生成処理」がサービス終了メッセージを送信した場合に、サービス終了メッセージをそのまま変換せずにサービス開始メッセージとして、「識別記憶処理」へ送信することを表わす。「識別記憶処理」の具体的内容は、別途定義されているものとする。具体的には、「識別記憶処理」は、受信したサービス開始メッセージからインスタンス識別データを取得して記憶し、受信したサービス開始メッセージをそのままサービス終了メッセージとする処理である。
【０１２３】
ルーティング定義データ５６０ｃは、「変換後処理Ｌ３開始」がサービス終了メッセージを送信した場合に、転送条件「識別あり」を満たすか否かを判定し、「識別あり」を満たす場合に、サービス終了メッセージを変換処理「識別抽出」により変換してサービス開始メッセージを生成し、「識別記憶処理」へ送信することを表わす。転送条件「識別あり」や変換処理「識別抽出」の具体的内容は、別途定義されているものとする。具体的には、転送条件「識別あり」は、変換後処理Ｌ３が送信したサービス終了メッセージに、インスタンス識別データが含まれているという条件であり、変換処理「識別抽出」は、サービス終了メッセージから、インスタンス識別データを抽出して、抽出したインスタンス識別データを含むサービス開始メッセージを生成する処理である。
すなわち、ルーティング定義データ５６０ｃは、図１８に示した処理のうち、識別付取得処理Ｌ０１ａ、識別データ判定処理Ｌ０１ｂ、識別データ受継処理Ｌ０１ｄを表わしている。
【０１２４】
ルーティング定義データ５６０ｄは、「識別記憶処理」がサービス終了メッセージを送信した場合に、サービス終了メッセージを変換処理「開始通知生成」により変換してサービス開始メッセージを生成し、「プロセス監視処理」へ送信することを表わす。変換処理「開始通知生成」の具体的内容は、別途定義されているものとする。具体的には、変換処理「開始通知生成」は、サービス終了メッセージから、インスタンス識別データを抽出し、抽出したインスタンス識別データに基づいて開始通知メッセージを生成する処理である。
すなわち、ルーティング定義データ５６０ｄは、図１８に示した処理のうち、開始通知処理Ｌ０２を表わしている。
【０１２５】
ルーティング定義データ５６０ｅは、「変換後処理Ｌ３開始」がサービス終了メッセージを送信した場合に、サービス終了メッセージを変換処理「メッセージ抽出」により変換してサービス開始メッセージを生成し、「処理Ｓ３」へ送信することを表わす。変換処理「メッセージ抽出」の具体的内容は、別途定義されているものとする。具体的には、変換処理「メッセージ抽出」は、サービス終了メッセージから、実処理へ渡すべきサービス開始メッセージを抽出する処理である。
すなわち、ルーティング定義データ５６０ｅは、図１８に示した処理のうち、変換後結果通知処理Ｌ０３ａを表わす。
【０１２６】
ルーティング定義データ５６０ｆは、「処理Ｓ３」がサービス終了メッセージを送信した場合に、サービス終了メッセージを変換処理「終了通知生成」により変換してサービス開始メッセージを生成し、「プロセス監視処理」へ送信することを表わす。変換処理「終了通知生成」の具体的内容は、別途定義されているものとする。具体的には、変換処理「終了通知生成」は、識別記憶処理で記憶したインスタンス識別データに基づいて終了通知メッセージを生成する処理である。このように、変換処理は、必ずしも、受信したサービス終了メッセージの内容と関係のあるサービス開始メッセージを生成する処理でなくてもよい。
すなわち、ルーティング定義データ５６０ｆは、図１８に示した処理のうち、終了通知処理Ｌ０４を表わす。
【０１２７】
ルーティング定義データ５６０ｇは、「処理Ｓ３」がサービス終了メッセージを送信した場合に、サービス終了メッセージを変換処理「結果通知生成」により変換してサービス開始メッセージを生成し、「変換後処理Ｌ３終了」へ送信することを表わす。変換処理「結果通知生成」の具体的内容は、別途定義されているものとする。具体的には、変換処理「結果通知生成」は、識別記憶処理で記憶したインスタンス識別データと、サービス終了メッセージとを含むサービス開始メッセージを生成する処理である。
すなわち、ルーティング定義データ５６０ｇは、図１８に示した処理のうち、変換後結果取得処理Ｌ０３ｂと、結果生成処理Ｌ０５ａと、識別付結果通知処理Ｌ０５ｂとを表わす。
【０１２８】
このように、変換後処理の内容のほとんどは、メッセージのルーティング処理として記述することができる。
【０１２９】
図２０は、この実施の形態におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わす図である。
【０１３０】
プロセス監視部１８１は、プロセスの実行開始前に、プロセス監視処理のインスタンス４８１を生成し、開始通知メッセージや終了通知メッセージを待つ。
【０１３１】
プロセスに対するサービス開始メッセージ５７１を受け取ると、プロセス実行部１５０は、プロセスのインスタンス４５１を生成し、実行する。プロセス実行部１５０は、プロセスのインスタンス４５１の実行において、サービス開始メッセージ５７１を「プロセス開始」処理のサービス終了メッセージ５７２とする。
プロセス実行部１５０は、サービス終了メッセージ５７２を、変換処理「変換Ｅ」により変換して、「変換後処理Ｌ１」のサービス開始メッセージ５７３とする。
プロセス実行部１５０は、「変換後処理Ｌ１」のインスタンス４５２を生成し、実行する。プロセス実行部１５０は、「変換後処理Ｌ１」のインスタンス４５２の実行において、サービス開始メッセージ５７３を、「変換後処理Ｌ１開始」のサービス終了メッセージ５７４とする。
【０１３２】
プロセス実行部１５０は、サービス終了メッセージ５７４に基づいて、転送条件「識別なし」が満たされているか判定する。プロセス実行部１５０は、転送条件「識別なし」が満たされていると判定し、サービス終了メッセージ５７４を変換せずに「識別生成処理」のサービス開始メッセージとする。
プロセス実行部１５０は、「識別生成処理」のインスタンス４５３を生成し、実行する。プロセス実行部１５０は、「識別生成処理」のインスタンス４５３の実行において、新たなインスタンス識別データを生成し、生成したインスタンス識別データを含むサービス終了メッセージ５７５を生成する。
プロセス実行部１５０は、「識別生成処理」のサービス終了メッセージ５７５を変換せずに「識別記憶処理」のサービス開始メッセージとする。
プロセス実行部１５０は、「識別記憶処理」のインスタンス４５４を生成し、実行する。プロセス実行部１５０は、「識別記憶処理」のインスタンス４５４の実行において、サービス開始メッセージ５７５からインスタンス識別データを取得して、記憶する。プロセス実行部１５０は、サービス開始メッセージ５７５をそのままサービス終了メッセージ５７６とする。
プロセス実行部１５０は、「識別記憶処理」のサービス終了メッセージ５７６を、変換処理「開始通知生成」により変換して、開始通知メッセージ５７７とし、「プロセス監視処理」へ送信する。
【０１３３】
また、プロセス実行部１５０は、「変換後処理Ｌ１開始」のサービス終了メッセージ５７４を、変換処理「メッセージ抽出」により変換して、「処理Ｓ１」のサービス開始メッセージ５７８とし、サービス実行部１７０へ送信する。
サービス実行部１７０は、サービス開始メッセージ５７８を受信し、「処理Ｓ１」のサービスインスタンス４７１を生成して、実行する。サービス実行部１７０は、サービス終了メッセージ５７９を生成して、送信する。
【０１３４】
プロセス実行部１５０は、サービス終了メッセージ５７９を受信し、変換処理「終了通知生成」により変換して、終了通知メッセージ５８０とし、「プロセス監視処理」へ送信する。
また、プロセス実行部１５０は、サービス終了メッセージ５７９を、変換処理「結果通知生成」により変換して、「変換後処理Ｌ１終了」のサービス開始メッセージ５８１とする。
プロセス実行部１５０は、「変換後処理Ｌ１」のインスタンス４５２の実行において、サービス開始メッセージ５８１を「変換後処理Ｌ１」のサービス終了メッセージ５８２とする。
【０１３５】
プロセス実行部１５０は、転送条件「条件Ｄ」が満たされているか判定する。この例では、満たされていると判定したものとする。プロセス実行部１５０は、「変換後処理Ｌ１」のサービス終了メッセージ５８２を、変換処理「変換Ｆ」により変換して、「変換後処理Ｌ３」のサービス開始メッセージ５８３とする。
プロセス実行部１５０は、「変換後処理Ｌ３」のインスタンス４５５を生成し、実行する。プロセス実行部１５０は、「変換後処理Ｌ３」のインスタンス４５５の実行において、サービス開始メッセージ５８３を、「変換後処理Ｌ３開始」のサービス終了メッセージ５８４とする。
【０１３６】
プロセス実行部１５０は、サービス終了メッセージ５８４に基づいて、転送条件「識別あり」が満たされているか判定する。プロセス実行部１５０は、転送条件「識別あり」が満たされていると判定し、サービス終了メッセージ５８４を変換せずに「識別記憶処理」のサービス開始メッセージとする。
プロセス実行部１５０は、「識別記憶処理」のインスタンス４５６を生成し、実行する。プロセス実行部１５０は、「識別記憶処理」のインスタンス４５６の実行において、サービス開始メッセージ５８４からインスタンス識別データを取得して、記憶する。プロセス実行部１５０は、サービス開始メッセージ５８４をそのままサービス終了メッセージ５８５とする。
プロセス実行部１５０は、「識別記憶処理」のサービス終了メッセージ５８５を、変換処理「開始通知生成」により変換して、開始通知メッセージ５８６とし、「プロセス監視処理」へ送信する。
【０１３７】
このように、インスタンス識別データは、プロセス内の最初の変換後処理のなかで生成され、その後の変換後処理に受け継がれていく。変換後処理は、実処理の間で送受信されるメッセージにインスタンス識別データを付加したメッセージを送受信することにより、インスタンス識別データを受け継ぐ。
【０１３８】
この実施の形態における変換前プロセス定義記憶部１２０は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記処理（実処理）の実行結果を表わす結果通知メッセージ（サービス終了メッセージ）を生成して他の処理へ通知する結果通知処理と、更に他の処理から通知された結果通知メッセージ（サービス開始メッセージ）を取得する結果取得処理とを含む処理を表わす処理データ（ルーティング定義データ５３０）を含むプロセス定義データ５００を記憶する。
上記変換処理生成部１３２は、上記処理装置（ＣＰＵ９１１）を用いて、上記処理データ取得部１３１が取得した処理データ（ルーティング定義データ５３０）が表わす処理（実処理）から通知された結果通知メッセージ（サービス終了メッセージ）を取得する変換後結果取得処理Ｌ０３ｂを更に含み、上記識別取得処理Ｌ０１で取得したインスタンス識別データと、上記変換後結果取得処理Ｌ０３ｂで取得した結果通知メッセージとを含む識別付結果通知メッセージ（サービス終了メッセージ）を他の変換後処理へ通知する識別付結果通知処理Ｌ０５ｂを、上記識別承継処理として含み、更に他の変換後処理から通知された識別付結果通知メッセージ（サービス開始メッセージ）を取得する識別付結果取得処理Ｌ０１ａを、上記識別受継処理として含み、上記識別付結果取得処理Ｌ０１ａで取得した識別付結果通知メッセージに含まれる結果通知メッセージ（サービス開始メッセージ）を、上記処理データ取得部１３１が取得した処理データ（ルーティング定義データ５３０）が表わす処理（実処理）へ通知する変換後結果通知処理Ｌ０３ａを更に含む変換後処理を表わす処理データを生成する。
【０１３９】
この実施の形態におけるプロセス実行システム８００（監視装置）によれば、実処理が次の実処理に対して送信する結果通知メッセージに、インスタンス識別データを付加した識別付結果通知メッセージを、変換後処理が次の変換後処理に対して送信するので、結果通知メッセージの受け渡しと、インスタンス識別データの引継ぎが同時にできる。これにより、プロセス実行部１５０が、同じプロセスのインスタンス内の識別通知処理で通知した識別通知メッセージに含まれるインスタンス識別データは、すべて同じものとなり、プロセス監視部１８１が、業務の進行状況を把握することができるという効果を奏する。
【０１４０】
実施の形態４．
実施の形態４について、図２１〜図２６を用いて説明する。
この実施の形態におけるプロセス実行システム８００の全体構成、各装置のハードウェア構成及び機能ブロックの構成は、実施の形態１または実施の形態２で説明したものと同様なので、ここでは説明を省略する。
【０１４１】
この実施の形態におけるプロセス実行システム８００は、ＥＳＢ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｅｒｖｉｃｅ  Ｂｕｓ）と呼ばれる方式で、各装置が実行する実処理（サービス）間の連携を取り、一連のサービスの繋がりにより構成される業務（プロセス）を実行する。
【０１４２】
図２１は、この実施の形態におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの一例を示すフローチャート図である。
【０１４３】
プロセス定義変換部１３３は、あらかじめ、ＲＡＭ９１４を用いて、サービス（処理データ）を記憶する記憶領域を複数確保しておく。以下の説明では、プロセス変換部１３０が確保した記憶領域を、変数ＣＳ、変数ＮＳ、変数ＳＥと呼ぶ。
【０１４４】
サービス取得工程Ｓ７４１において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から最初のサービス（処理データ）を取り出して、変数ＣＳに設定する。
サービス判定工程Ｓ７４２において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳに次のサービス（処理データ）があるか確認する。変数ＣＳに次のサービスがなかった場合、プロセス変換処理を終了する。変数ＣＳに次のサービスがあった場合、次サービス取得工程Ｓ７４３へ進む。
次サービス取得工程Ｓ７４３において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から次のサービス（処理データ）を取り出して、変数ＮＳに設定する。
変換後処理生成工程Ｓ７４４において、変換処理生成部１３２は、ＣＰＵ９１１を用いて、新しいＳＥＣ（変換後処理）を生成し、変数ＳＥに設定する。なお、ＳＥＣ（変換後処理）は、シーケンシャルなプロセスの監視を行うためにプロセスに挿入するサービスを表わす。
変換後処理設定工程Ｓ７４５において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳの次のサービスとして変数ＳＥを設定する。
次サービス設定工程Ｓ７４６において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥの次のサービスとして変数ＮＳを設定する。
繰返し工程Ｓ７４７において、プロセス定義変換部１３３は、変数ＣＳに変数ＳＥを設定する。その後、サービス判定工程Ｓ７４２に戻る。
【０１４５】
図２２は、この実施の形態におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの別の例を示すフローチャート図である。
【０１４６】
サービス取得工程Ｓ７５１において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から最初のサービス（処理データ）を取り出して変数ＣＳに設定する。
サービス判定工程Ｓ７５２において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳに次のサービスがあるか確認する。変数ＣＳに次のサービスがなかった場合、プロセス変換処理を終了する。変数ＣＳに次のサービスがあった場合、次サービス取得工程Ｓ７５３へ進む。
次サービス取得工程Ｓ７５３において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から次のサービス（処理データ）を取り出して変数ＮＳに設定する。
分岐判定工程Ｓ７５４において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＮＳが条件分岐であるか確認する。変数ＮＳが条件分岐であった場合、分岐生成処理Ｓ７６０へ進む。変数ＮＳが条件分岐でなかった場合、連接生成処理Ｓ７７０へ進む。
分岐生成処理Ｓ７６０において、プロセス変換部１３０は、変数ＮＳを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、分岐生成処理を呼び出し、戻り値を取得する。その後、次サービス設定工程Ｓ７５５へ進む。
連接生成処理Ｓ７７０において、プロセス変換部１３０は、変数ＮＳを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、連接生成処理を呼び出し、戻り値を取得する。その後、次サービス設定工程Ｓ７５５へ進む。
次サービス設定工程Ｓ７５５において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳの次のサービスとして、分岐生成処理Ｓ７６０もしくは連接生成処理Ｓ７６０で取得した戻り値を設定する。
【０１４７】
図２３は、この実施の形態における分岐生成処理Ｓ７６０の流れの一例を示すフローチャート図である。
【０１４８】
サービス取得工程Ｓ７６１において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、与えられたプロセス情報（プロセス定義データ５００）から最初のサービス（処理データ）を取り出して変数ＣＳに設定する。
次サービス第一取得工程Ｓ７６２において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から変数ＣＳの条件が真だったときの次のサービスを取り出して変数ＮＴに設定する。
サービス第一判定工程Ｓ７６３において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＮＴが条件分岐であるか確認する。変数ＮＴが条件分岐であった場合、分岐判定処理Ｓ７６０ａへ進む。変数ＮＴが条件分岐でなかった場合、連接判定処理Ｓ７７０ａへ進む。
分岐生成処理Ｓ７６０ａにおいて、プロセス変換部１３０は、変数ＮＴを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に分岐生成処理を呼び出し、戻り値を取得して、第一戻り値とする。その後、次サービス第二取得工程Ｓ７６４へ進む。
連接生成処理Ｓ７７０ａにおいて、プロセス変換部１３０は、変数ＮＴを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に連接生成処理を呼び出し、戻り値を取得して、第一戻り値とする。その後、次サービス第二取得工程Ｓ７６４へ進む。
次サービス第二取得工程Ｓ７６４において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から変数ＣＳの条件が偽だったときの次のサービスを取り出して変数ＮＦに設定する。
サービス第二判定工程Ｓ７６５において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＮＦが条件分岐であるか確認する。変数ＮＦが条件分岐であった場合、分岐判定処理Ｓ７６０ｂへ進む。変数ＮＦが条件分岐でなかった場合、連接判定処理Ｓ７７０ｂへ進む。
分岐生成処理Ｓ７６０ｂにおいて、プロセス変換部１３０は、変数ＮＦを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に分岐生成処理を呼び出し、戻り値を取得して、第二戻り値とする。その後、変換後分岐生成工程Ｓ７６６へ進む。
連接生成処理Ｓ７７０ｂにおいて、プロセス変換部１３０は、変数ＮＦを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に連接生成処理を呼び出し、戻り値を取得して、第二戻り値とする。その後、変換後分岐生成工程Ｓ７６６へ進む。
変換後分岐生成工程Ｓ７６６において、変換処理生成部１３２は、ＣＰＵ９１１を用いて、新しいＳＥＣＣＢＲ（変換後分岐処理）を生成し、変数ＳＥに設定する。なお、ＳＥＣＣＢＲ（変換後分岐処理）は、条件分岐の監視を行うためにプロセスに挿入するサービスを表わす。
第一戻り値設定工程Ｓ７６７において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥの条件が真だったときの次のサービスとして、分岐生成処理Ｓ７６０ａもしくは連接生成処理Ｓ７７０ａで取得した第一戻り値を設定する。
第二戻り値設定工程Ｓ７６８において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥの条件が偽だったときの次のサービスとして、分岐生成処理Ｓ７６０ｂもしくは連接生成処理Ｓ７７０ｂで取得した第二戻り値を設定する。
戻り値返却工程Ｓ７６９において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥを戻り値として返却する。
【０１４９】
図２４は、この実施の形態における連接生成処理Ｓ７７０の流れの一例を示すフローチャート図である。
【０１５０】
サービス取得工程Ｓ７７１において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、与えられたプロセス情報（プロセス定義データ５００）から最初のサービス（処理データ）を取り出して変数ＣＳに設定する。
サービス判定工程Ｓ７７２において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳに次のサービスがあるか確認する。変数ＣＳに次のサービスがない場合、変換後処理生成工程Ｓ７７６へ進む。変数ＣＳに次のサービスがある場合、次サービス取得工程Ｓ７７３へ進む。
次サービス取得工程Ｓ７７３において、処理データ取得部１３１は、ＣＰＵ９１１を用いて、プロセス情報（プロセス定義データ５００）から次のサービス（処理データ）を取り出して変数ＮＳに設定する。
分岐判定工程Ｓ７７４において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＮＳが条件分岐であるか確認する。変数ＮＳが条件分岐であった場合、分岐生成処理Ｓ７６０ｃへ進む。変数ＮＳが条件分岐でなかった場合、連接生成処理Ｓ７７０ｃへ進む。
分岐生成処理Ｓ７６０ｃにおいて、プロセス変換部１３０は、変数ＮＳを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に分岐生成処理を呼び出し、戻り値を取得する。その後、戻り値設定工程Ｓ７７５へ進む。
連接生成処理Ｓ７７０ｃにおいて、プロセス変換部１３０は、変数ＮＳを最初のサービスとするプロセス情報（プロセス定義データ５００）に対して、再帰的に連接生成処理を呼び出し、戻り値を取得する。その後、戻り値設定工程Ｓ７７５へ進む。
戻り値設定工程Ｓ７７５において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥの次のサービスとして分岐生成処理Ｓ７６０ｃもしくは連接生成処理Ｓ７７０ｃで取得した戻り値を設定する。
変換後処理生成工程Ｓ７７６において、変換処理生成部１３２は、ＣＰＵ９１１を用いて、新しいＳＥＣ（変換後処理）を生成し、変数ＳＥに設定する。
変換後処理設定工程Ｓ７７７において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥの次のサービスとして変数ＣＳを設定する。
次サービス設定工程Ｓ７７８において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＣＳの次のサービスとして変数ＳＥを設定する。
戻り値返却工程Ｓ７７９において、プロセス定義変換部１３３は、ＣＰＵ９１１を用いて、変数ＳＥを戻り値として返却する。
【０１５１】
図２５は、この実施の形態におけるプロセス実行部１５０がＳＥＣ（変換後処理）を実行した場合の処理の流れの一例を示すフローチャート図である。
【０１５２】
メッセージ受信工程Ｓ７８１において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、前の処理が送信したメッセージ（サービス開始メッセージ）を受信する。
メッセージ判定工程Ｓ７８２において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７８１で受信したメッセージに基づいて、前の処理が「開始」であるか否かを判定する。前の処理が「開始」であると判定した場合、ＩＤ生成工程Ｓ７８３へ進む。前の処理が「開始」でないと判定した場合、ＩＤ取得工程Ｓ７８４へ進む。
ＩＤ生成工程Ｓ７８３において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、プロセスインスタンスＩＤ（インスタンス識別データ）を生成する。その後、開始通知処理Ｓ７８５へ進む。
ＩＤ取得工程Ｓ７８４において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７８１で受信したメッセージから、プロセスインスタンスＩＤを取得する。その後、開始通知工程Ｓ７８５へ進む。
開始通知工程Ｓ７８５において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、処理の開始（開始通知メッセージ）をプロセス監視部１８１に対して通知する。
呼出し送信工程Ｓ７８６において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７８１で受信したメッセージから実処理に渡すべきメッセージ（サービス開始メッセージ）を取得し、実処理に対して送信する。
結果受信工程Ｓ７９１において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、実処理が送信した結果のメッセージ（サービス終了メッセージ）を受信する。
終了通知工程Ｓ７９２において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、処理の終了（終了通知メッセージ）をプロセス監視部１８１に対して通知する。
メッセージ送信工程Ｓ７９３において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、結果受信工程Ｓ７９１で受信したメッセージに、プロセスインスタンスＩＤを付加して、次の処理へ送信する。
【０１５３】
図２６は、この実施の形態におけるプロセス実行部１５０がＳＥＣＣＢＲ（変換後分岐処理）を実行した場合の処理の流れの一例を示すフローチャート図である。
なお、図２５で説明したＳＥＣと共通する部分については、同一の符号を付し、説明を省略する。
【０１５４】
判断開始通知工程Ｓ７８７において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、条件分岐判断の開始をプロセス監視部１８１に対して通知する。
分岐条件判定工程Ｓ７８８において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、メッセージ受信工程Ｓ７８１で受信したメッセージに基づいて、分岐条件を満たすか否かを判定し、次に実行する処理を決定する。
判断終了通知工程Ｓ７９４において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、条件分岐判断の終了をプロセス監視部１８１に対して通知する。
メッセージ送信工程Ｓ７９５において、プロセス実行部１５０は、ＣＰＵ９１１を用いて、結果受信工程Ｓ７９１で受信したメッセージに、プロセスインスタンスＩＤを付加して、分岐条件判定工程Ｓ７８８で決定した次の処理へ送信する。
【０１５５】
以上説明したプロセス実行システム８００（ＥＳＢ監視装置）は、
ＥＳＢ上で動作させるプロセスおよび、プロセス中のサービスの監視設定を行うためのユーザインタフェースを提供するプロセス設計部（プロセス定義入力部１１０）と、
ＥＳＢから伝達されるサービスの開始、終了の通知に基づき、プロセスインスタンスの状況を監視する監視部（プロセス監視部１８１）と、
ＥＳＢ上で動作するサービスの１つであり、メッセージ上にプロセスインスタンスを識別するためのＩＤを付加した上で本来の処理を行うサービスを呼び出し、さらに本来の処理の呼び出し前後に前記監視部への通知を行う通知・ルーティング部（ＳＥＣ、ＳＥＣＣＢＲ）と、
前記プロセス設計部によって定義されたプロセス情報を入力とし、プロセス情報にある本来の処理を行うサービスが前記通知・ルーティング部から呼び出されるように変換するプロセス変換部１３０とを有する。
【０１５６】
これにより、サービスのインスタンスがどのような組み合わせであるのかを特定することができ、プロセスのインスタンス（たとえば個々の伝票の処理）を一意に識別することができるので、ＥＳＢの実装に依存することなくプロセスのインスタンスを識別することにより、ＥＳＢにおけるプロセスを監視することができる。
【０１５７】
以上説明したプロセス変換部１３０は、サービスの連接から構成されるシーケンシャルなプロセスを変換する。
【０１５８】
このように、プロセス実行部１５０がＳＥＣを実行することにより、プロセスインスタンスＩＤを生成し、プロセス全体を通して継承するので、個々のサービスのインスタンスがどのプロセスインスタンスに紐付けられているか判別でき、ＥＳＢ上で実行されているシーケンシャルなプロセスのプロセスインスタンスの状況を監視できる。
【０１５９】
以上説明したプロセス変換部１３０は、サービスの連接に加え、条件分岐を含むプロセスを変換する。
【０１６０】
このように、プロセス実行部１５０がＳＥＣＣＢＲを実行することにより、プロセスインスタンスＩＤを生成し、プロセス全体を通して継承するので、個々のサービスのインスタンスがどのプロセスインスタンスに紐付けられているか判別でき、ＥＳＢ上で実行されている条件分岐を含むプロセスのプロセスインスタンスの状況を監視できる。
【図面の簡単な説明】
【０１６１】
【図１】実施の形態１におけるプロセス実行システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１におけるプロセス実行装置８１０、サーバ装置８５０、端末装置８６０のハードウェア資源の一例を示す図。
【図３】実施の形態１におけるプロセス実行装置８１０、サーバ装置８５０、端末装置８６０の機能ブロックの構成の一例を示すブロック構成図。
【図４】実施の形態１における変換前プロセス定義記憶部１２０が記憶するプロセス定義データ５００の一例を示す図。
【図５】実施の形態１におけるプロセス変換部１３０が変換したプロセス定義データ５０１の一例を示す図。
【図６】実施の形態１における変換処理生成部１３２が生成する処理データ５４０が表わす変換後処理の内容を表わすフローチャート図。
【図７】実施の形態１における変換処理生成部１３２が生成する処理データ５４０の一例を示す図。
【図８】実施の形態１におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの一例を示すフローチャート図。
【図９】実施の形態１におけるプロセス実行部１５０がプロセスを実行するプロセス実行処理の流れの一例を示すフローチャート図。
【図１０】実施の形態１におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わすシーケンス図。
【図１１】実施の形態１におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の別の例を表わすシーケンス図。
【図１２】実施の形態２におけるプロセス実行システム８００の全体構成の一例を示すシステム構成図。
【図１３】実施の形態２におけるプロセス設計装置８２０、プロセス監視装置８３０、サーバ装置８５０、サーバ装置８５５、端末装置８６５の機能ブロックの構成の一例を示すブロック構成図。
【図１４】実施の形態２における変換処理生成部１３２が生成する処理データ５４０の一例を示す図。
【図１５】実施の形態２におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わすシーケンス図。
【図１６】実施の形態３におけるサービス実行部１７０が実処理を実行するサービス実行処理の流れの一例を示すフローチャート図。
【図１７】実施の形態３における変換前プロセス定義記憶部１２０が記憶するプロセス定義データ５００の一例を示す図。
【図１８】実施の形態３における変換処理生成部１３２が生成する処理データ５４０が表わす変換後処理の内容を表わすフローチャート図。
【図１９】実施の形態３における変換処理生成部１３２が生成する処理データ５４０の一例を示す図。
【図２０】実施の形態３におけるプロセス実行システム８００が、変換後プロセス定義記憶部１４０が記憶したプロセス定義データ５０１が表わすプロセスを実行する様子の一例を表わす図。
【図２１】実施の形態４におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの一例を示すフローチャート図。
【図２２】実施の形態４におけるプロセス変換部１３０がプロセス定義データを変換するプロセス変換処理の流れの別の例を示すフローチャート図。
【図２３】実施の形態４における分岐生成処理Ｓ７６０の流れの一例を示すフローチャート図。
【図２４】実施の形態４における連接生成処理Ｓ７７０の流れの一例を示すフローチャート図。
【図２５】実施の形態４におけるプロセス実行部１５０がＳＥＣ（変換後処理）を実行した場合の処理の流れの一例を示すフローチャート図。
【図２６】実施の形態４におけるプロセス実行部１５０がＳＥＣＣＢＲ（変換後分岐処理）を実行した場合の処理の流れの一例を示すフローチャート図。
【符号の説明】
【０１６２】
１１０  プロセス定義入力部、１２０  変換前プロセス定義記憶部、１３０  プロセス変換部、１３１  処理データ取得部、１３２  変換処理生成部、１３３  プロセス定義変換部、１４０，１４５  変換後プロセス定義記憶部、１５０  プロセス実行部、１６１  メッセージ送信部、１６２  メッセージ受信部、１７０  サービス実行部、１７１  入力部、１７２  表示部、１８１  プロセス監視部、１８２  実行状況記録部、１８３  実行状況表示部、１９１  プロセス定義送信部、１９２  プロセス定義受信部、４５１〜４８１  インスタンス、５００，５０１  プロセス定義データ、５２０，５４０  処理データ、５２１  処理識別データ、５２２  実行装置識別データ、５２３  開始条件データ、５２４  パラメータデータ、５３０，５５０，５６０  ルーティング定義データ、５３１  受信元データ、５３２  転送条件データ、５３３  変換処理データ、５３４  送信先データ、５７１〜５９０  メッセージ、６００  フローチャート、８００  プロセス実行システム、８１０  プロセス実行装置、８２０  プロセス設計装置、８３０  プロセス監視装置、８４０  ネットワーク、８５０，８５５  サーバ装置、８６０，８６５  端末装置、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0005052308.tif 000002
【図２】
0005052308.tif 000003
【図３】
0005052308.tif 000004
【図４】
0005052308.tif 000005
【図５】
0005052308.tif 000006
【図６】
0005052308.tif 000007
【図７】
0005052308.tif 000008
【図８】
0005052308.tif 000009
【図９】
0005052308.tif 000010
【図１０】
0005052308.tif 000011
【図１１】
0005052308.tif 000012
【図１２】
0005052308.tif 000013
【図１３】
0005052308.tif 000014
【図１４】
0005052308.tif 000015
【図１５】
0005052308.tif 000016
【図１６】
0005052308.tif 000017
【図１７】
0005052308.tif 000018
【図１８】
0005052308.tif 000019
【図１９】
0005052308.tif 000020
【図２０】
0005052308.tif 000021
【図２１】
0005052308.tif 000022
【図２２】
0005052308.tif 000023
【図２３】
0005052308.tif 000024
【図２４】
0005052308.tif 000025
【図２５】
0005052308.tif 000026
【図２６】
0005052308.tif 000027