(57)【特許請求の範囲】
【請求項１】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であり、
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析部と、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成部と、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成部と
を備えることを特徴とするプログラム生成装置。
【請求項２】
前記サービスアダプタ生成部が、前記サービスアダプタ内部に、前記ビジネスプロセス定義体における前記プロセス識別情報の各々と、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報とが対応付けられた対応テーブルを生成し、
当該サービスアダプタが当該対応テーブルにより、前記サーブレットから前記プロセスの処理を委譲する委譲先を、当該プロセスのプロセス識別情報により、当該対応テーブルを参照して設定することを特徴とする請求項１に記載のプログラム生成装置。
【請求項３】
前記サービスアダプタ生成部が、前記ビジネスプロセス定義体ファイルにおける前記プロセス毎に前記サービスアダプタを生成し、
当該サービスアダプタが、自身と対応する前記プロセスの前記プロセス識別情報と、当該プロセス識別情報に対応するプロセスを委譲する委譲先であるビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報と有し、
前記サービスアダプタが、自身のプロセス識別情報と対応する前記プロセスを、前記委譲先に委譲することを特徴とする請求項１に記載のプログラム生成装置。
【請求項４】
前記プロセスの委譲先が前記ビジネスプロセス実行エンジンである場合、前記サーブレットが生成する前記ビジネスプロセス実行エンジンとデータの授受を行う第１ビーンのインターフェース及びデータの形式を、当該ビジネスプロセス実行エンジンの処理する形式に変換するビジネスプロセスラッパーを生成するビジネスプロセスラッパー生成部と
前記プロセスの委譲先が前記ビジネスルール実行エンジンである場合、前記サーブレットが生成する前記ビジネスルール実行エンジンとデータの授受を行う第２ビーンのインターフェース及びデータの形式を、当該ビジネスルール実行エンジンの処理する形式に変換するビジネスルールラッパーを生成するビジネスルールラッパー生成部と
をさらに備えることを特徴とする請求項１から請求項３のいずれか一項に記載のプログラム生成装置。
【請求項５】
前記ルール識別情報が記述されていないプロセス毎に、当該プロセスの前記プロセス識別情報に対応付けられて生成され、前記ビジネスプロセス定義体ファイルにおける前記プロセスの記述を、前記ビジネスプロセス実行エンジンが解読可能なフォーマットに変換するビジネスプロセス定義体変換部を
さらに備えることを特徴とする請求項１から請求項４のいずれか一項に記載のプログラム生成装置。
【請求項６】
前記ビジネスプロセス定義体ファイルから抽出される前記ルール識別情報に対して、当該ルール識別情報に対応する、前記ビジネスルール実行エンジンが実行する処理が記述されたビジネスルール定義体ファイルが存在するか否かにより、前記ビジネスプロセス定義体ファイルと前記ビジネスルール定義体ファイルとの整合性のチェックを行うビジネスルール定義体ファイル解析部を
さらに有することを特徴とする請求項１から請求項５のいずれか一項に記載のプログラム生成装置。
【請求項７】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置を動作させるプログラム生成方法であり、
前記プログラム生成装置が備えるビジネスプロセス定義体解析部が、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析過程と、
前記プログラム生成装置が備えるサーブレット生成部が、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成過程と、
前記プログラム生成装置が備えるサービスアダプタ生成部が、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成過程と
を備えるプログラム生成方法。
【請求項８】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であるコンピュータを、
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析手段、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成手段、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂ（ウェブ）サービスを利用するビジネスプロセス及びビジネスルールの実行環境を提供するビジネスプロセス／ビジネスルール実行システムで用いるプログラムを生成するプログラム生成装置、その方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータシステムの機能に標準のインターフェースを備えて、他のコンピュータシステムから当該コンピュータシステムを利用可能とするＷｅｂサービスが知られている。
また、一定の処理を定義するビジネスプロセス（Business Process）に基づき、複数のＷｅｂサービスと連携してビジネスプロセスの処理を実行するビジネスプロセス実行システムが知られている。このビジネスプロセスは、ある特定の問題を解決する相互に関連するタスク（複数のプロセス）が集積されたものである。
【０００３】
このビジネスプロセス実行システムは、業務処理の実行順序をビジネスプロセス定義体として定義し、このビジネスプロセス定義体に示された順序に、構成要素のプロセスの示す業務処理を実行していく（例えば、特許文献１参照）。
このビジネスプロセス実行システムは、通常、データベースにおけるデータの検索、読み出し、書き込み及び編集などのビジネスプロセス特有の処理を行い、複雑な演算処理（判定、比較を含む論理演算や、数値計算など）のビジネスルール特有の処理が実行できない構成となっている。
このため、従来のビジネスプロセス実行システムは、複雑な演算処理を行うビジネスルールの処理の実行の際、それぞれ実行するビジネスルールを定義し、ビジネスプロセス実行の処理の中から、ビジネスルール実行システムを呼び出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５５５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、従来のビジネス実行システムは、複雑な演算処理を行えない構成であるため、複雑な演算処理をビジネスルール実行システムに代行させて実行させる仕組み、あるいは複雑な演算処理を行う機能を、業務仕様におけるビジネスルール毎に特別に生成して実装させておく必要がある。
このため、従来のビジネス実行システムには、自身の主たる処理であるビジネスプロセスの処理が実行される際、ビジネスルール実行システムの呼出処理などの不必要な負荷がかかり、ビジネスプロセスの処理の動作が寸断されるなどのため非効率になる問題がある。
【０００６】
また、業務仕様が入力された際、業務仕様を構成するプロセスの処理の内容により、ビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成を、業務仕様におけるビジネスルールの処理に対応させて個別に、作業者が予め作成しておく必要がある。
この振り分ける構成は、ビジネスルールの処理に対応して、ビジネスルール毎に個別に作成されるために汎用性が低く、ビジネスプロセス実行エンジンあるいはビジネスルールの変更に伴い、振り分ける構成も変更が必要となるため、作業者の開発工数が多くなってしまう欠点がある。
【０００７】
本発明は、このような事情に鑑みてなされたもので、従来のように、ビジネスプロセス実行エンジンからビジネスルール実行エンジンを呼び出す必要が無く、かつビジネスプロセス実行エンジンあるいはビジネスルール実行エンジンの変更に伴う作業者の作業の増加を無くすことが可能なビジネスプロセス／ビジネスルール実行システムに用いるプログラムを生成するプログラム生成装置、その方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のプログラム生成装置は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であり、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析部と、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成部と、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成部とを備えることを特徴とする。
【０００９】
本発明のプログラム生成装置は、前記サービスアダプタ生成部が、前記サービスアダプタ内部に、前記ビジネスプロセス定義体における前記プロセス識別情報の各々と、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報とが対応付けられた対応テーブルを生成し、当該サービスアダプタが当該対応テーブルにより、前記サーブレットから前記プロセスの処理を委譲する委譲先を、当該プロセスのプロセス識別情報により、当該対応テーブルを参照して設定することを特徴とする。
【００１０】
本発明のプログラム生成装置は、前記サービスアダプタ生成部が、前記ビジネスプロセス定義体における前記プロセス毎に前記サービスアダプタを生成し、当該サービスアダプタが、自身と対応する前記プロセスの前記プロセス識別情報と、当該プロセス識別情報に対応するプロセスを委譲する委譲先であるビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報と有し、前記サービスアダプタが、自身のプロセス識別情報と対応する前記プロセスを、前記委譲先に委譲することを特徴とする。
【００１１】
本発明のプログラム生成装置は、前記プロセスの委譲先が前記ビジネスプロセス実行エンジンである場合、前記サーブレットが生成する前記ビジネスプロセス実行エンジンとデータの授受を行う第１ビーンのインターフェース及びデータの形式を、当該ビジネスプロセス実行エンジンの処理する形式に変換するビジネスプロセスラッパーを生成するビジネスプロセスラッパー生成部と、前記プロセスの委譲先が前記ビジネスルール実行エンジンである場合、前記サーブレットが生成する前記ビジネスルール実行エンジンとデータの授受を行う第２ビーンのインターフェース及びデータの形式を、当該ビジネスルール実行エンジンの処理する形式に変換するビジネスルールラッパーを生成するビジネスルールラッパー生成部と、をさらに備えることを特徴とする。
【００１２】
本発明のプログラム生成装置は、前記ルール識別情報が記述されていないプロセス毎に、当該プロセスの前記プロセス識別情報に対応付けられて生成され、前記ビジネスプロセス定義体ファイルにおける前記プロセスの記述を、前記ビジネスプロセス実行エンジンが解読可能なフォーマットに変換するビジネスプロセス定義体変換部をさらに備えることを特徴とする。
【００１３】
本発明のプログラム生成装置は、前記ビジネスプロセス定義体ファイルから抽出される前記ルール識別情報と、当該ルール識別情報に対応する、前記ビジネスルール実行エンジンが実行する処理が記述されたビジネスルール定義体ファイルが存在するか否かにより、前記ビジネスプロセス定義体ファイルと前記ビジネスルール定義体ファイルとの整合性のチェックを行うビジネスルール定義体ファイル解析部をさらに有することを特徴とする。
【００１４】
本発明のプログラム生成方法は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置を動作させるプログラム生成方法であり、前記プログラム生成装置が備えるビジネスプロセス定義体解析部が、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析過程と、前記プログラム生成装置が備えるサーブレット生成部が、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成過程と、前記プログラム生成装置が備えるサービスアダプタ生成部が、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成過程とを備える。
【００１５】
本発明のプログラムは、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、１つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であるコンピュータを、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析手段、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成手段と、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成手段、として機能させるためのプログラムである。
【発明の効果】
【００１６】
この発明によれば、ルール識別情報の有無により、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれにプロセスの処理を実行させるかを振り分けるサービスアダプタを生成させることができるため、ビジネスプロセス処理の実行に、従来のシステムのように、ビジネスルール実行エンジンの呼出処理などの不必要な負荷をかけることを無くし、ビジネスプロセス処理の動作が非効率となることを抑制することが可能なビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを容易に生成することができる。
【００１７】
また、この発明によれば、ビジネスプロセスの処理に対し、処理の内容によりビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成であるサービスアダプタをプロセス毎に整合をとって自動生成するため  ビジネスプロセス実行エンジンが変更されたとしても、ビジネスプロセス／ビジネスルール実行システムに実装されるプログラムの生成における作業者の開発工数を、従来のように増加させることがない。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態によるプログラム生成装置１で作成した各プログラムにより動作するビジネスプロセス／ビジネスルール実行システムの構成例を示す図である。
【図２】サーブレット２４とビジネスルール実行エンジン２２との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
【図３】サーブレット２４とビジネスプロセス実行エンジン２１との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
【図４】ビジネスルール定義体ファイル３０２のプロセスルール処理の記述の構成の一例を示す図である。
【図５】この発明の一実施形態によるプログラム生成装置の構成例を示すブロック図である。
【図６】ビジネスプロセス／ビジネスルール実行システムにおけるプログラムを生成する際に用いるプログラム制御情報が記述された、ビジネスプロセス定義体ファイルとしてのテーブルの一例を示す図である。
【図７】本実施形態のプログラム生成装置１によるビジネスプロセス／ビジネスルール実行システムにおけるプログラムを生成する動作を示すシーケンス図である。
【図８】ビジネスプロセス定義体ファイル３０１から抽出したプログラム生成情報により、ルール識別情報が付加（添付）されていないプロセスに対応して生成される各種プログラムを示す概念図である。
【図９】ビジネスプロセス定義体ファイル３０１から抽出したプログラム生成情報により、ルール識別情報が付加されているプロセスに対応して生成される各種プログラムを示す概念図である。
【図１０】プロセス識別情報「１」、「２」及び「３」のプロセスから構成される業務処理から生成される各種プログラムを示す概念図である。
【図１１】ビジネスプロセス定義体ファイル３０１のルール識別情報が付加されていないプロセスを処理する場合の、作成ビジネスプロセス／ビジネスルール実行システムの動作を示すシーケンス図である。
【図１２】ビジネスプロセス定義体ファイル３０１のルール識別情報が付加されているプロセスを処理する場合の、作成ビジネスプロセス／ビジネスルール実行システムの動作を示すシーケンス図である。
【図１３】複数画面において同一の情報を引き継ぎたい情報がある場合におけるプロセス情報定義体ファイル３０１のテーブルの記述例を示す図である。
【発明を実施するための形態】
【００１９】
＜ビジネスプロセス／ビジネスルール実行システムで用いるプログラム生成＞
ビジネスプロセス／ビジネスルール実行システムで用いるプログラムを生成するプログラム生成装置について説明する前に、作成するプログラムがどのような機能を有するかを明確とするため、ビジネスプロセス／ビジネスルール実行システムの構成について説明する。
【００２０】
以下、図面を参照して、本発明の実施形態によるプログラム生成装置で生成したプログラムが実装されるビジネスプロセス／ビジネスルール実行システムを説明する。図１は、本発明の実施形態によるプログラム生成装置が実装されたビジネスプロセス／ビジネスルール実行システムの構成例を示すブロック図である。
この図１におけるビジネスプロセス／ビジネスルール実行システムは、動作環境として、例えば、ＪＡＶＡ（登録商標）が用いられている。
ビジネスプロセス／ビジネスルール実行システムは、ウェブサーバー２と、サーバー記憶部３とを備えている。
【００２１】
ここで、ウェブサーバー２は、ビジネスプロセス（Business Process）実行エンジン２１、ビジネスルール（Business Rules）実行エンジン２２、ＪＳＰ（Java（登録商標） Server Pages）モジュール（以下、ＪＳＰ）２３、サーブレット（servlet）モジュール（以下サーブレット）２４（２４Ａ、２４Ｂ）、サービスアダプタ（ServiceAdapter）モジュール（以下、サービスアダプタ）２５、ビジネスプロセスラッパーモジュール（以下、ビジネスプロセスラッパー）２６、ビジネスルールラッパー（Business Rules Wrapper）モジュール（以下、ビジネスルールラッパー）２７と、ＤＢ（データベース）２１０及びビジネスルール定義体ファイル記憶部２００を備えている。ウェブサーバー２には、インターネットを含む通信網を介してｃｌｉｅｎｔ（ユーザの端末としてのパーソナルコンピュータなど）が接続されている。
【００２２】
サーバー記憶部３には、予めＪＳＰ２３、サーブレット２４、サービスアダプタ２５、ビジネスプロセスラッパー２６、ビジネスルールラッパー２７の各々のプログラムのソースコードと、ビジネスが記述されたファイルが記憶されている。
ＪＳＰ２３のソースコードが記述されたファイルはＪＳＰファイルであり、サーブレット２４のソースコードが記述されたファイルはサーブレットファイル１０２であり、サービスアダプタ２５のソースコードが記述されたファイルはサービスアダプタファイル１０３であり、ビジネスプロセスラッパー２６のソースコードが記述されたファイルはビジネスプロセスラッパーファイル１０４であり、ビジネスルールラッパー２７のソースコードが記述されたファイルはビジネスルールラッパーファイル１０５である。これらのソースコードのファイルの生成については後述する。
また、サーバー記憶部３には、ビジネスプロセス実行エンジン２１が行うプロセスの内容が記述されたビジネスプロセス定義体（ＸＭＬ）ファイル１０１が、予め設定されている（詳細については後述）。
さらに、サーバー記憶部３には、業務処理名とこの業務処理名の業務処理を構成するプロセス識別番号（プロセスＩＤ、すなわち以降のプロセス識別情報）の組み合わせの業務処理テーブルが記憶されている。
【００２３】
ウェブサーバー２は、ｃｌｉｅｎｔによりアクセスされることにより、サーバー記憶部３からＪＳＰ２３のプログラムファイルを読み出し、インスタンス化してＪＳＰ２３を実行させる。
ＪＳＰ２３は、インスタンス化されて実行された後、ｃｌｉｅｎｔに実装されているウェブブラウザからの供給される、例えばＨＴＭＬ（HyperText Markup Language）で記述されたＪＳＰファイルを解析し、業務処理を構成するプロセス識別情報を抽出し、抽出したプロセス識別情報に対応するサーブレットの起動を行う。
すなわち、ウェブサーバー２には、データと、いずれのサーブレットを起動するかを示す情報、すなわちプロセス識別情報とを含むＪＳＰファイルがｃｌｉｅｎｔから供給される。
例えば、ＪＳＰ２３は、ｃｌｉｅｎｔから供給されるプロセス識別情報に対応するサーブレットファイル１０２（クラスが記述されたＪＡＶＡ（登録商標）ファイル）を、サーバー記憶部３から読み出し、読み出したサーブレットファイル１０２に記述されている変数にデータを代入してインスタンス化し、オブジェクトとしてサーブレット２４（２４Ａ、２４Ｂ）を起動して実行させる。
【００２４】
この結果、ＪＳＰ２３は、サーブレット２４Ａ及び２４Ｂを、ＪＳＰファイル毎（あるいはユーザ毎）に生成して実行する。
ここで、インスタンス化されたサーブレット２４Ａ、２４Ｂには、ウェブサーバー２がｃｌｉｅｎｔを識別するため、例えば、一般的なセッション管理機能（ＰＨＰ：Hypertext Preprocessor４．０）を用い、セッション変数としてセッションＩＤが付与されている。
また、以下の説明において、サーブレット２４Ａはルール識別情報（ルールＩＤ）が付加されている（記述されている）プロセスに対応し、サーブレット２４Ｂはルール識別情報が付加されていないプロセスに対応しているとして説明する。
【００２５】
ウェブサーバー２は、サーブレットファイル１０２がインスタンス化され、オブジェクトとしてサーブレット２４Ａ（ルール識別情報が記述されている）が生成されたことにより、このサーブレット２４Ａのプロセス識別情報に対応するビジネスルールラッパーファイル１０５（クラスが記述されたＪＡＶＡ（登録商標）ファイル）を、このプロセス識別情報を検索キーとしてサーバー記憶部３から読み出す。
また、ウェブサーバー２は、読み出したビジネスルールラッパーファイル１０５に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスルールラッパー２７を起動して実行させる。
【００２６】
次に、図２は、サーブレット２４（例えば、２４Ａ）とビジネスルール実行エンジン２２との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
このビジネスルールラッパー２７は、サーブレット２４Ａがビジネスルール実行エンジン２２に対してビジネスルール処理を委譲する際、委譲する処理に用いるデータを含んでサーブレット２４Ａにより起動されるビーン（Ｂｅａｎ、例えばＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎ）のインターフェース及びデータ（予約販売額合計及び予約入金額合計）の形式を、ビジネスルール実行エンジン２２が処理可能となるインターフェース及びデータ（予約販売額合計及び予約入金額合計）の形式に変換する。また、サーブレット２４Ａは、ルール識別情報が記述されて付加（添付）されたプロセスに対応して生成されるため、起動するＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに対し、プロセス識別情報に加え、このプロセスに対応したルール識別情報も記述されて付加（以降付加とする）されている。
【００２７】
すなわち、ビジネスルールラッパー２７は、サービスアダプタ２５が起動したＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎのインターフェース及びデータの形式を、ビジネスルール実行エンジン２２の形式に変換する。
そして、ビジネスルールラッパー２７は、変換したＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎを、処理を委譲するためのインターフェースコンテナ（ＫＳｅｓｓｉｏｎ）に書き込むことで、ビジネスルール実行エンジン２２に対してデータの受け渡し、すなわち処理の委譲を行う。ここで、ビジネスルールラッパー２７は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎのインターフェース及びデータの形式の変換を行う。
【００２８】
一方、ビジネスルールラッパー２７は、ビジネスルール実行エンジン２２からサーブレット２４Ａに対してビジネスルール処理の結果が供給される際、ビジネスルール実行エンジン２２からインターフェースコンテナ（ＫＳｅｓｓｉｏｎ）におけるＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに処理結果のデータが書き込まれると、このＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎ（サーブレット２４Ａに対応するプロセスのプロセス識別情報とルール識別情報とが付加されている）のインターフェース及びデータの形式を、サーブレット２４Ａがデータを入力する形式に変換する。
【００２９】
すなわち、ビジネスルールラッパー２７は、ビジネスルール実行エンジン２２から処理結果のデータがインターフェースコンテナ（ＫＳｅｓｓｉｏｎ）のＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに書き込まれると、このＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎのインターフェース及びデータの形式の変換を行う。
そして、ビジネスルールラッパー２７は、変換後のＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎをサービスアダプタ２５に対して出力する。
ここで、ビジネスルールラッパー２７は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
【００３０】
図１に戻り、ウェブサーバー２は、サーブレットファイル１０２がインスタンス化され、オブジェクトとしてサーブレット２４Ｂ（ルール識別情報が付加されていない）が起動されたことにより、このサーブレット２４Ｂのプロセス識別情報に対応するビジネスプロセスラッパーファイル１０４（クラスが記述されたＪＡＶＡ（登録商標）ファイル）を、このプロセス識別情報を検索キーとしてサーバー記憶部３から読み出し、ビジネスプロセスラッパーファイル１０４に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスプロセスラッパー２６を起動して実行させる。
【００３１】
次に、図３は、サーブレット２４（例えば、２４Ｂ）とビジネスプロセス実行エンジン２１との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
このビジネスプロセスラッパー２６は、サーブレット２４Ｂがビジネスプロセス実行エンジン２１に対してビジネスプロセス処理を委譲する際、委譲する処理に用いるデータを含んでサーブレット２４Ｂにより起動されるビーン（Ｂｅａｎ、例えばＲｅｓｅｒｖａｔｉｏｎＢｅａｎ）のインターフェース及びデータ（予約予約番号及び予約申込者名）の形式を、ビジネスプロセス実行エンジン２１が処理可能となるインターフェース及びデータ（予約予約番号及び予約申込者名）の形式に変換する。
【００３２】
すなわち、ビジネスプロセスラッパー２６は、サービスアダプタ２５が起動したＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン２１の形式に変換する。
そして、ビジネスプロセスラッパー２６は、変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎを、処理を委譲するためのインターフェースコンテナ（ＳｅｒｖｉｃｅＳｅｓｓｉｏｎ）に書き込むことで、ビジネスプロセス実行エンジン２１に対してデータの受け渡し、すなち処理の委譲を行う。ここで、ビジネスプロセスラッパー２６は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェース及びデータの形式の変換を行う。
【００３３】
一方、ビジネスプロセスラッパー２６は、ビジネスプロセス実行エンジン２１からサーブレット２４Ｂに対してビジネスプロセス処理の結果が供給される際、ビジネスプロセス実行エンジン２１からインターフェースコンテナ（ＳｅｒｖｉｃｅＳｅｓｓｉｏｎ）におけるＲｅｓｅｒｖａｔｉｏｎＢｅａｎに処理結果のデータが書き込まれると、このＲｅｓｅｒｖａｔｉｏｎＢｅａｎ（サーブレット２４Ｂに対応するプロセスのプロセス識別情報が付加されている）のインターフェース及びデータの形式を、サーブレット２４Ｂがデータを入力する形式に変換する。
【００３４】
すなわち、ビジネスプロセスラッパー２６は、ビジネスプロセス実行エンジン２１から処理結果のデータがインターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎのＲｅｓｅｒｖａｔｉｏｎＢｅａｎに書き込まれると、このＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェース及びデータの形式の変換を行う。
そして、ビジネスプロセスラッパー２６は、変換後のＲｅｓｅｒｖａｔｉｏｎＢｅａｎをサービスアダプタ２５に対して出力する。
ここで、ビジネスプロセスラッパー２６は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
【００３５】
図１に戻り、ウェブサーバー２は、サーバー記憶部３に記憶されている複数のサーブレットファイル１０２から、いずれかのサーブレットファイル１０２が読み出され、インスタンス化されてオブジェクトとして実行されると、サービスアダプタファイル１０３（クラスが記述されたＪＡＶＡ（登録商標）ファイル）をサーバー記憶部３から読み出す。
また、ウェブサーバー２は、読み出したサービスアダプタファイル１０３に記述された変数に、必要なデータを代入してインスタンス化し、オブジェクトとしてサービスアダプタ２５を起動して実行させる。
【００３６】
このサービスアダプタ２５は、サーブレット２４に対応するプロセスのプロセス識別情報と、このプロセスの処理を委譲する実行エンジンのエンジン識別子との対応を示す対応テーブルを有している。ビジネスプロセス定義体（後に詳細に説明）におけるプロセスにルール識別情報が記述されている場合、このプロセスに対応して生成されたサーブレット２４Ａの処理の委譲先はビジネスルール実行エンジン２２である。一方、ビジネスプロセス定義体におけるプロセスにルール識別情報が記述されていない場合、このプロセスに対応して生成されたサーブレット２４Ｂの処理の委譲先はビジネスプロセス実行エンジン２１である。
また、サービスアダプタ２５は、サーブレット２４が起動するビーン（ＲｅｓｅｒｖａｔｉｏｎＢｅａｎまたはＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎ）に記述されているプロセス識別情報と同一のプロセス識別情報を対応テーブルから検索する。
そして、サービスアダプタ２５は、対応テーブルにおいて検索されたプロセス識別情報に対応して記憶されているエンジン識別情報の示す実行エンジン（ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２）を、プロセスの処理の委譲先に設定する。
【００３７】
ビジネスプロセス実行エンジン２１は、インターフェースコンテナ（ＳｅｒｖｉｃｅＳｅｓｓｉｏｎ）に書き込まれたデータとプロセス識別番号とにより、ビジネスプロセス処理（例えば、ＤＢ２１０（データベース）に対するデータの検索、読み出し、書き込み、編集）を行う。
サーブレット２４Ｂが後述するビジネスプロセス定義体におけるプロセス識別番号「１」のプロセスに対応した処理としてビジネスプロセス処理を実行する場合、このプロセス識別情報「１」のプロセスは、「予約基本を検索する」処理する。すなわち、ビジネスプロセス実行エンジン２１は、サーブレット２４Ｂから委譲されたデータである予約予約番号及び予約申込者名を検索キーとして、この検索キーに対応して記憶されているデータを、ＤＢ２１０に記憶されているデータの中から検索する（処理の詳細は後述）。
【００３８】
また、ビジネスプロセス実行エンジン２１は、インターフェースコンテナ（ＳｅｒｖｉｃｅＳｅｓｓｉｏｎ）に書き込まれたＲｅｓｅｒｖａｔｉｏｎＢｅａｎに付加されているデータ及びプロセス識別情報により、サーバー記憶部３に記憶されているビジネスプロセス定義体（ＸＭＬ）ファイル１０１の中から、同一のプロセス識別情報が付加されたビジネスプロセス定義体（ＸＭＬ）ファイル１０１を読み出す。
また、ビジネスプロセス実行エンジン２１は、読み出したビジネスプロセス定義体（ＸＭＬ）ファイル１０１に従い、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎを介してサーブレット２４Ｂから供給されたデータを用いてビジネスプロセスの処理を行う。
【００３９】
一方、ビジネスルール実行エンジン２２は、インターフェースコンテナ（ＫＳｅｓｓｉｏｎ）に書き込まれたＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに付加されているデータ及びプロセス識別番号により、ビジネスルール処理（例えば、論理演算、数値計算などの演算処理）を行う。
サーブレット２４Ａが後述するビジネスプロセス定義体におけるプロセス識別番号「２」のプロセスに対応した処理としてビジネスルール処理を実行する場合、このプロセス識別情報「２」のプロセスは、「入金ステータスを検索する」処理を行う。すなわち、ビジネスルール実行エンジン２２は、サーブレット２４Ａから委譲されたデータである予約販売額合計と予約入金額合計とを比較し、この比較結果に応じて設定されている入金ステータスを、内部に設けられたステータステーブルから検索する（処理の詳細は後述）。
【００４０】
また、ビジネスルール実行エンジン２２は、インターフェースコンテナ（ＫＳｅｓｓｉｏｎ）に書き込まれたルール識別情報により、ビジネスルール定義体ファイル記憶部２００に記憶されているビジネスルール定義体ファイル３０２の中から、同一のプロセス識別情報が付加されたビジネスルール定義体ファイル３０２を読み出す。
また、ビジネスルール実行エンジン２２は、読み出したビジネスルール定義体ファイル３０２に記述された論理演算あるいは数値演算の式などに従い、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎを介してサーブレット２４Ａから供給されたデータを用いてビジネスプロセスの処理を行う。
【００４１】
ＤＢ２１０には、本実施形態においては、例えば、旅行会社の顧客管理のデータベースであり、予約毎に、予約予約番号、予約申込者名、予約出発日、予約従業員名、予約予約日とが対応付けられて記憶されている。
ビジネスルール定義体ファイル記憶部２００には、ビジネスルール実行エンジン２２が実行するビジネスルール処理の内容が記述されたビジネスルール定義体ファイル３０２が、このビジネスルール定義体ファイル３０２を一意に示すルール識別情報とともに記憶されている。
本実施形態によるプログラム生成装置は、上述したサーブレット２４、サービスアダプタ２５、ビジネスプロセスラッパー２６、ビジネスルールラッパー２７のプログラムを生成し、それぞれのソースコードが記述された、サーブレットファイル１０２、サービスアダプタファイル１０３、ビジネスプロセスラッパーファイル１０４、ビジネスプロセスルールラッパーファイル１０５を出力し、サーバー記憶部３へ書き込む処理を行う。
【００４２】
図４は、ビジネスルール定義体ファイル３０２のプロセスルール処理の記述の構成の一例を示す図である。
図４のビジネスルール定義体ファイル３０２に記述されたプロセスルール処理は、既に説明したサーブレット２４Ａのプロセスの処理に対応しており、データとして入力された予約販売額合計と予約入金額合計とを比較し、比較結果に応じて設定されている入金ステータスを出力することである。
ビジネスルール定義体ファイル３０２における入金ステータスとしては、「未入金」、「一部入金」、「入金済」、「入金超過」が設定されている。図４に示すビジネスルール定義体ファイル３０２におけるこれらステータスとデータの比較処理（プロセスルール処理）の種類とは、以下に示す対応関係にある。
・未入金  ：予約入金額合計が「０」である場合
・一部入金：予約入金額合計が「０」でなく、かつ予約販売額合計が予約入金額合計よ              り大きい
・入金済み：予約販売額合計と予約入金額合計とが等しい
・入金超過：予約販売額合計が予約入金額合計より小さい
【００４３】
次に、図面を参照して、本発明の実施の形態であるビジネスプロセス／ビジネスルール実行システムで用いるプログラムの生成方法について説明する。図５は、この発明の一実施形態による、ビジネスプロセス／ビジネスルール実行システム（例えば、本実施形態においてはＪＡＶＡ（登録商標）にて実装されている）で使用されるプログラムを生成するプログラム生成装置の構成例を示す概略ブロック図である。
この図５において、プログラム生成装置１は、ビジネスプロセス（Business Process）定義解析部１１、ビジネスプロセス定義体ファイル変換部１２、サーブレット（servlet）生成部１３、サービスアダプタ（ServiceAdapter）生成部１４、ビジネスプロセスラッパー（Business Process Wrapper）生成部１５、ビジネスルールラッパー（Business Rules Wrapper）生成部１６、ビジネスルール定義体ファイル解析部１７及びビジネスルール定義体ファイル配備部１８、記憶部１９を備えている。
【００４４】
次に、図６は、ビジネスプロセス／ビジネスルール実行システムで使用されるプログラムを生成する際に用いるプログラム生成情報が記述された、ビジネスプロセス定義体ファイル３０１におけるテーブルの一例を示す図である。このビジネスプロセス定義体ファイル３０１は、業務処理毎に、ビジネスプロセス／ビジネスルール実行システムを作成する作業者により記述されて作成される。
この図６は、下記に示す項目を表形式に記述する仕様、例えばエクセル（登録商標）などにより記述されている。
業務処理は、図６に示すように複数個のプロセス、あるいは１個のプロセスから構成されている。
【００４５】
図６のテーブルのビジネスプロセス定義としては、
項目Ａ：プロセスを一意に識別するプロセス識別情報
項目Ｂ：プロセス識別情報で識別されるプロセスの名称であるプロセス名
項目Ｃ：プロセスの処理の種別あるいは項目の操作種別
項目Ｄ：プロセスが操作対象とするテーブル名及びテーブル内の項目を示す操作項目情  報
項目Ｅ：プロセスの操作対象のテーブルの詳細情報である操作対象
項目Ｆ：プロセスがビジネスルールの処理である場合に、このビジネスルールを一意に識別するルール識別情報
の各項目における定義から構成されている。
【００４６】
本実施形態において、プログラム生成情報とは、図６に示すビジネスプロセス定義体ファイル３０１におけるテーブルに記述されているプロセス識別情報、プロセス名、項目種別、操作項目情報（アトリビュート名）、操作対象、ルール識別情報（存在する場合のみ）を有している。
例えば、図６に示すビジネスプロセス定義体ファイル３０１におけるテーブルにおいて、プロセス識別情報（項目Ａ）は、番号の欄に記述された「１」である。プロセス名（項目Ｂ）は、プロセス名の欄に記載された「予約基本を検索する」である。項目種別（項目Ｃ）は、項目種別の欄に記載されたプロセスの処理の種別である「SEARCH」、及びプロセスの処理における項目の操作情報である「Search」あるいは「Output」である。操作項目情報（項目Ｄ）は、ラベル名（エンティティ名）・ラベル名（アトリビュート名）及びエンティティ名・アトリビュート名の欄に記載されており、ラベル名（エンティティ名）である「予約」、ラベル名（アトリビュート名）である「予約予約番号」、「予約申込者名」、「予約出発日」、「予約従業員名」などであり、エンティティ名である「Reservation」であり、アトリビュート名である「reservationReservationReferenceld」、「reservationReservationApplicantName」などである。
【００４７】
また、詳細情報（項目Ｅ）は、操作対象パスの欄に記述された「Reservation」などである。ルール識別情報（項目Ｆ）は、プロセス識別情報「２」における行における外部ルールの欄に記載された、ルール識別情報である「d_rule_001」などである。
図示はしていないが、プロセスにおける操作情報として、入力（Input）の欄に入力であるか否かを示すマークとして記述され、転記（Cascade）の欄に情報をいずれかに移しかえるか否かを示すマークとして記述され、任意（Optional）の欄に、対応するラベル（アトリビュート名）の情報の入力が任意であることを示すマークとして記述され、複数（Multiple）の欄に、対応するラベル（アトリビュート名）の情報の数が複数か否かを示すマークとして記述され、比較（Operetor）の欄に、対応するラベル（アトリビュート名）を検索する際に、完全一致（＝）か部分一致（like）であるかを示す情報が記述されている。
【００４８】
図５に戻り、ビジネスプロセス定義解析部１１は、図６に示すテーブルとしてのビジネスプロセス定義体ファイル３０１を、ユーザの操作により、外部機器あるいは外部記憶部から読み込み、記憶部１９に書き込んで記憶させる。
また、ビジネスプロセス定義解析部１１は、このビジネスプロセス定義体ファイル３０１を記憶部１９から順次読み出し、業務処理を構成するプロセス毎に、プログラム生成情報を構成するプロセス識別情報、プロセス名、項目種別、操作項目情報、操作情報、操作対象、ルール識別情報の各々を抽出して読み出す。  
ビジネスプロセス定義解析部１１は、読み出したプロセス毎のプログラム生成情報に対し、対応するプロセスのプロセス識別情報を付加し、プロセス毎に記憶部１９に一旦書き込んで記憶させる。
また、ビジネスプロセス定義解析部１１は、ビジネスプロセス定義体ファイル３０１のテーブルにおいて、予め入力データが必要と設定されている項目に、ユーザからの入力データが記述がされていない場合、あるいは、プロセス名、項目種別、アトリビュート名などがビジネスプロセス実行エンジン及びビジネスルール実行エンジンで使用されている記述でない場合、ビジネスプロセス定義体ファイル３０１の記述に不備があることを図示しない、表示部などの出力部を介して作業者に対して通知する。
【００４９】
ビジネスプロセス定義体ファイル変換部１２は、記憶部１９から読み出した業務処理を構成する各プロセスのプログラム生成情報における項目種別、操作項目情報及び操作情報により、予め設定されたフォーマットの形式、すなわちビジネスプロセス実行エンジン２１（図１）が解読できる形式のビジネスプロセス定義体（ＸＭＬ）ファイル１０１を生成する。ここで、ビジネスプロセス定義体ファイル変換部１２は、ルール識別情報が付加されているか否かの判定を行い、ルール識別情報が付加されていないプロセスのみに対し、ビジネスプロセス定義体（ＸＭＬ）ファイル１０１を生成する。
【００５０】
例えば、ビジネスプロセス定義体ファイル変換部１２は、ＸＭＬ（Extensible Markup Language）形式で、プログラム生成情報の各項目が記述された、プロセス毎のビジネスプロセス定義体（ＸＭＬ）ファイル１０１を生成する。
このとき、ビジネスプロセス定義体ファイル変換部１２は、記憶部１９におけるビジネスプロセス定義体ファイルテンプレート記憶領域から、ビジネスプロセス定義体ファイルテンプレートを読み出す。
このビジネスプロセス定義体ファイルテンプレート記憶領域には、プロセス識別情報、項目種別、操作項目情報及び操作情報の組み合わせ毎に、図６に示すビジネスプロセス定義体ファイルにおけるプロセス単位で、ビジネスプロセス実行エンジン２１が解読できる形式のビジネスプロセス定義体ファイルテンプレート記憶されている。
そして、ビジネスプロセス定義体ファイル変換部１２は、この読み出したビジネスプロセス定義体ファイルテンプレートに対し、記憶部１９から読み出したプロセス識別情報、項目種別、操作項目情報及び操作情報を追記して、プロセス毎のビジネスプロセス定義体（ＸＭＬ）ファイル１０１を生成する。
【００５１】
サーブレット生成部１３は、記憶部１９から読み出した業務処理を構成する各プロセスのプログラム生成情報におけるプロセス識別情報、項目種別、操作項目情報により、予め設定されたフォーマットの形式の記述に対応したサーブレットのプログラムが記述されたサーブレットファイル１０２を生成する。このサーブレットファイル１０２は、ウェブサーバー上で実行され、例えばＪＳＰと連携してウェブページを構築するサーブレット２４のプログラムのソースコードが記述されたファイルである（後述）。
このとき、サーブレット生成部１３は、記憶部１９のサーブレットテンプレート記憶領域において、項目種別毎にプロセス単位で記憶されている、サーブレットテンプレートに、記憶部１９から読み出したプロセス識別情報、項目種別、操作項目情報を追記して、プロセス毎のプログラムを生成し、このれらのプログラムが記述されたサーブレットファイル１０２を出力する。
【００５２】
サービスアダプタ生成部１４は、ビジネスプロセス定義体ファイル３０１のプロセス毎に、各プロセスの処理の委譲先を、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれにするかを示すプログラムである。
すなわち、サービスアダプタ生成部１４は、プロセス識別情報毎に、当該プロセス識別情報が示すプロセスを、ビジネスプロセス実行エンジン２１及びビジネスルール実行エンジン２２のいずれかに委譲するかを示す対応テーブルを含み、プロセス識別情報が入力された際に、この対応テーブルを参照して、プロセス識別情報の示すプロセスの処理を、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれかに委譲するプログラムを生成し、このプログラムが記述されているサービスアダプタファイル１０３を出力する。
【００５３】
ビジネスプロセスラッパー生成部１５は、ルール識別情報が含まれていないプロセスのプログラム生成情報から生成されたサーブレット２４（例えば、サーブレット２４Ｂ）に対応するビジネスプロセスラッパー２６のプログラムを生成し、このプログラムのソースコードが記述されたビジネスプロセスラッパーファイル１０４を出力する。
このビジネスプロセスラッパー２６は、既に説明したように、サーブレット２４がデータを委譲するために用いるビーン（ＲｅｓｅｒｖａｔｉｏｎＢｅａｎ）のインターフェースの形式及びデータの形式を、ビジネスプロセス実行エンジン２１のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置し、逆に、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎにおけるＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェースの形式及びデータの形式を、サーブレット２４のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ２５に委譲する処理を行うプログラムである。
【００５４】
すなわち、ビジネスプロセスラッパーファイル１０４には、サーブレット２４がプロセスの処理の委譲をビジネスプロセス実行エンジン２１に対して行う際、サーブレット２４がデータの出力を行うＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェース（出力）の形式及びデータの形式を、ビジネスプロセス実行エンジン２１のインターフェース（入力）に対応した形式及びデータの形式に変換し、ビジネスプロセス実行エンジン２１がプロセスの処理の結果をサーブレットに出力する際、ビジネスプロセス実行エンジンの出力するインターフェース（出力）の形式及びデータの形式を、サーブレット２４のインターフェース（入力）の形式及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスプロセスラッパー生成部１５は、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェース及びデータが異なるため、ビジネスプロセスラッパー２６のプログラムをプロセス毎に生成する。ここで、データの形式とは、ｂｙｔｅ、ｓｈｏｒｔ、ｉｎｔ、ｌｏｎｇなどのデータ型（変数）を示している。
【００５５】
ビジネスルールラッパー生成部１６は、ルール識別情報が含まれているプロセスのプログラム生成情報から生成されたサーブレット２４（例えば、サーブレット２４Ａ）に対応するビジネスルールラッパー２７のプログラムを生成し、このプログラムのソースコードが記述されたビジネスルールラッパーファイル１０５を出力する。
このビジネスルールラッパー２７は、既に説明したように、サーブレット２４がデータを委譲するために用いるビーン（ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎ）のインターフェースの形式及びデータの形式を、ビジネスルール実行エンジン２２のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナＫＳｅｓｓｉｏｎに配置し、逆に、インターフェースコンテナＫＳｅｓｓｉｏｎにおけるＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎのインターフェースの形式及びデータの形式を、サーブレット２４のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ２５に委譲する処理を行うプログラムである。
【００５６】
すなわち、ビジネスルールラッパーファイル１０５には、サーブレット２４がプロセスの処理の委譲をビジネスルール実行エンジン２２に対して行う際、サーブレット２４がデータの出力を行うインターフェース（出力）及びデータの形式を、ビジネスルール実行エンジン２２のインターフェース（入力）及びデータの形式に変換し、ビジネスルール実行エンジン２２がプロセスの処理の結果をサーブレットに出力する際、ビジネスルール実行エンジン２２の出力するインターフェース（出力）及びデータの形式を、サーブレットのインターフェース（入力）及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスルールラッパー生成部１６は、ビジネスプロセスラッパー生成部１５と同様に、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェースが異なるため、ビジネスルールラッパー２７のプログラムをプロセス毎に生成する。
【００５７】
上述したサーブレットファイル１０２、サービスアダプタファイル１０３、ビジネスプロセスラッパーファイル１０４及びビジネスルールラッパーファイル１０５の各々は、プログラムのソースコードが記述されたファイル、例えばＪＡＶＡ（登録商標）ファイルである。
また、プログラム生成装置１は、作成されたサーブレットファイル１０２、サービスアダプタファイル１０３、ビジネスプロセスラッパーファイル１０４及びビジネスルールラッパーファイル１０５の各々のファイルを、一旦記憶部１９に書き込んで記憶させ、後にウェブサーバーのサーバー記憶部３に書き込んで記憶させることにより、ウェブサーバー２に実装する。
【００５８】
ビジネスルール定義体ファイル解析部１７は、ユーザの操作により、外部機器あるいは外部記憶部からビジネスルール定義体ファイル３０２を読み込み、記憶部１９に書き込んで記憶させる。
また、ビジネスルール定義体ファイル解析部１７は、記憶部１９からビジネスルール定義体ファイル３０２を読み出し、このビジネスルール定義体ファイル３０２に記述されているルール識別情報を抽出する。
ビジネスルール定義体ファイル解析部１７は、ビジネスプロセス定義体ファイル３０１から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイル３０２が、記憶部１９に記憶されているビジネスルール定義体ファイル３０２の中に存在するか否かの検出を行う（整合性のチェックを行う）。本実施形態においては、ルール識別情報と、この識別情報に対応するビジネスルール定義体ファイルのファイル名とは、同一の文字列を用いている。
ここで、ビジネスルール定義体ファイル解析部１７は、ビジネスプロセス定義体ファイル３０１から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部１９に記憶されているビジネスルール定義体ファイル３０２の中に存在しない場合、整合性が取れないことを示すエラーメッセージを表示装置等の出力部から出力することによりユーザに対して通知する。
【００５９】
ビジネスルール定義体ファイル解析部１７は、ビジネスプロセス定義体ファイル３０１から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部１９に記憶されているビジネスルール定義体ファイル３０２に存在した場合、整合性が取れたことを示すメッセージを表示装置等の出力部からユーザに対して通知する。
また、ビジネスルール定義体ファイル配備部１８は、ビジネスプロセス定義体ファイル３０１とビジネスルール定義体ファイル３０２との整合性が取れると、整合性が取れたビジネスルール定義体ファイル３０２を記憶部１９から読み出し、ビジネスルール実行エンジン２２が読み出しを行うビジネスルール定義体ファイル記憶部２００へ書き込んで記憶させる（ビジネスルール定義体ファイル３０２のコピーを行う）。
【００６０】
上述した構成により本実施形態によれば、業務処理を構成するプロセスの各々にルール識別情報が付加されているか否かにより、ビジネスプロセス実行エンジン２１及びビジネスルール実行エンジン２２のいずれにサーブレット２４のプロセスの処理を実行させるかを振り分けるサービスアダプタ２５のプログラムを、ビジネスプロセス定義体ファイル３０１の記載に整合させて生成させることができる。
このため、本実施形態によれば、ビジネスプロセス実行エンジン２１におけるビジネスプロセス処理の実行において、従来のように、ビジネスルール実行エンジン２２における呼出処理などの不必要な負荷をかける処理が無くなり、ビジネスプロセス処理の動作の効率を向上させることが可能なビジネスプロセス／ビジネスルール実行システムに実装されるプログラムを容易に生成することができる。
【００６１】
また、本実施形態によれば、ビジネスプロセス処理に対し、処理の内容によりビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成であるサービスアダプタをプロセス毎に整合をとって自動生成するため  ビジネスプロセス実行エンジンが変更されたとしても、ビジネスプロセス／ビジネスルール実行システムに実装されるプログラムの生成における作業者の開発工数を、従来のように増加させることがない。
【００６２】
また、本実施形態においては、サービスアダプタ生成部１４が、ビジネスプロセス／ビジネスルール実行システムで用いるプロセスの全てに対して１つのサービスアダプタを生成している。すなわち、本実施形態においては、サービスアダプタ生成部１４が、プロセス識別情報とプロセス識別情報の示すプロセスの処理の委譲先の実行エンジンとの対応を示す対応テーブルを参照し、各プロセスの処理をそれぞれプロセス識別情報に対応した実行エンジンに委譲するサービスアダプタを生成する。
しかしながら、プロセス毎に１つのサービスアダプタ２５を生成するように、サービスアダプタ生成部１４を構成してもよい。この場合、サービスアダプタ２５は、自身に設定されているプロセス識別情報に対応するプロセスの処理を、自身に設定された委譲先（ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれか）に委譲する処理を行う機能を有する。
【００６３】
また、本実施形態のプログラム生成装置１は、サーバー、パーソナルコンピュータなどのコンピュータを用い、ビジネスプロセス定義解析部１１、ビジネスプロセス定義体ファイル変換部１２、サーブレット生成部１３、サービスアダプタ生成部１４、ビジネスプロセスラッパー生成部１５、ビジネスルールラッパー生成部１６、ビジネスルール定義体ファイル解析部１７及びビジネスルール定義体ファイル配備部１８の各々を、プログラム上のモジュールとして動作させるように構成しても良い。
【００６４】
次に、図７を用いて、本実施形態のプログラム生成装置１によるビジネスプロセス／ビジネスルール実行システムに用いるプログラムを生成する処理を説明する。図７は、本実施形態のプログラム生成装置１によるビジネスプロセス／ビジネスルール実行システムに用いるプログラムを生成する動作を示すシーケンス図である。
ステップＳ１：
ビジネスプロセス定義解析部１１は、入力されるテーブル形式のビジネスプロセス定義体ファイル３０１から、プログラム生成情報であるプロセス識別情報、プロセス名、項目種別、操作項目情報、操作情報、操作対象、ルール識別情報の各々を、プログラム生成情報として抽出して読み出し、プロセス毎にプロセス識別情報に対応させて、記憶部１９に書き込んで記憶させる。
【００６５】
次に、サーブレット生成部１３は、記憶部１９からプロセス毎に、順次プログラム生成情報を読み出し、このプログラム生成情報におけるサーブレットテンプレート記憶領域から、当該プロセスの項目種別に対応するプログラムのテンプレートを読み出す。
そして、サーブレット生成部１３は、読み出したテンプレートに対し、プロセス識別情報を含むプログラム生成情報の各データを追記することにより、サーブレット２４のプログラムのソースコードを生成し、このサーブレット２４のソースコードが記述されたサーブレットファイル１０２を生成する。
これにより、サーブレット生成部１３は、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２に、ビジネスプロセス定義体ファイル３０１の各プロセスに記述された処理を実行させるサーブレット２４のプログラムを生成し、生成されたサーブレット２４のプログラムのソースコードを、サーブレットファイル１０２としてプロセス識別情報に対応させて記憶部１９に書き込んで記憶させる。
【００６６】
ステップＳ２：
ビジネスプロセス定義体ファイル変換部１２は、記憶部１９に記憶されているプロセス毎に、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセス定義体ファイル変換部１２は、ルール識別情報が付加されていないプロセスに対応するプログラム生成情報を順次読み出す。
また、ビジネスプロセス定義体ファイル変換部１２は、記憶部１９に記憶されているビジネスプロセス定義体ファイルのテンプレートを読み出す。このビジネスプロセス定義体ファイルのテンプレートは、ビジネスプロセス実行エンジン２１が解読する形式のビジネスプロセス定義体ファイルを生成する元になる。
プログラム生成情報を読み出すと、ビジネスプロセス定義体ファイル変換部１２は、読み出したプログラム生成情報の各データを、ビジネスプロセス定義体ファイルのテンプレートに追記し、ビジネスプロセス実行エンジン２１が解読できる形式のビジネスプロセス定義体（ＸＭＬ）ファイル１０１を生成し、プロセス識別情報に対応させて記憶部１９に書き込んで記憶させる。
【００６７】
ステップＳ３：
サービスアダプタ生成部１４は、記憶部１９に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、サービスアダプタ生成部１４は、ルール識別情報が付加されていないサーブレット２４処理の委譲先をビジネスプロセス実行エンジン２１とし、ルール識別情報が付加されているサーブレット２４の処理の委譲先をビジネスルール実行エンジン２２と判定する。
【００６８】
これにより、サービスアダプタ生成部１４は、プロセス識別情報と、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれか一方を委譲先とする委譲先情報とが対応付けられた対応テーブルが付加され、プロセス識別情報に対応した委譲先情報に記載された実行エンジンに対し、サーブレット２４の処理を委譲するサービスアダプタ２５を生成し、このサービスアダプタ２５のプログラムのソースコードが記述されたサービスアダプタファイル１０３を出力する。
また、サービスアダプタ生成部１４は、生成したサービスアダプタファイル１０３を、記憶部１９に書き込んで記憶させる。
【００６９】
ステップＳ４：
ビジネスプロセスラッパー生成部１５は、記憶部１９に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセスラッパー生成部１５は、判定の結果、ルール識別情報が付加されていない場合、サーブレット２４がデータの入出力に用いるビーンと、ビジネスプロセス実行エンジン２２がデータの入出力に用いるインターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎ内に配置する際に、インターフェース及びデータの形式を、サーブレット２４とビジネスプロセス実行エンジン２２とにおける出力側の形式を入力側の形式に合わせるビジネスプロセスラッパー２６を生成する。
ビジネスプロセスラッパー生成部１５は、生成したビジネスプロセスラッパー２６のビジネスプロセスラッパーファイル１０４を、記憶部１９に書き込んで記憶させる。
【００７０】
ステップＳ５：
ビジネスルールラッパー生成部１６は、記憶部１９に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスルールラッパー生成部１６は、判定の結果、ルール識別情報が付加されている場合、サーブレット２４がデータの入出力に用いるＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎを、ビジネスルール実行エンジンがデータの入出力に用いるインターフェースコンテナＫＳｅｓｓｉｏｎ内に配置する際に、インターフェース及びデータの形式を、サーブレット２４とビジネスルール実行エンジン２２とにおける出力側の形式を入力側の形式に合わせるビジネスルールラッパー２７を生成する。
ビジネスルールラッパー生成部１６は、生成したビジネスルールラッパー２７のビジネスルールラッパーファイル１０５を、記憶部１９に書き込んで記憶させる。
【００７１】
ステップＳ６：
ビジネスルール定義体ファイル解析部１７は、記憶部１９に記憶されている全てのプロセスのプログラム生成情報からルール識別情報を含むプログラム生成情報を検出し、このプログラム生成情報からルール識別情報を抽出する。
そして、ビジネスルール定義体ファイル解析部１７は、抽出したルール識別情報と同一のファイル名を有するビジネスルール定義体ファイル３０２が、記憶部１９に記憶されているビジネスルール定義体ファイル３０２に存在するか否かの判定により、ビジネスプロセス定義体ファイル３０１のルール識別情報を有するプロセスと、ビジネスルール定義体ファイル３０２との整合が取れているか否かの整合性チェックを行う。
【００７２】
チェック結果において、ビジネスルール定義体ファイル解析部１７は、抽出したルール識別情報の全てが、同一ファイル名のビジネスルール定義体ファイル３０２と対応付けられた場合、ビジネスルール定義体ファイル３０２とルール識別情報との整合性が取れたと判定し、ビジネスルール定義体ファイル配備部１８に対し、整合性が取れたことを示す制御信号を出力する。
一方、ビジネスルール定義体ファイル解析部１７は、プログラム生成情報から抽出したルール識別情報の中において、記憶部１９に記憶されているビジネスルール定義体ファイル３０２のファイル名と対応付けられないルール識別情報が存在する場合、ビジネスルール定義体ファイル３０２とルール識別情報との整合性が取れないと判定する。
そして、ビジネスルール定義体ファイル解析部１７は、この整合性が取れないと判定されたプロセスのプロセス識別情報を示すエラーメッセージを出力部からユーザに通知する。
【００７３】
次に、ビジネスルール定義体ファイル配備部１８は、ビジネスルール定義体ファイル解析部１７から、整合性が取れたことを示す制御信号が供給されると、整合性が取れたビジネスルール定義体ファイル３０２を、ビジネスルール定義体ファイル記憶部２００へ書き込んで記憶させる。
【００７４】
次に、図８は、ビジネスプロセス定義体ファイル３０１から抽出したプログラム生成情報により、ルール識別情報が付加されていないプロセスに対応して生成される各種プログラムを示す概念図である。
この図８に示されているように、ビジネスプロセス定義体ファイル３０１において、ルール識別情報が付加されていないプロセス識別情報「１」のプロセス（プロセス識別情報「３」のプロセスも同様）に対応するテーブルの記述を、ビジネスプロセス実行エンジン２１の解読可能な形式としたビジネスプロセス定義体（ＸＭＬ）ファイル１０１が生成される。
同様に、ビジネスプロセス定義体（ＸＭＬ）ファイル１０１と同様に、サーブレットファイル１０２がサーブレット生成部１３により、またビジネスプロセスラッパーファイル１０４がビジネスプロセスラッパー生成部１５により、プロセス毎に生成される。
【００７５】
また、図９は、ビジネスプロセス定義体ファイル３０１から抽出したプログラム生成情報により、ルール識別情報が付加されているプロセスに対応して生成される各種プログラムを示す概念図である。
この図９に示されているように、ビジネスプロセス定義体ファイル３０１において、ルール識別情報が付加されているプロセス識別情報「２」のプロセスに対応するプログラム生成情報から、サーブレットファイル１０２がサーブレット生成部１３により、またビジネスプロセスラッパーファイル１０４がビジネスプロセスラッパー生成部１５により、プロセス毎に生成される。
また、図８及び図９に記載されているサービスアダプタファイル１０３は、既に説明したように、ルール識別情報が付加されていない、あるいは付加されているに係わらず、記憶部１９に記憶されているビジネスプロセス定義体ファイル３０２の全てに含まれる全プロセスに対して１つ生成される。
【００７６】
次に、図１０は、プロセス識別情報「１」、「２」及び「３」のプロセスから構成される業務処理から生成される各種プログラムを示す概念図である。
既に、図８及び図９において説明したように、サーブレットファイル１０２は、ルール識別情報が付加されているか否かによらず、プロセスに対して１個生成される。このため、図１０の業務処理のビジネスプロセス定義体ファイル３０１のプロセスが３個のため、このビジネスプロセス定義体ファイル３０１の場合に、サーブレットファイル１０２はサーブレット生成部１３によって３個生成される。
また、ビジネスプロセス定義体（ＸＭＬ）ファイル１０１は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図１０のビジネスプロセス定義体ファイル３０１には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「１」及び「３」の２個であり、ビジネスプロセス定義体（ＸＭＬ）ファイル１０１は、ビジネスプロセス定義体ファイル変換部１２により２個生成される。
【００７７】
また、ビジネスプロセスラッパーファイル１０４は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図１０のビジネスプロセス定義体ファイル３０１には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「１」及び「３」の２個であり、ビジネスプロセスラッパーファイル１０４は、ビジネスプロセスラッパー生成部１５により２個生成される。
また、ビジネスルールラッパーファイル１０５は、ルール識別情報が付加されているプロセスのみに対して生成される。このため、図１０のビジネスプロセス定義体ファイル３０１には、ルール識別情報が付加されているプロセスは、プロセス識別情報「２」の１個であり、ビジネスルールラッパーファイル１０５は、ビジネスルールラッパー生成部１６により１個生成される。
【００７８】
上述した各種プログラムは、複数の業務処理において、同一のプロセス識別情報が付加されているプロセスが重複する場合、同一のプロセス識別情報のプロセスについて１個のプログラムのみが生成される。
すなわち、ビジネスプロセス定義体ファイル変換部１２、サーブレット生成部１３、サービスアダプタ生成部１４、ビジネスプロセスラッパー生成部１５及びビジネスルールラッパー生成部１６の各々は、新たにプログラムを生成する際、既に生成したプログラムのプロセス識別情報と、これから生成しようとするプログラムのプロセス識別情報とを比較し、一致しない場合にプログラムを生成し、一方、一致した場合にプログラムを生成しない。
また、サービスアダプタファイル１０３は、全てのプロセスに対して１個、すなわち本実施形態のビジネスプロセス／ビジネスルール実行システムに対して入力される全ての業務処理のビジネスプロセス定義体ファイル３０１のプロセスに対して１個が、サービスアダプタ生成部１４により生成される。
【００７９】
＜ビジネスプロセス／ビジネスルール実行システム＞
次に、図１及び図１１を用いて、本実施形態によるプログラム生成装置で生成したプログラムを用いた作成ビジネスプロセス／ビジネスルール実行システムの動作を説明する。図１１は、ビジネスプロセス定義体ファイルにおけるルール識別情報が付加されていないプロセスを処理する場合における、ビジネスプロセス／ビジネスルール実行システムの動作を示すシーケンス図である。
【００８０】
ステップＳ１１１：
ユーザがｃｌｉｅｎｔを介してウェブサーバー２にアクセスする。これにより、ウェブサーバー２は、ＪＳＰ２３をインスタンス化して実行させる。
ＪＳＰ２３は、業務処理の種類と、この処理とに用いるデータとを入力する画面をｃｌｉｅｎｔへ、図示しないインターネットなどからなる通信回線を介して送信する。
ユーザは、ｃｌｉｅｎｔの表示装置に表示された業務処理の種類と、この業務処理とに用いるデータを入力欄に入力する。例えば、図６に示すように、ユーザが業務処理として「予約基本を検索する」を、データとして「予約番号」及び「予約申込者名」を入力欄にキーボード等により入力すると、ｃｌｉｅｎｔは入力欄に入力された「予約基本を検索する」と、データとして「予約番号」及び「予約申込者名」とを含むＪＳＰファイルをウェブサーバー２に対して、通信回線を介して送信する。
【００８１】
ステップＳ１１２：
ＪＳＰ２３は、ｃｌｉｅｎｔから入力されたＪＳＰファイルから、業務処理の「予約基本を検索する」と、データの「予約番号」及び「予約申込者名」とを抽出し、この「予約基本を検索する」という業務処理（業務処理名）に対応するプロセス識別情報の組み合わせを、この業務処理名を検索キーとして、サーバー記憶部３の業務処理名テーブルから検索する。
そして、ＪＳＰ２３は、検索した業務処理名に対応するプロセス識別情報の組み合わせ、すなわち、プロセス識別情報「１」、「２」及び「３」の組み合わせを業務処理名テーブルから読み出す。
【００８２】
また、ＪＳＰ２３は、プロセス識別情報「１」、「２」及び「３」の順番で処理を行うため、プロセス識別情報「１」に対応するサーブレットファイル１０２をサーバー記憶部３から読み出し、データトして「予約番号」及び「予約申込者名」とを変数に代入し、インスタンス化することでサーブレット２４Ｂを実行させる。
同様に、ウェブサーバー２は、サービスアダプタファイル１０３、ビジネスプロセスラッパーファイル１０４の各々をサーバー記憶部３から読み出し、インスタンス化することにより、サービスアダプタ２５、ビジネスプロセスラッパー２６を実行させる。
【００８３】
ステップＳ１１３：
サーブレット２４Ｂは、データの入出力を行うプログラムのビーンオブジェクトＲｅｓｅｒｖａｔｉｏｎＢｅａｎを起動して、自身のプロセスに対応するプロセス識別情報「１」と、データの「予約番号」及び「予約申込者名」とを、この起動したＲｅｓｅｒｖａｔｉｏｎＢｅａｎに代入する。
すなわち、サーブレット２４Ｂは、自身のデータ「予約番号」及び「予約申込者名」を検索キーとしたＤＢ２１０に検索する処理をビジネスプロセス実行エンジン２１に対して委譲するためのＲｅｓｅｒｖａｔｉｏｎＢｅａｎを起動して、処理の委譲に必要なデータを起動したＲｅｓｅｒｖａｔｉｏｎＢｅａｎに書き込む。
【００８４】
ステップＳ１１４：
サービスアダプタ２５は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎが起動されると、この起動されたＲｅｓｅｒｖａｔｉｏｎＢｅａｎからプロセス識別情報「１」を抽出し、この抽出したプロセス識別情報「１」の示すプロセスの処理の委譲先を示す委譲先情報を、自身に設定されている対応テーブルにおいて検出する。
そして、サービスアダプタ２５は、自身に設定されている対応テーブルにおけるプロセス識別情報「１」に対する委譲先がビジネスプロセス実行エンジン２１であるため、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対する処理をビジネスプロセスラッパー２６へ委譲する。
【００８５】
すなわち、サービスアダプタ２５は、ビジネスプロセスラッパー２６を介して、プロセス識別情報「１」のプロセスの処理を、サーブレット２４Ｂからビジネスプロセス実行エンジン２１に対して委譲する制御を行う。
ここで、サービスアダプタ２５は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎに付加されているプロセス識別情報と同一のプロセス識別情報を有する、すなわちプロセス識別情報「１」が付加されたビジネスプロセスラッパー２６を介して、ビジネスプロセス実行エンジン２１に対して委譲する制御を行う。
【００８６】
ステップＳ１１５：
次に、ビジネスプロセスラッパー２６は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎからプロセス識別情報を抽出する。
そして、ビジネスプロセスラッパー２６は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスプロセスラッパー２６は、プロセス識別情報が一致している場合、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎに記述されている「予約番号」及び「予約申込者名」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスプロセスラッパー２６は、変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎを、ビジネスプロセス実行エンジン２１のインターフェースコンテナであるＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置する処理を行う。
上述した処理により、ビジネスプロセスラッパー２６は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎにおけるサーブレット２４Ｂに対応したインターフェース及びデータの形式を、ビジネスプロセス実行エンジン２１のデータ入力におけるインターフェース及びデータの形式に変換する。また、ビジネスプロセスラッパー２６は、形式を変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対し、識別情報としてサービスＩＤを付加する。
【００８７】
ステップＳ１１６：
次に、ビジネスプロセス実行エンジン２１は、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎにおけるＲｅｓｅｒｖａｔｉｏｎＢｅａｎから、プロセス識別情報と、「予約番号」及び「予約申込者名」のデータとを読み出す。
また、ビジネスプロセス実行エンジン２１は、プロセス識別番号「１」に対応するビジネスプロセス定義体（ＸＭＬ）ファイル１０１を、サーバー記憶部３から読み出す。
【００８８】
そして、ビジネスプロセス実行エンジン２１は、この読み出したビジネスプロセス定義体（ＸＭＬ）ファイル１０１の記述に従って、プロセス識別番号「１」のビジネスプロセスの処理を実行する。
上述したように、プロセス識別番号「１」のプロセスの「予約基本を検索する」処理に用いるデータの「予約番号」及び「予約申込者名」が、ビジネスプロセス実行エンジン２１に対し、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎを介して、サーブレット２４Ｂから供給されている。
【００８９】
そして、ビジネスプロセス実行エンジン２１は、ビジネスプロセス定義体（ＸＭＬ）ファイル１０１の記述に従い、サーブレット２４Ｂから供給されたデータ「予約番号」と「予約申込者名」とを検索キーとして用い、この検索キーに対応するデータの検索をＤＢ２１０から行うビジネスプロセス処理を実行する。
このとき、ビジネスプロセス実行エンジン２１は、例えば、検索キーとして供給された「予約番号」と「予約申込者名」との文字列における一部の文字が一致する「予約予約番号」及び「予約申込者名」の予約のデータを、ＤＢ２１０に記憶されている複数の予約のデータから抽出する。
次に、ビジネスプロセス実行エンジン２１は、供給された「予約番号」と「予約申込者名」とを検索キーとして検索した結果、抽出された予約のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」とを、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置されているＲｅｓｅｒｖａｔｉｏｎＢｅａｎから、サービスＩＤにより書き込み先のＲｅｓｅｒｖａｔｉｏｎＢｅａｎを識別し、処理に対応するＲｅｓｅｒｖａｔｉｏｎＢｅａｎにおける出力として、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎの定義された変数に書き込む。ここで、「予約予約番号」は予約番号を示し、「予約予約日」は予約日を示している。
【００９０】
ステップＳ１１７：
次に、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置されたＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対し、ビジネスプロセス実行エンジン２１がビジネスプロセス処理の結果を書き込むと、ビジネスプロセスラッパー２６は、このインターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置されたＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対するインターフェース及びデータの形式の変換の処理を行う。
ここで、ビジネスプロセスラッパー２６は、インターフェースコンテナＳｅｒｖｉｃｅＳｅｓｓｉｏｎに配置されたＲｅｓｅｒｖａｔｉｏｎＢｅａｎに記述されている、検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスプロセスラッパー２６は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン２１において用いられる形式から、サーブレット２４Ｂで用いられる形式に変換する。
【００９１】
ステップＳ１１８：
サービスアダプタ２５は、ビジネスプロセスラッパー２６がインターフェース及びデータの形式を変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎから、プロセス識別情報として付加されているプロセス識別情報「１」を読み出す。
そして、サービスアダプタ２５は、読み出したプロセス識別情報「１」と一致するプロセス識別情報を有するサーブレット２４Ｂへ、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎを介してビジネスプロセス処理を委譲する。
【００９２】
ステップＳ１１９：
サ−ブレット２４Ｂは、サービスアダプタ２５から受けたＲｅｓｅｒｖａｔｉｏｎＢｅａｎから検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」を抽出し、この抽出した「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」をＪＳＰ２３に出力する。
【００９３】
ステップＳ１２０：
ＪＳＰ２３は、「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」が供給されると、これらのサーブレット２４Ｂから供給されたデータが表示される画面（ページ）を構成し、構成した画面をｃｌｉｅｎｔへ送信する。
そして、ｃｌｉｅｎｔは、ウェブサーバー２から画面が供給されると、この画面を表示装置に表示し、ユーザに対して表示装置を介して検索結果を通知する。
また、ＪＳＰ２３は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「２」のプロセス「入金ステータスを検索する」のサーブレット２４Ａを実行する。
【００９４】
次に、図１及び図１２を用いて、本実施形態によるプログラム生成装置で生成したプログラムを用いた作成ビジネスプロセス／ビジネスルール実行システムの動作を説明する。図６は、ビジネスプロセス定義体ファイル３０１のルール識別情報が付加されているプロセスを処理する場合の、作成ビジネスプロセス／ビジネスルール実行システムの動作を示すシーケンス図である。
ステップＳ２１１：
例えば、図１１に示すビジネスプロセスの処理の後、図１２のビジネスルールの処理の実行として、ビジネスプロセス定義体ファイル３０１の記述において、プロセス識別番号「１」の次にプロセス識別番号「２」の処理が示されている。
このため、ＪＳＰ２３は業務処理の組み合わせの順番において、サーバー記憶部３からプロセス識別番号「２」に対応するサーブレットファイル１０２を読み出し、インスタンス化してサーブレット２４Ａを実行させる。
【００９５】
そして、サーブレット２４Ａは、「入金ステータスを検索する」というビジネスルール処理を行うため、データとして「予約販売額合計」と「予約入金額合計」とを入力する画面を生成する指示をＪＳＰ２３に出力する。
これにより、ＪＳＰ２３は、「予約販売額合計」と「予約入金額合計」とを入力する画面を生成し、ｃｌｉｅｎｔに対して出力する。
ｃｌｉｅｎｔは、ウェブサーバー２から供給される画面を、表示装置に表示する。
そして、ユーザが表示された「予約販売額合計」と「予約入金額合計」との入力欄に、予約に対応した金額を入力する。
これにより、ｃｌｉｅｎｔは、データとして「予約販売額合計」と「予約入金額合計」との数値を含むＪＳＰファイルをウェブサーバー２に対して送信する。
【００９６】
ステップＳ２１２：
ＪＳＰ２３は、ｃｌｉｅｎｔから入力されたＪＳＰファイルから、「予約販売額合計」及び「予約入金額合計」とを抽出し、抽出した「予約販売額合計」及び「予約入金額合計」とをプロセス識別情報「２」のサーブレット２４Ｂに対して出力する。
また、ウェブサーバー２は、プロセス識別情報「２」に対応するビジネスルールラッパーファイル１０５をサーバー記憶部３から読み出し、この読み出したファイルをインスタンス化することにより、ビジネスルールラッパー２７を実行させる。サービスアダプタ２５については、既にプロセス識別情報「１」のサーブレット２４Ｂが起動された際に起動されている。
【００９７】
ステップＳ２１３：
サーブレット２４Ａは、データの入出力を行うプログラムのビーンオブジェクトＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎを起動して、自身のプロセスに対応するプロセス識別情報「２」と、データの「予約販売額合計」及び「予約入金額合計」と、ルール識別情報とを、この起動したＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに代入する。
すなわち、サーブレット２４Ａは、自身のデータ「予約販売額合計」及び「予約入金額合計」を用いたビジネスルールの処理をビジネスルール実行エンジン２２に対して委譲するためのＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎを起動して、処理を委譲に必要なデータである「予約販売額合計」及び「予約入金額合計」を、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎの入力の変数に代入する。
【００９８】
ステップＳ２１４：
サービスアダプタ２５は、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎが起動されると、この起動されたＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎからプロセス識別情報「２」を抽出し、この抽出したプロセス識別情報「２」の示すプロセスの処理の委譲先を示す委譲先情報を、自身に設定されている対応テーブルから検出する。
そして、サービスアダプタ２５は、自身に設定されている対応テーブルにおけるプロセス識別情報「２」に対する委譲先がビジネスルール実行エンジン２２であるため、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに対する処理をビジネスルールラッパー２７へ委譲する。
すなわち、サービスアダプタ２５は、ビジネスルールラッパー２７を介して、プロセス識別情報「２」のプロセスの処理を、サーブレット２４Ａからビジネスルール実行エンジン２２に対して委譲する制御を行う。
ここで、サービスアダプタ２５は、ＲｅｓｅｒｖａｔｉｏｎＢｅａｎに付加されているプロセス識別情報と同一のプロセス識別情報を有する、すなわちプロセス識別情報「２」が付加されたビジネスルールラッパー２７を介して、ビジネスルール実行エンジン２２に対して委譲する制御を行う。
【００９９】
ステップＳ２１５：
次に、ビジネスルールラッパー２７は、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎからプロセス識別情報を抽出する。
そして、ビジネスルールラッパー２７は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスルールラッパー２７は、プロセス識別情報が一致している場合、ＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに記述されている「予約販売額合計」及び「予約入金額合計」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスルールラッパー２７は、変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎを、ビジネスルール実行エンジン２２のインターフェースコンテナであるＫＳｅｓｓｉｏｎに配置する処理を行う。
上述した処理により、ビジネスルールラッパー２７は、インターフェースコンテナに配置されたＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎにおけるサーブレット２４Ａに対応したインターフェース及びデータの形式を、ビジネスルール実行エンジン２２のデータの入出力におけるインターフェース及びデータの形式に変換する。また、ビジネスルールラッパー２７は、形式を変換したＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対し、識別情報としてルール処理ＩＤを付加する。
【０１００】
ステップＳ２１６：
次に、ビジネスルール実行エンジン２２は、インターフェースコンテナＫＳｅｓｓｉｏｎにおけるＰａｙｍｅｎｔＳｔａｔｕｓＢｅａｎに記述されている、ルール識別情報と、「予約販売額合計」及び「予約入金額合計」のデータとを読み出す。
また、ビジネスルール実行エンジン２２は、ルール識別情報に対応するビジネスルール定義体ファイル３０２を、ビジネスルール定義体ファイル記憶部２００から読み出す。
そして、ビジネスルール実行エンジン２２は、この読み出したビジネスルール定義体ファイル３０２の記述にしたがって、プロセス識別番号「２」のビジネスルールの処理を実行する。
上述したように、プロセス識別番号「２」のプロセスの「入金ステータスを検索する」処理に用いるデータの「予約販売額合計」及び「予約入金額合計」とが、ビジネスルール実行エンジン２２に対し、インターフェースコンテナＫＳｅｓｓｉｏｎを介して、サーブレット２４Ａから供給されている。
【０１０１】
次に、ビジネスルール実行エンジン２２は、インターフェースコンテナのＫＳｅｓｓｉｏｎに配置されたＰａｙｍｅｎｔｓＳｔａｔｕｓＢｅａｎの記述から、付加されたルール識別情報を抽出する。
そして、ビジネスルール実行エンジン２２は、抽出したルール識別情報に対応するビジネスルール定義体ファイル３０２を、ビジネスルール定義体ファイル記憶部２００から検索して読み出す。
次に、ビジネスルール実行エンジン２２は、ビジネスルール定義体ファイル記憶部２００から読み出したビジネスルール定義体ファイル３０２の記述に従い、サーブレット２４Ａから委譲されたデータ「予約販売額合計」及び「予約入金額合計」を用い、ビジネスルール処理を実行する。
【０１０２】
このとき、ビジネスルール実行エンジン２２は、ビジネスルール定義体ファイル３０２に記述された条件式により、供給された「予約販売額合計」及び「予約入金額合計」の比較判定により、入金ステータスが「未入金」、「一部入金」、「入金済」、「入金超過」のいずれであるかの判定処理を行う。
そして、ビジネスルール実行エンジン２２は、判定処理の結果として選択された入金ステータスを、インターフェースコンテナＫＳｅｓｓｉｏｎに配置されている、ビジネスルール処理を行ったビジネスルール定義体ファイル３０２のファイル名と同一のルール識別情報を有するＰａｙｍｅｎｔｓＳｔａｔｕｓＢｅａｎの出力する変数に書き込む。
【０１０３】
ステップＳ２１７：
次に、インターフェースコンテナＫＳｅｓｓｉｏｎに配置されたＰａｙｍｅｎｔｓＢｅａｎに対し、ビジネスルール実行エンジン２２がビジネスルール処理の結果を書き込むと、ビジネスルールラッパー２７は、このインターフェースコンテナＫＳｅｓｓｉｏｎに配置されたＰａｙｍｅｎｔｓＢｅａｎのなかから、ルール処理ＩＤにより選択したＰａｙｍｅｎｔｓＢｅａｎに対してインターフェース及びデータの形式に変換する処理を行う。
ここで、ビジネスルールラッパー２７は、インターフェースコンテナＫＳｅｓｓｉｏｎに配置されたＰａｙｍｅｎｔｓＢｅａｎに記述されている、「予約入金ステータス」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスルールラッパー２７は、ＰａｙｍｅｎｔｓＢｅａｎのインターフェース及びデータの形式を、ビジネスルール実行エンジン２２において用いられる形式から、サーブレット２４Ａで用いられる形式に変換する。
【０１０４】
ステップＳ２１８：
サービスアダプタ２５は、ビジネスルールラッパー２７が予約入金ステータスが書き込まれたＰａｙｍｅｎｔｓＢｅａｎから、プロセス識別情報として付加されているプロセス識別情報「２」を読み出す。
そして、サービスアダプタ２５は、読み出したプロセス識別情報「２」と一致するプロセス識別情報を有するサーブレット２４Ａへ、ＰａｙｍｅｎｔｓＢｅａｎを介してビジネスプロセス処理を委譲する。
【０１０５】
ステップＳ２１９：
サーブレット２４Ａは、サービスアダプタ２５から処理を委譲されたＰａｙｍｅｎｔｓＢｅａｎより、判定処理の結果である入金ステータスのデータを抽出し、この抽出した入金ステータスのデータをＪＳＰ２３に出力する。
【０１０６】
ステップＳ２２０：
ＪＳＰ２３は、入金ステータスのデータが供給されると、このサーブレット２４Ａから供給された入金ステータスのデータが表示される画面（ページ）を構成し、構成した画面をｃｌｉｅｎｔへ送信する。
そして、ｃｌｉｅｎｔは、ウェブサーバー２から画面が供給されると、この画面を表示装置に表示し、ユーザに入金処理の検索結果を表示する。
また、ＪＳＰ２３は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「３」のプロセス「予約基本を選択する」のサーブレット２４Ｂを実行する。
【０１０７】
上述したように、本実施形態のビジネスプロセス／ビジネスルール実行システムは、ルール識別情報の有無に対応して、プロセス識別情報と、プロセスの委譲先を示すエンジン識別情報との対応を示す対応テーブルにより、ビジネスプロセス実行エンジン２１とビジネスルール実行エンジン２２とのいずれかに、処理を振り分けるサービスアダプタ２５を有している。
このため、本実施形態のビジネスプロセス／ビジネスルール実行システムによれば、従来のように、ビジネスプロセス実行エンジンを介してビジネスルール実行エンジンを呼び出し、この呼出処理などの負荷によるビジネスプロセス実行エンジンにおけるプロセス処理の効率を低下させることを防止できる。
【０１０８】
また、上述した実施形態においては、サービスアダプタ２５は、ビジネスプロセス／ビジネスルール実行システムで動作する全てのサーブレット２４に対して１個が生成され、対応テーブルに記載されたプロセス識別情報と、プロセスの処理の委譲先を示すエンジン識別情報とにより、サーブレット２４の生成するビーンを、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれかに振り分けている。
【０１０９】
しかしながら、このサービスアダプタ２５をプロセス毎に生成する構成としても良い。
すなわち、プログラム生成装置１は、ビジネスプロセス実行エンジン２１またはビジネスルール実行エンジン２２のいずれかに、プロセスの処理を委譲するかが設定されたサービスアダプタ２５のプログラムファイルとして、サービスアダプタファイル１０３をプロセス毎に生成する。
すなわち、プログラム生成装置１は、ルール識別情報が付加されていないプロセスに対応し、入力されたビーンをビジネスプロセス実行エンジン２１へ出力するサービスアダプタ２５と、ルール識別情報が付加されているプロセスに対応し、入力されたビーンをビジネスルール実行エンジン２２へ出力するサービスアダプタ２５との各々のプログムファイルであるサービスアダプタファイル１０３を、ルール識別情報が付加されているか否かでプロセス毎に生成する。
そして、プログラム生成装置１は、このサービスアダプタファイル１０３と、このプロセスのプロセス識別情報とを対応づけ、サーバー記憶部３へコピーする。
【０１１０】
また、ビジネスプロセス／ビジネスルール実行システムを動作させる際、ウェブサーバー２は、サーブレット２４が起動されると、このサーブレット２４の処理するプロセスを特定するプロセス識別情報に対応し、サービスアダプタファイル１０３をサーバー記憶部３から読み出し、インスタンス化してサービスアダプタ２５を起動させる。
サーブレット２４は、プロセス識別情報が同一のサービスアダプタ２５に対して、ビーン（ＲｅｓｅｒｖａｔｉｏｎＢｅａｎあるいはＰａｙｍｅｎｔｓＢｅａｎ）を生成して、処理の委譲を行う。
サービスアダプタ２５は、自身のプロセス識別情報と同一のビーンを、予め設定された委譲先の実行エンジンのインターフェースコンテナ（ＳｅｒｖｉｃｅＳｅｓｓｉｏｎまたはＫＳｅｓｓｉｏｎ）に対し、この実行エンジンに対応するラッパー（ビジネスプロセスラッパー２６またはビジネスルールラッパー２７）を介して配置する。
【０１１１】
すなわち、サービスアダプタ２５は、入力されるビーンがＲｅｓｅｒｖａｔｉｏｎＢｅａｎの場合、すなわちルール識別情報が付加されていないプロセスに対応したサーブレット２４Ｂにより生成されたビーンの場合、ビジネスプロセス実行エンジン２１に対応するビジネスプロセスラッパー２６へ、入力されたＲｅｓｅｒｖａｔｉｏｎＢｅａｎに対する処理を委譲する。
一方、サービスアダプタ２５は、入力されるビーンがＰａｙｍｅｎｔｓＢｅａｎの場合、すなわちルール識別情報が付加されているプロセスに対応して生成されたサーブレット２４Ａから出力されたものであるならば、ビジネスルール実行エンジン２２に対応するビジネスルールラッパー２７へ、入力されたＰａｙｍｅｎｔｓＢｅａｎに対する処理を委譲する。
上述した構成により、本実施形態によれば、プロセスの変更により、サービスアダプタ２５のプログラムを変更する場合、変更したプロセスに対応するサービスアダプタ２５のプログラムを変更するのみで良いため、サービスアダプタ２５の管理が簡易化される。
【０１１２】
また、本実施形態においては、異なるサーブレット２４間において、すなわち複数の画面間にわたり、情報を引き継ぎたい場合、セッションスコープに引き継ぎたい情報を格納して、格納した画面と異なる他の画面にてセッションスコープから引き継ぎたい情報を読み出して利用することができる。
図１３は、複数画面において同一の情報を引き継ぎたい情報がある場合におけるビジネスプロセス定義体ファイル３０１のテーブルの記述例を示す図である。
【０１１３】
例えば、ビジネスプロセス定義体ファイル３０１に記述された、ビジネスプロセス定義体のテーブルに、補足として［ＳＳ］ＳＥＴと文字列が記述されている場合、サーブレット２４は、テーブルにおけるこの行にある操作対象パスの欄に記載されている「Ｒｅｓｅｒｖａｔｉｏｎ：１」の示すデータ、すなわち「Ｒｅｓｅｒｖａｔｉｏｎ：１」と設定されているエンティティ名「Ｒｅｓｅｒｖａｔｉｏｎ：１／ｒｅｓｅｒｖａｔｉｏｎＲｅｓｅｒｖａｔｉｏｎＳｔｏｒｅｄ」と、「Ｒｅｓｅｒｖａｔｉｏｎ：１／ｒｅｓｅｒｖａｔｉｏｎＲｅｓｅｒｖａｔｉｏｎＲｅｆｅｒｅｎｃｅｌｄ」との変数の値をセッションスコープに格納することを示している。
また、補足欄に設定されている「［ＦＷ］ＳＴＡ０００４０＿００１」の文字列は、現在実行しているプロセスを実行した後に、次に実行するプロセスの識別情報を示している。したがって、図１３の上部のテーブルにおいて、番号「２」のプロセス「予約基本を選択する」の処理の次に、「ＳＴＡ０００４０＿００１」である下部のテーブルにおけるプロセス「予約基本を検索する」が実行されることになる。このプロセス「予約基本を検索する」において、セッションスコープに格納された変数の値が用いられる。
また、[ＳＳ]ＤＥＬの文字列は、現在のより前の他のサーブレット２４にて格納され、現在のセッションスコープに格納されている引き継ぎたい情報を削除することを示している。
【０１１４】
この補足に、セッションスコープへのデータの格納を示す文字列がセッションスコープへのデータの設定を示す［ＳＳ］ＳＥＴである場合、サーブレット２４は、この文字列[ＳＳ]ＳＥＴが設定されている行にある操作対象パスの欄に記載されている操作対象パスに含まれるエンティティ名の名称のデータを、セッションスコープに対して格納する機能を含むように、プログラム生成装置１により生成される。
また、セッションスコープへのデータの格納を示す文字列がセッションスコープに格納されたデータの削除を示す［ＳＳ］ＤＥＬである場合、サーブレット２４は、現在より以前の他のサーブレット２４にてセッションスコープに格納された操作対象パスに含まれるエンティティ名の名称の情報を削除する機能を含むように、プログラム生成装置１により生成される。
【０１１５】
上述した構成により、本実施形態によれば、サーブレットが連続しておらず、リクエストスコープに引き継ぎたい情報を格納することができない場合、またクッキーが使えない設定となっている場合などに、既に述べた一般的なセッション管理機能（ＰＨＰ：Hypertext Preprocessor４．０）を用い、セッション変数としてセッションＩＤを付加することで、不連続に実行されるサーブレット間のデータの引き継ぎを容易に行うことができる。
【０１１６】
また、図１におけるウェブサーバー、また図５におけるプログラム生成装置１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりプログラムの生成処理、ビジネスプロセス及びビジネスルールの処理の管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１１７】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１１９】
１…プログラム生成装置
２…ウェブサーバー
３…サーバー記憶部
１１…ビジネスプロセス定義解析部
１２…ビジネスプロセス定義体ファイル変換部
１３…サーブレット生成部
１４…サービスアダプタ生成部
１５…ビジネスプロセスラッパー生成部
１６…ビジネスルールラッパー生成部
１７…ビジネスルール定義体ファイル解析部
１８…ビジネスルール定義体ファイル配備部
１９…記憶部
２１…ビジネスプロセス実行エンジン
２２…ビジネスルール実行エンジン
２３…ＪＳＰ
２４Ａ，２４Ｂ…サーブレット
２５…サービスアダプタ
２６…ビジネスプロセスラッパー
２７…ビジネスルールラッパー
１０１、３０１…ビジネスプロセス定義体ファイル
１０２…サーブレットファイル
１０３…サービスアダプタファイル
１０４…ビジネスプロセスラッパーファイル
１０５…ビジネスルールラッパーファイル
２００…ビジネスルール定義体ファイル記憶部
３０２…ビジネスルール定義体ファイル
【図１】
0005703165.tif 000002
【図２】
0005703165.tif 000003
【図３】
0005703165.tif 000004
【図４】
0005703165.tif 000005
【図５】
0005703165.tif 000006
【図６】
0005703165.tif 000007
【図７】
0005703165.tif 000008
【図８】
0005703165.tif 000009
【図９】
0005703165.tif 000010
【図１０】
0005703165.tif 000011
【図１１】
0005703165.tif 000012
【図１２】
0005703165.tif 000013
【図１３】
0005703165.tif 000014