(57)【要約】  【課題】  既存のアプリケーションに手を加えることなく、暗黙的なプロセスの進捗を監視できるようにする。  【解決手段】  マッピング定義記憶部１１に記憶されたオブジェクトフローイベントとコントロールフローイベントとを対応付けたマッピング定義を参照してオブジェクトフローイベントに対応するコントロールフローイベントを特定するマッピングロジックを生成しマッピングロジック記憶部１６に記憶するマッピングロジック生成部１４と、プロセス定義記憶部１２に記憶されたコントロールフローイベントと監視ログ情報とを対応付けたプロセス定義を参照してコントロールフローイベントについて監視ログを出力するログロジックを生成しログロジック記憶部１７に記憶するログロジック生成部１５と、スケルトン記憶部１３に記憶されたスケルトンに対しマッピングロジックおよびログロジックを合成するロジック・スケルトン合成部１８とを備えた。  【選択図】  図３
2005166038.tif 000002
【特許請求の範囲】
【請求項１】
第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される方法であり、
当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断ステップを有する方法。
【請求項２】
前記判断ステップの前に、
前記メッセージ交換システムからメッセージを取得する取得ステップを有する請求項１に記載の方法。
【請求項３】
前記判断ステップの後に、
前記ビジネスプロセスの進捗を記録する記録ステップを有する請求項１に記載の方法。
【請求項４】
前記記録ステップは、前記ビジネスプロセスの進捗をログとして記憶する請求項３に記載の方法。
【請求項５】
前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、
前記判断ステップは、前記交換されるメッセージに基づいて当該業務単位の進捗を判断する請求項１に記載の方法。
【請求項６】
前記判断ステップは、前記交換されるメッセージに基づいて当該業務単位の開始及び／又は終了を判断する請求項５に記載の方法。
【請求項７】
前記業務単位の一部に人の行為を含む請求項６に記載の方法。
【請求項８】
前記ビジネスプロセスは前記第一の情報処理システムで処理される複数の業務単位を含み、
当該複数の業務単位のワークフローが明示的に定義されていない請求項１に記載の方法。
【請求項９】
前記ビジネスプロセスは前記第一の情報処理システム内のあるアプリケーションで処理される業務単位を含み、
当該アプリケーションは進捗監視機能を有さない請求項１に記載の方法。
【請求項１０】
前記ビジネスプロセスは複数の業務単位を含み、一部の業務単位が前記第一の情報処理システムで処理され、他の業務単位が前記第二の情報処理システムで処理される請求項１に記載の方法。
【請求項１１】
前記第一の情報処理システムと前記第二の情報処理システムと相異なる組織の情報処理システムである請求項１に記載の方法。
【請求項１２】
第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される変換装置であり、
当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断部を有する変換装置。
【請求項１３】
前記メッセージ交換システムからメッセージを取得する取得部を有する請求項１２に記載の変換装置。
【請求項１４】
前記ビジネスプロセスの進捗を記録する記録部を有する請求項１３に記載の変換装置。
【請求項１５】
第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される変換装置としてコンピュータを機能させるコンピュータプログラムであり、
当該コンピュータに、
当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断機能を実現させるコンピュータプログラム。
【請求項１６】
前記コンピュータに、
前記メッセージ交換システムからメッセージを取得する取得機能を実現させる請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記コンピュータに、
前記ビジネスプロセスの進捗を記録する記録機能を実現させる請求項１５に記載のコンピュータプログラム。
【請求項１８】
第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される問題解決の提供方法であり、
当該交換されるメッセージと当該ビジネスプロセスの進捗との関係を分析する分析ステップを有する問題解決の提供方法。
【請求項１９】
前記分析結果に基づいて、あるメッセージが入力されると対応するビジネスプロセスの進捗を出力する変換装置を開発する開発ステップを有する請求項１８に記載の問題解決の提供方法。
【請求項２０】
前記変換装置を前記ビジネスプロセス統合システムに設置する設置ステップを有する請求項１９に記載の問題解決の提供方法。
【請求項２１】
前記ビジネスプロセスの変更に伴って、前記変換装置を改造する改造ステップを有する請求項１９に記載の問題解決の提供方法。
【請求項２２】
前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、
前記分析ステップは、あるメッセージと当該メッセージがどのプロセスに対応するのかを示す識別子とをマッピングするマッピング定義ステップと、
ある識別子がどの業務単位のどの状態に対応するのかを定義するプロセス定義ステップとを含む請求項１８に記載の問題解決の提供方法。
【請求項２３】
前記開発ステップは、コンピュータを前記変換装置として機能させるためのコンピュータプログラムを開発するプログラム開発ステップを含む請求項１９に記載の問題解決の提供方法。
【請求項２４】
前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、
前記分析ステップは、あるメッセージと当該メッセージがどのプロセスに対応するのかを示す識別子とをマッピングするマッピング定義ステップと、
ある識別子がどの業務単位のどの状態に対応するのかを定義するプロセス定義ステップとを含み、
前記開発ステップは、コンピュータを前記変換装置として機能させるためのコンピュータプログラムを開発するプログラム開発ステップを含み、
当該プログラム開発ステップは、当該マッピング定義ステップで得られたマッピング定義と、当該プロセス定義ステップで得られたプロセス定義と、当該プログラムを前記メッセージ変換システムで実行させるためのスケルトンとに基づいて開発される請求項１９に記載の問題解決の提供方法。
【請求項２５】
前記コンピュータプログラムを前記メッセージ交換システムを構成するコンピュータにインストールするインストールステップを有する請求項２３に記載の問題解決の提供方法。
【請求項２６】
前記ビジネスプロセスの変更に伴って、前記コンピュータプログラムを改変する改変ステップを有する請求項２３に記載の問題解決の提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベント(以下、「オブジェクトフローイベント」という)に関する情報を、その業務の流れにおけるイベント(以下、「コントロールフローイベント」という)に関する情報に変換するイベント情報変換装置等に関する。
【背景技術】
【０００２】
近年、例えば同じ企業内でこれまで別々に動作していた既存のアプリケーションプログラム(以下、「アプリケーション」という)を組み合わせて新たな価値を付加するビジネスプロセス統合(Business Process Integration, BPI)が着目されている。ここで、ビジネスプロセス統合とは、情報のリアルタイムな同期や共有といったアプリケーション統合から更に一歩進んで、全体的な業務の流れ、即ちビジネスプロセスをベースに、それに沿って必要な内外のアプリケーションやサービスを呼び出す統合手法であると定義することができる。
このようなビジネスプロセス統合が行われたシステムは、個々の人間またはコンピュータが行う業務単位(アクティビティ)の連鎖と捉えることができる。そこで、問題となるのは、ある仕事が現在どのアクティビティで処理されているかという進捗状況である。このような問題に対しては、Business Activity Monitor(BAM)により対処することになる。尚、Business Activity Monitorとは、ビジネスオペレーションに関わるビジネスプロセス
とITイベントとを視覚化するものであり、これにより、問題の早期発見や、パフォーマンスの解析や、ビジネスオペレーションの改善および最適化を図るものである。
【０００３】
従来、ワークフローシステムで管理されるプロセス(明示的なプロセス)であれば、そのワークフローシステムによりプロセスの進捗を監視することは可能であった(例えば、特
許文献１、２参照。)。
特許文献１の発明は、ＢｔｏＢにおける企業間業務管理のために業務の進行を指示するコンポーネントを間に置くというもので、その性質上まさにワークフローエンジンである。また、特許文献２の発明は、イベント駆動型のワークフローエンジンで、あるイベントが発生したことにより次のアクティビティを開始するといったプロセスの管理を可能にするものである。結局、いずれの発明においても、主コンポーネントとなる、ワークフローの実行や進捗を管理するコンポーネントが存在している。
【０００４】
【特許文献１】特開２００２−０３２５４４号公報(第６、７頁、第１図)
【特許文献２】特開２００２−１０９１７０号公報(第８、９頁、第３図)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、既存のアプリケーション(レガシーアプリケーション)の中には、ワークフローシステムで管理されないプロセス(暗黙的なプロセス)を持つものも少なからず存在している。このようなアプリケーションにおいて、ワークフローシステムでプロセスを管理または監視しようとすると、ワークフローシステムに合わせてアプリケーションを変更する必要が生じるが、多くのレガシーアプリケーションの場合、新たな機能の追加は困難であるという問題点があった。実際のシステムインテグレーションの案件でも、レガシーシステムに手を入れることなくシステムを統合し、トランザクションの実行ログを複数システム間で統合して表示することが求められることは多い。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、既存のアプリケーションに手を加えることなく、暗黙的なプロセスの進捗を監視できるようにすることにある。
【課題を解決するための手段】
【０００７】
すなわち本発明は、第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される方法であり、当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断ステップを有する方法である。さらに、前記判断ステップの前に、前記メッセージ交換システムからメッセージを取得する取得ステップを有してもよい。また、前記判断ステップの後に、前記ビジネスプロセスの進捗を記録する記録ステップを有してもよい。また、前記記録ステップは、前記ビジネスプロセスの進捗をログとして記憶してもよい。また、前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、前記判断ステップは、前記交換されるメッセージに基づいて当該業務単位の進捗を判断してもよい。また、前記判断ステップは、前記交換されるメッセージに基づいて当該業務単位の開始及び／又は終了を判断してもよい。前記業務単位の一部に人の行為を含んでもよい。また、前記ビジネスプロセスは前記第一の情報処理システムで処理される複数の業務単位を含み、当該複数の業務単位のワークフローが明示的に定義されていないものでもよい。また、前記ビジネスプロセスは前記第一の情報処理システム内のあるアプリケーションで処理される業務単位を含み、当該アプリケーションは進捗監視機能を有さないものでもよい。また、前記ビジネスプロセスは複数の業務単位を含み、一部の業務単位が前記第一の情報処理システムで処理され、他の業務単位が前記第二の情報処理システムで処理されるものでもよい。また前記第一の情報処理システムと前記第二の情報処理システムと相異なる組織の情報処理システムであってもよい。
【０００８】
また本発明は、第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される変換装置であり、当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断部を有する変換装置でもある。さらに、前記メッセージ交換システムからメッセージを取得する取得部を有してもよい。また、前記ビジネスプロセスの進捗を記録する記録部を有してもよい。
【０００９】
また本発明は、第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される変換装置としてコンピュータを機能させるコンピュータプログラムであり、当該コンピュータに、当該交換されるメッセージに基づいて当該ビジネスプロセスの進捗を判断する判断機能を実現させるコンピュータプログラムでもある。さらに、前記コンピュータに、前記メッセージ交換システムからメッセージを取得する取得機能を実現させてもよい。また、前記コンピュータに、前記ビジネスプロセスの進捗を記録する記録機能を実現させてもよい。
【００１０】
また発明は、第一及び第二の情報処理システムとメッセージ交換システムとを備え、当該メッセージ交換システムを介して当該第一及び第二の情報処理システム間でメッセージを交換し、あるビジネスプロセスを実行するビジネスプロセス統合システムに適用される問題解決の提供方法であり、当該交換されるメッセージと当該ビジネスプロセスの進捗との関係を分析する分析ステップを有する問題解決の提供方法でもある。さらに、前記分析結果に基づいて、あるメッセージが入力されると対応するビジネスプロセスの進捗を出力する変換装置を開発する開発ステップを有してもよい。また、前記変換装置を前記ビジネスプロセス統合システムに設置する設置ステップを有してもよい。また前記ビジネスプロセスの変更に伴って、前記変換装置を改造する改造ステップを有してもよい。また前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、前記分析ステップは、あるメッセージと当該メッセージがどのプロセスに対応するのかを示す識別子とをマッピングするマッピング定義ステップと、ある識別子がどの業務単位のどの状態に対応するのかを定義するプロセス定義ステップとを含むんでもよい。また、前記開発ステップは、コンピュータを前記変換装置として機能させるためのコンピュータプログラムを開発するプログラム開発ステップを含んでもよい。また、前記ビジネスプロセスは前記第一の情報処理システムで処理される１以上の業務単位を含み、前記分析ステップは、あるメッセージと当該メッセージがどのプロセスに対応するのかを示す識別子とをマッピングするマッピング定義ステップと、ある識別子がどの業務単位のどの状態に対応するのかを定義するプロセス定義ステップとを含み、前記開発ステップは、コンピュータを前記変換装置として機能させるためのコンピュータプログラムを開発するプログラム開発ステップを含み、当該プログラム開発ステップは、当該マッピング定義ステップで得られたマッピング定義と、当該プロセス定義ステップで得られたプロセス定義と、当該プログラムを前記メッセージ変換システムで実行させるためのスケルトンとに基づいて開発されるものでもよい。また、前記コンピュータプログラムを前記メッセージ交換システムを構成するコンピュータにインストールするインストールステップを有してもよい。また、前記ビジネスプロセスの変更に伴って、前記コンピュータプログラムを改変する改変ステップを有してもよい。
【００１１】
かかる目的のもと、本発明は、対外システムやネットワークで接続された内部システムにおけるタスクとの間で情報を交換するアクティビティに注目し、既存のレガシーシステムに手を加えることなく、タスクとの関係で起こるイベントを受け取って、それをビジネスプロセスの進捗モデルにおけるイベントに変換するものである。即ち、本発明のイベント情報変換装置は、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントに関する情報を取得するオブジェクトフローイベント情報取得手段と、業務の流れにおけるイベントであるコントロールフローイベントの中から、オブジェクトフローイベント情報取得手段が情報を取得したオブジェクトフローイベントに関係するコントロールフローイベントを特定するコントロールフローイベント特定手段とを備えている。
【００１２】
また、このようにタスクとの関係で起こるイベントをビジネスプロセスの進捗モデルにおけるイベントに変換することにより、暗黙的なレガシーシステム内のビジネスプロセスをモニタリングするものである。即ち、本発明のイベント情報変換装置は、コントロールフローイベント特定手段により特定されたコントロールフローイベントに関する情報を記録するコントロールフローイベント情報記録手段を更に備えることもできる。
【００１３】
更に、本発明は、タスクとの関係で起こるイベントをビジネスプロセスの進捗モデルにおけるイベントに変換するメッセージ交換装置として捉えることもできる。その場合、本発明のメッセージ交換装置は、業務の流れであるプロセスと外部タスクとの間で交換されるメッセージを検知するメッセージ検知手段と、業務の流れにおけるイベントであるコントロールフローイベントの中から、メッセージ検知手段により検知されたメッセージに関係するコントロールフローイベントを特定するコントロールフローイベント特定手段とを備えている。
【００１４】
更にまた、本発明は、タスクとの関係で起こるイベントをビジネスプロセスの進捗モデルにおけるイベントに変換するイベント情報変換プログラム(イベントコンバータ)を生成するイベント情報変換プログラム生成装置として捉えることもできる。その場合、本発明イベント情報変換プログラム生成装置は、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントと、業務の流れにおけるイベントであるコントロールフローイベントとを対応付けたマッピング定義を記憶するマッピング定義記憶手段と、このマッピング定義記憶手段に記憶されたマッピング定義を参照することにより、オブジェクトフローイベントに関する情報を取得してそのオブジェクトフローイベントに対応するコントロールフローイベントを特定するマッピングロジックを生成するマッピングロジック生成手段とを備えている。
【００１５】
また、本発明は、タスクとの関係で起こるイベントをビジネスプロセスの進捗モデルにおけるイベントに変換するイベント情報変換方法として捉えることもできる。その場合、本発明のイベント情報変換方法は、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントと、業務の流れにおけるイベントであるコントロールフローイベントとを対応付けたマッピング定義を記憶するステップと、このオブジェクトフローイベントに関する情報を取得するステップと、記憶されたマッピング定義を参照することにより、情報を取得したオブジェクトフローイベントに対応するコントロールフローイベントを特定するステップとを含んでいる。
【００１６】
更にまた、本発明は、イベント情報変換プログラム(イベントコンバータ)を生成する方法として捉えることもできる。その場合、本発明のイベント情報変換プログラム生成方法は、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントと、業務の流れにおけるイベントであるコントロールフローイベントとを対応付けたマッピング定義を記憶するステップと、記憶されたマッピング定義を参照することにより、オブジェクトフローイベントに関する情報を取得してそのオブジェクトフローイベントに対応するコントロールフローイベントを特定するマッピングロジックを生成するステップとを含んでいる。
【００１７】
一方、本発明は、コンピュータにイベント情報変換装置としての機能を実現させるためのコンピュータプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントに関する情報を取得する機能と、業務の流れにおけるイベントであるコントロールフローイベントの中から、情報を取得したオブジェクトフローイベントに関係するコントロールフローイベントを特定する機能とを実現させるものである。
【００１８】
また、本発明は、コンピュータにイベント情報変換プログラム生成装置としての機能を実現させるためのコンピュータプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントと、業務の流れにおけるイベントであるコントロールフローイベントとを対応付けたマッピング定義を読み込む機能と、読み込まれたマッピング定義を参照することにより、オブジェクトフローイベントに関する情報を取得してそのオブジェクトフローイベントに対応するコントロールフローイベントを特定するマッピングロジックを生成する機能とを実現させるものである。
【発明の効果】
【００１９】
本発明によれば、既存のアプリケーションに手を加えることなく、暗黙的なプロセスの進捗を監視することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用されるシステムの構成の一例を示した図である。
図１に示すように、本実施の形態は、例えば、企業Ｘで実行されるプロセス内の各アクティビティと、取引企業Ｙで動作する各外部タスクとの間のメッセージ交換がメッセージ交換システムを介して行われているような場合に適用される。ここで、企業Ｘで実行されるプロセスは、ワークフローシステムで管理されない暗黙的なプロセスである。また、このプロセス内の各アクティビティは、例えば、企業Ｘにおける購買、製造、配送といったサブシステムのレベルの業務単位であってもよいし、そのようなサブシステム内の更に細かいレベルの業務単位であってもよい。更に、各アクティビティは、コンピュータにより実行される業務単位であってもよいし、人間の作業として実行される業務単位であってもよい。尚、前者の場合においては、１つのアクティビティが１台のコンピュータで処理されるようなプロセスであってもよいし、複数のアクティビティが１台のコンピュータで処理されるようなプロセスであってもよい。
【００２１】
また、本実施の形態では、プロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントに関する情報を、その業務の流れにおけるイベントであるコントロールフローイベントに関する情報に変換するためのイベント情報変換プログラム(以下、「イベントコンバータ」という)が動作する。特に、本実施の形態では、オブジェクトフローイベントに関する情報として、企業Ｘにおけるアクティビティと取引企業Ｙにおける外部タスクとの間のメッセージ交換に関する情報を取得し、コントロールフローイベントに関する情報として、アクティビティの開始および/または終了の情報を生成している。そして、イベントコンバータは、この生成された情報を監視ログとして記録し、モニタ画面にて表示することができるようにしている。尚、ここでいうメッセージ交換は、企業Ｘにおけるアクティビティおよび取引企業Ｙにおける外部タスクがコンピュータにより実現されるものであれば、プロセス間通信、または、有線もしくは無線によるコンピュータ間の通信として捉えることができる。一方、企業Ｘにおけるアクティビティおよび取引企業Ｙにおける外部タスクが人間の作業として実現されるものであれば、企業Ｘと取引企業Ｙとの間の文書や電子メールの交換等として捉えることができる。
【００２２】
次に、上述したイベントコンバータを自動生成するためのシステムの構成について説明する。
図２に示すように、イベントコンバータの元となるソースコードは、マッピングセマンティックに則って記述されたマッピング定義と、モデリングセマンティックに則って記述されたプロセス定義と、イベントコンバータを特定のメッセージ交換システムで実行させるための実装依存の部分を記述したスケルトンとに基づいて、イベントコンバータ生成プログラム(以下、「イベントコンバータジェネレータ」という)により生成される。
尚、マッピングセマンティック、モデリングセマンティックは、それぞれ、マッピング定義、プロセス定義を記述する場合のルールを定めたものである。例えば、企業Ｘのシステムの開発者がこれらのセマンティックに則って各定義を記述することで、イベントコンバータジェネレータは、イベントコンバータを生成することが可能となる。即ち、プロセス定義からモデリングセマンティックへの破線矢印、マッピング定義からマッピングセマンティックへの破線矢印は、各定義が各セマンティックに依存していることを示すものである。
【００２３】
次に、図２で「イベントコンバータの生成」および「プロセスとマッピングの定義」として破線で囲んだ部分からなるイベントコンバータ生成装置１０について詳細に説明する。
図３に示すように、イベントコンバータ生成装置１０は、マッピング定義記憶部１１と、プロセス定義記憶部１２と、スケルトン記憶部１３と、マッピングロジック生成部１４と、ログロジック生成部１５と、マッピングロジック記憶部１６と、ログロジック記憶部１７と、ロジック・スケルトン合成部１８と、ソースコード記憶部１９とを備える。
【００２４】
マッピング定義記憶部１１は、オブジェクトフローイベントとコントロールフローイベントとを対応付けたマッピング定義を記憶する部分である。例えば、プロセスと外部タスクとの間で交換される各メッセージが、プロセス内の各コントロールフローイベントに対し一意に割り振られた指示子であるプロセスイベントインジケータのいずれに関係するかを記憶する。
プロセス定義記憶部１２は、コントロールフローイベントとそのコントロールフローイベントについて監視ログとして記録する情報とを対応付けたプロセス定義を記憶する部分である。例えば、各プロセスイベントインジケータが、どのアクティビティのどのようなステータスに対応するかを記憶する。
スケルトン記憶部１３は、イベントコンバータを特定のメッセージ交換システムで実行させるための実装依存の部分を記述したスケルトンを記憶する部分である。
【００２５】
一方、マッピングロジック生成部１４は、マッピング定義記憶部１１に記憶されたマッピング定義を読み込み、オブジェクトフローイベントに関する情報に基づきコントロールフローイベントを特定する処理ロジック(マッピングロジック)を生成する部分である。例えば、検知したメッセージに基づき関係するプロセスイベントインジケータを特定するマ
ッピングロジックを生成する。
ログロジック生成部１５は、プロセス定義記憶部１２に記憶されたプロセス定義を読み込み、マッピングロジックで特定されるコントロールフローイベントに関する情報を監視ログとして出力する処理ロジック部分(ログロジック)を生成する部分である。例えば、プロセスイベントインジケータに対応するログの種類を特定しログを出力するログロジックを生成する。
【００２６】
マッピングロジック記憶部１６は、マッピングロジック生成部１４により生成されたマッピングロジックを記憶する部分である。
ログロジック記憶部１７は、ログロジック生成部１５により生成されたログロジックを記憶する部分である。
ロジック・スケルトン合成部１８は、マッピングロジック記憶部１６に記憶されたマッピングロジックと、ログロジック記憶部１７に記憶されたログロジックとを、スケルトン記憶部１３に記憶されたスケルトンに当てはめることで、イベントコンバータのソースコードを生成する部分である。
ソースコード記憶部１９は、ロジック・スケルトン合成部１８により生成されたソースコードを記憶する部分である。
【００２７】
なお、本実施の形態におけるイベントコンバータ生成装置１０のハードウェア構成としては、一般的なコンピュータシステムと同様のものを採用することができる。即ち、中央処理装置(ＣＰＵ)と、メインメモリとを含み、これらがバスを介して補助記憶装置と接続されたようなものであればよい。ここで、補助記憶装置としては、ハードディスク、フレキシブルディスク、ＭＯ(Magneto Optical disk)、ＣＤ−ＲＯＭ等が想定される。
補助記憶装置には、本実施の形態を実現するためのコンピュータプログラムが記憶され、中央処理装置(ＣＰＵ)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、マッピングロジック生成部１４、ログロジック生成部１５、ロジック・スケルトン合成部１８の各手段が実現される。
また、マッピング定義記憶部１１、プロセス定義記憶部１２、スケルトン記憶部１３、マッピングロジック記憶部１６、ログロジック記憶部１７、ソースコード記憶部１９の各記憶部は、補助記憶装置を用いて実現することとしてもよいし、メインメモリを用いて実現することとしてもよい。
【００２８】
更に、イベントコンバータ生成装置１０には、キーボードやポインティングデバイス等の入力装置が接続されていてもよいし、ディスプレイ等の出力装置が接続されていてもよい。そして、これらの入力装置、出力装置を用いてマッピング定義、プロセス定義等の記述を行えるようにしてもよい。
【００２９】
ここで、図４、５を参照しながら、マッピング定義およびプロセス定義の一例について説明する。
図４に示すように、マッピング定義は、例えば、企業ＸのプロセスＡと取引企業Ｙの外部タスクとの間で実際に交換される各メッセージと、企業ＸのプロセスＡにおけるプロセスイベントインジケータとの対応を定義したものである。
【００３０】
また、図５に示すように、プロセス定義は、各プロセスイベントインジケータが、どのアクティビティのどのステータスに対応するかを定義したものである。
即ち、まず、プロセスイベントインジケータとアクティビティとを結ぶ破線矢印により、プロセスイベントインジケータとアクティビティとの対応が示される。例えば、アクティビティ１は、プロセスイベントインジケータ１およびプロセスイベントインジケータ２に対応し、アクティビティ２、アクティビティ３は、それぞれ、プロセスイベントインジケータ３、プロセスイベントインジケータ４に対応している。
【００３１】
また、プロセスイベントインジケータとアクティビティとを結ぶ破線矢印に添えて示される「Ｉｎｂｏｕｎｄ＆ｏｕｔｂｏｕｎｄ」等の情報、および、破線矢印の向きにより、プロセスイベントインジケータとアクティビティのステータスとの対応が示される。具体的には、「Ｉｎｂｏｕｎｄ＆ｏｕｔｂｏｕｎｄ」は、アクティビティからプロセスイベントインジケータへ向かう矢印がそのアクティビティの開始を示し、プロセスイベントインジケータからアクティビティへ向かう矢印がそのアクティビティの終了を示しているので、プロセスイベントインジケータ１はアクティビティ１の開始を示し、プロセスイベントインジケータ２はアクティビティ１の終了を示していることが分かる。また、「Ｉｎｂｏｕｎｄのみ」、「Ｏｕｔｂｏｕｎｄのみ」は、アクティビティの開始および終了を示しているので、プロセスイベントインジケータ３はアクティビティ２の開始および終了を示し、プロセスイベントインジケータ４はアクティビティ３の開始および終了を示していることが分かる。
尚、図５では、プロセス定義を模式的に示しているが、実際は、プロセス内のアクティビティの流れに沿って、例えば、ＵＭＬアクティビティ図として表現される。ＵＭＬアクティビティ図は、アクティビティにおけるオブジェクトの入出力を定義するものであり、プロセスの進捗に対するセマンティックを持たない。本実施の形態では、アクティビティのコントロールフローにおけるイベントがレガシーシステムに埋め込まれており採取できないことに鑑み、オブジェクトの入出力をアクティビティのコントロールフローにおけるイベントとみなして、イベントモデルを変換するところがキーである。
【００３２】
次に、本実施の形態におけるイベントコンバータ生成装置１０の動作について説明する。
図６は、本実施の形態のイベントコンバータ生成装置１０の処理動作を示したフローチャートである。
まず、マッピングロジック生成部１４は、マッピング定義記憶部１１に記憶されたマッピング定義を読み込む(ステップ１０１)。そして、このマッピング定義を参照することにより、プロセスイベントインジケータを特定するマッピングロジックを生成し、マッピングロジック記憶部１６に記憶する(ステップ１０２)。例えば、マッピング定義が図４に示したようなものだとすると、メッセージ１の検知に応じてプロセスＡにおけるプロセスイベントインジケータ１を特定し、メッセージ２の検知に応じてプロセスＡにおけるプロセスイベントインジケータ２を特定し、メッセージ３の検知に応じてプロセスＡにおけるプロセスイベントインジケータ３を特定するマッピングロジックを生成する。
【００３３】
また、ログロジック生成部１５は、プロセス定義記憶部１２に記憶されたプロセス定義を読み込む(ステップ１０３)。そして、このプロセス定義を参照することにより、プロセスイベントインジケータに対応するログの種類を特定しログを出力するログロジックを生成し、ログロジック記憶部１７に記憶する(ステップ１０４)。例えば、プロセス定義が図５に示すようなものだとすると、プロセスイベントインジケータ１が特定されるとアクティビティ１の開始をログとして出力し、プロセスイベントインジケータ２が特定されるとアクティビティ１の終了をログとして出力し、プロセスイベントインジケータ３が特定されるとアクティビティ２の開始および終了をログとして出力し、プロセスイベントインジケータ４が特定されるとアクティビティ３の開始および終了をログとして出力するログロジックを生成する。
【００３４】
その後、ロジック・スケルトン合成部１８は、マッピングロジック記憶部１６に記憶されたマッピングロジックと、ログロジック記憶部１７に記憶されたログロジックとを、スケルトン記憶部１３に記憶されたスケルトンに当てはめることで、イベントコンバータのソースコードを作成し、ソースコード記憶部１９に記憶する(ステップ１０５)。
【００３５】
このようにして生成されたソースコードをコンパイルして得られるイベントコンバータは、図７に示すような処理動作を行うものである。即ち、メッセージを検知し(ステップ
２０１)、メッセージに対するプロセスイベントインジケータを特定し(ステップ２０２)
、プロセスイベントインジケータに対応するログの種類を特定し(ステップ２０３)、特定したログの種類をもとにログを記録する(ステップ２０４)、というものである。
【００３６】
本実施の形態では、イベントコンバータをメッセージ交換システムにインストールする。その場合、イベントコンバータがインストールされたメッセージ交換装置２０ａは、図８に示すような構成を有するものとなる。即ち、メッセージ交換装置２０ａは、メッセージを検知するメッセージ検知部２１ａと、検知されたメッセージに関係するコントロールフローイベントを特定するコントロールフローイベント特定部２２ａと、特定されたコントロールフローイベントに関する情報を監視ログとして記録するコントロールフローイベント情報記録部２３ａとを備えるものである。
【００３７】
あるいは、イベントコンバータは、メッセージ交換システムとは別の装置にインストールするようにしてもよい。その場合、イベントコンバータがインストールされたイベント情報変換装置２０ｂは、図９に示すような構成を有するものとなる。即ち、イベント情報交換装置２０ｂは、メッセージ交換装置等からオブジェクトフローイベントの情報を取得するオブジェクトフローイベント情報取得部２１ｂと、情報を取得したオブジェクトフローイベントに関係するコントロールフローイベントを特定するコントロールフローイベント特定部２２ｂと、特定されたコントロールフローイベントに関する情報を監視ログとして記録するコントロールフローイベント情報記録部２３ｂとを備えるものである。
【００３８】
尚、上記実施の形態では、イベントコンバータジェネレータがマッピング定義やプロセス定義を参照してイベントコンバータを自動生成するようにしたが、イベントコンバータが実行時にマッピング定義やプロセス定義を参照するようにしてもよい。
その場合、イベントコンバータがインストールされたメッセージ交換装置２０ａは、次のような動作を行う。即ち、まず、メッセージ検知部２１ａが、プロセスと外部タスクとの間で交換されるメッセージを検知する。次に、コントロールフローイベント特定部２２ａが、マッピング定義記憶部１１に記憶されたマッピング定義を読み込み、このマッピング定義を参照することにより、検知したメッセージに関係するコントロールフローイベントを特定する。そして、最後に、コントロールフローイベント情報記録部２３ａが、プロセス定義記憶部１２に記憶されたプロセス定義を読み込み、このプロセス定義を参照することにより、特定されたコントロールフローイベントに対するログの情報を特定し記録する。
【００３９】
一方、イベントコンバータがインストールされたイベント情報交換装置２０ｂは、次のような動作を行う。即ち、まず、オブジェクトフローイベント情報取得部２１ｂが、メッセージ交換装置等からオブジェクトフローイベントの情報を取得する。次に、コントロールフローイベント特定部２２ｂが、マッピング定義記憶部１１に記憶されたマッピング定義を読み込み、このマッピング定義を参照することにより、取得されたオブジェクトフローイベントに関係するコントロールフローイベントを特定する。そして、最後に、コントロールフローイベント情報記録部２３ｂが、プロセス定義記憶部１２に記憶されたプロセス定義を読み込み、このプロセス定義を参照することにより、特定されたコントロールフローイベントに対するログの情報を特定し記録する。
【００４０】
このように、本実施の形態では、業務の流れであるプロセスを実行することにより生じる情報の流れにおけるイベントであるオブジェクトフローイベントに着目し、これを業務の流れにおけるイベントであるコントロールフローイベントの情報に変換することにより、既存のアプリケーションに手を加えることなく、暗黙的なプロセスの進捗を監視できるようにすることができる。これにより、外部タスクへの依存度合いが大きい、例えば、金融機関の決済処理等におけるアクティビティの進捗を、既存のモニタリングパッケージ製品と組み合わせて見ることが可能となる。
【００４１】
すなわち、例えば、金融機関の決済処理等のシステムに対して、ＩＴソリューションプロバイダーは、オブジェクトフローイベントと業務の流れとの関係を分析し、オブジェクトフローイベントからそれに対応するコントロールフローイベントを出力するシステムを開発する。具体的には、ＩＴソリューションプロバイダーは、あるオブジェクトフローイベントとそれがどの業務プロセスに対応するのかを示す識別子とをマッピングし、ある識別子がどの業務単位のどの状態に対応するのかを定義し、それらのマッピング定義とプロセス定義とをスケルトンとに基づいて開発する。既存のアプリケーションに手を加えることなく、このシステムを既存の業務プロセス統合システムに追加的に設置することで、暗黙的な業務プロセスの進捗を監視することができる。また、ＩＴサービスプロバイダーは、業務プロセスの変更に伴い、当該システムを修正することもできる。
【図面の簡単な説明】
【００４２】
【図１】本実施の形態におけるイベントコンバータを説明するための概念図である。
【図２】本実施の形態におけるイベントコンバータジェネレータを説明するための概念図である。
【図３】本実施の形態におけるイベントコンバータ生成装置の構成を示したブロック図である。
【図４】本実施の形態で用いられるマッピング定義を説明するための図である。
【図５】本実施の形態で用いられるプロセス定義を説明するための図である。
【図６】本実施の形態におけるイベントコンバータ生成装置の処理動作を説明するフローチャートである。
【図７】本実施の形態におけるイベントコンバータの動作を示すフローチャートである。
【図８】本実施の形態におけるイベントコンバータがインストールされたメッセージ交換装置の構成を示した図である。
【図９】本実施の形態におけるイベントコンバータがインストールされたイベント情報交換装置の構成を示した図である。
【符号の説明】
【００４３】
１０…イベントコンバータ生成装置、１１…マッピング定義記憶部、１２…プロセス定義記憶部、１３…スケルトン記憶部、１４…マッピングロジック生成部、１５…ログロジック生成部、１６…マッピングロジック記憶部、１７…ログロジック記憶部、１８…ロジック・スケルトン合成部、１９…ソースコード記憶部、２０ａ…メッセージ交換装置、２０ｂ…イベント情報変換装置、２１ａ…メッセージ検知部、２１ｂ…オブジェクトフローイベント情報取得部、２２ａ、２２ｂ…コントロールフローイベント特定部、２３ａ、２３ｂ…コントロールフローイベント情報記録部
【図１】
2005166038.tif 000003
【図２】
2005166038.tif 000004
【図３】
2005166038.tif 000005
【図４】
2005166038.tif 000006
【図５】
2005166038.tif 000007
【図６】
2005166038.tif 000008
【図７】
2005166038.tif 000009
【図８】
2005166038.tif 000010
【図９】
2005166038.tif 000011