JP5703165B2 - Program generating apparatus, method and program - Google Patents

Program generating apparatus, method and program Download PDF

Info

Publication number
JP5703165B2
JP5703165B2 JP2011168540A JP2011168540A JP5703165B2 JP 5703165 B2 JP5703165 B2 JP 5703165B2 JP 2011168540 A JP2011168540 A JP 2011168540A JP 2011168540 A JP2011168540 A JP 2011168540A JP 5703165 B2 JP5703165 B2 JP 5703165B2
Authority
JP
Japan
Prior art keywords
business
rule
identification information
execution engine
servlet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011168540A
Other languages
Japanese (ja)
Other versions
JP2013033352A (en
Inventor
淳 萩原
萩原  淳
忍 斎藤
忍 斎藤
知樹 矢ヶ崎
知樹 矢ヶ崎
亜紀子 蔀
亜紀子 蔀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011168540A priority Critical patent/JP5703165B2/en
Publication of JP2013033352A publication Critical patent/JP2013033352A/en
Application granted granted Critical
Publication of JP5703165B2 publication Critical patent/JP5703165B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Web(ウェブ)サービスを利用するビジネスプロセス及びビジネスルールの実行環境を提供するビジネスプロセス/ビジネスルール実行システムで用いるプログラムを生成するプログラム生成装置、その方法及びプログラムに関する。   The present invention relates to a program generation apparatus that generates a program used in a business process / business rule execution system that provides an execution environment for business processes and business rules that use Web services, and a method and program thereof.

従来より、コンピュータシステムの機能に標準のインターフェースを備えて、他のコンピュータシステムから当該コンピュータシステムを利用可能とするWebサービスが知られている。
また、一定の処理を定義するビジネスプロセス(Business Process)に基づき、複数のWebサービスと連携してビジネスプロセスの処理を実行するビジネスプロセス実行システムが知られている。このビジネスプロセスは、ある特定の問題を解決する相互に関連するタスク(複数のプロセス)が集積されたものである。
2. Description of the Related Art Conventionally, there has been known a Web service that includes a standard interface for functions of a computer system and that can use the computer system from another computer system.
There is also known a business process execution system that executes business process processing in cooperation with a plurality of Web services based on a business process that defines a certain process. This business process is a collection of interrelated tasks (a plurality of processes) that solve a specific problem.

このビジネスプロセス実行システムは、業務処理の実行順序をビジネスプロセス定義体として定義し、このビジネスプロセス定義体に示された順序に、構成要素のプロセスの示す業務処理を実行していく(例えば、特許文献1参照)。
このビジネスプロセス実行システムは、通常、データベースにおけるデータの検索、読み出し、書き込み及び編集などのビジネスプロセス特有の処理を行い、複雑な演算処理(判定、比較を含む論理演算や、数値計算など)のビジネスルール特有の処理が実行できない構成となっている。
このため、従来のビジネスプロセス実行システムは、複雑な演算処理を行うビジネスルールの処理の実行の際、それぞれ実行するビジネスルールを定義し、ビジネスプロセス実行の処理の中から、ビジネスルール実行システムを呼び出している。
This business process execution system defines the execution order of business processes as a business process definition body, and executes the business processes indicated by the processes of the constituent elements in the order indicated in the business process definition body (for example, patents) Reference 1).
This business process execution system usually performs business process-specific processing such as data retrieval, reading, writing, and editing in a database, and business of complex arithmetic processing (logical operation including judgment and comparison, numerical calculation, etc.) It is configured so that rule-specific processing cannot be executed.
For this reason, the conventional business process execution system defines business rules to be executed when executing business rule processing that performs complex arithmetic processing, and calls the business rule execution system from the business process execution processing. ing.

特開2010−55562号公報JP 2010-55562 A

上述したように、従来のビジネス実行システムは、複雑な演算処理を行えない構成であるため、複雑な演算処理をビジネスルール実行システムに代行させて実行させる仕組み、あるいは複雑な演算処理を行う機能を、業務仕様におけるビジネスルール毎に特別に生成して実装させておく必要がある。
このため、従来のビジネス実行システムには、自身の主たる処理であるビジネスプロセスの処理が実行される際、ビジネスルール実行システムの呼出処理などの不必要な負荷がかかり、ビジネスプロセスの処理の動作が寸断されるなどのため非効率になる問題がある。
As described above, since the conventional business execution system is configured so as not to perform complex arithmetic processing, a mechanism for executing complicated arithmetic processing on behalf of the business rule execution system or a function for performing complex arithmetic processing is provided. It is necessary to generate and implement specially for each business rule in the business specification.
For this reason, when a business process, which is its main process, is executed in the conventional business execution system, an unnecessary load such as a call process of the business rule execution system is applied, and the operation of the business process is performed. There is a problem of inefficiency due to being cut off.

また、業務仕様が入力された際、業務仕様を構成するプロセスの処理の内容により、ビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成を、業務仕様におけるビジネスルールの処理に対応させて個別に、作業者が予め作成しておく必要がある。
この振り分ける構成は、ビジネスルールの処理に対応して、ビジネスルール毎に個別に作成されるために汎用性が低く、ビジネスプロセス実行エンジンあるいはビジネスルールの変更に伴い、振り分ける構成も変更が必要となるため、作業者の開発工数が多くなってしまう欠点がある。
In addition, when a business specification is input, the configuration that distributes to either the business process execution system or the business rule execution system according to the content of the process of the business specification is made to correspond to the business rule processing in the business specification. Individually, it is necessary for the operator to create the information beforehand.
This distribution configuration is created for each business rule individually corresponding to the business rule processing, so the versatility is low. As the business process execution engine or business rule changes, the distribution configuration also needs to be changed. For this reason, there is a drawback in that the development man-hours of the worker increase.

本発明は、このような事情に鑑みてなされたもので、従来のように、ビジネスプロセス実行エンジンからビジネスルール実行エンジンを呼び出す必要が無く、かつビジネスプロセス実行エンジンあるいはビジネスルール実行エンジンの変更に伴う作業者の作業の増加を無くすことが可能なビジネスプロセス/ビジネスルール実行システムに用いるプログラムを生成するプログラム生成装置、その方法及びプログラムを提供することを目的とする。   The present invention has been made in view of such circumstances, and it is not necessary to call the business rule execution engine from the business process execution engine as in the prior art, and is accompanied by a change in the business process execution engine or the business rule execution engine. It is an object of the present invention to provide a program generation apparatus that generates a program used in a business process / business rule execution system capable of eliminating an increase in the work of an operator, a method thereof, and a program thereof.

本発明のプログラム生成装置は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であり、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析部と、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成部と、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成部とを備えることを特徴とする。 A program generation apparatus according to the present invention includes a business process execution engine that performs processing according to business process description information that indicates a procedure of business process processing, and a business rule execution engine that performs processing according to business rule description information that indicates a procedure of business rule processing a running system have a one or more business processes or program implemented in the business processes / business rules execution system for executing a web service processing corresponding to the business process definition file that defines the process of business rules From the business process definition file, the process identification information for identifying the process, the item type indicating the type of processing of the process, the target of processing in the process Business process definition body analysis unit that reads program generation information that includes eye information and rule identification information indicating that the process is executed by the business rule execution engine; and the program generation information generated for each process, Corresponding to the process identification information described in the servlet and the servlet generation unit that generates a servlet identified by the process identification information, which executes a process in the web service, with a description according to a preset format A service adapter generation unit that generates a service adapter that is a program for setting the delegation destination of the process to either the business process execution engine or the business rule execution engine according to the presence or absence of the rule identification information. Special To.

本発明のプログラム生成装置は、前記サービスアダプタ生成部が、前記サービスアダプタ内部に、前記ビジネスプロセス定義体における前記プロセス識別情報の各々と、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報とが対応付けられた対応テーブルを生成し、当該サービスアダプタが当該対応テーブルにより、前記サーブレットから前記プロセスの処理を委譲する委譲先を、当該プロセスのプロセス識別情報により、当該対応テーブルを参照して設定することを特徴とする。   In the program generation device of the present invention, the service adapter generation unit includes information indicating each of the process identification information in the business process definition body and any of a business process execution engine and a business rule execution engine in the service adapter. And a correspondence table in which the service adapter delegates processing of the process from the servlet by using the correspondence table, and refers to the correspondence table by using the process identification information of the process. It is characterized by setting.

本発明のプログラム生成装置は、前記サービスアダプタ生成部が、前記ビジネスプロセス定義体における前記プロセス毎に前記サービスアダプタを生成し、当該サービスアダプタが、自身と対応する前記プロセスの前記プロセス識別情報と、当該プロセス識別情報に対応するプロセスを委譲する委譲先であるビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報と有し、前記サービスアダプタが、自身のプロセス識別情報と対応する前記プロセスを、前記委譲先に委譲することを特徴とする。   In the program generation device of the present invention, the service adapter generation unit generates the service adapter for each of the processes in the business process definition body, and the service adapter includes the process identification information of the process corresponding to itself, Information indicating either a business process execution engine or a business rule execution engine to which a process corresponding to the process identification information is delegated, and the service adapter includes the process corresponding to its own process identification information. And delegating to the delegation destination.

本発明のプログラム生成装置は、前記プロセスの委譲先が前記ビジネスプロセス実行エンジンである場合、前記サーブレットが生成する前記ビジネスプロセス実行エンジンとデータの授受を行う第1ビーンのインターフェース及びデータの形式を、当該ビジネスプロセス実行エンジンの処理する形式に変換するビジネスプロセスラッパーを生成するビジネスプロセスラッパー生成部と、前記プロセスの委譲先が前記ビジネスルール実行エンジンである場合、前記サーブレットが生成する前記ビジネスルール実行エンジンとデータの授受を行う第2ビーンのインターフェース及びデータの形式を、当該ビジネスルール実行エンジンの処理する形式に変換するビジネスルールラッパーを生成するビジネスルールラッパー生成部と、をさらに備えることを特徴とする。   In the program generation device of the present invention, when the delegation destination of the process is the business process execution engine, the interface and data format of the first bean for exchanging data with the business process execution engine generated by the servlet, A business process wrapper generation unit that generates a business process wrapper to be converted into a format processed by the business process execution engine, and the business rule execution engine generated by the servlet when the delegation destination of the process is the business rule execution engine And a business rule wrapper generation unit that generates a business rule wrapper that converts the interface of the second bean that exchanges data with the data and the format of the data into a format that the business rule execution engine processes. And wherein the door.

本発明のプログラム生成装置は、前記ルール識別情報が記述されていないプロセス毎に、当該プロセスの前記プロセス識別情報に対応付けられて生成され、前記ビジネスプロセス定義体ファイルにおける前記プロセスの記述を、前記ビジネスプロセス実行エンジンが解読可能なフォーマットに変換するビジネスプロセス定義体変換部をさらに備えることを特徴とする。   The program generation device of the present invention generates, for each process in which the rule identification information is not described, associated with the process identification information of the process, and describes the description of the process in the business process definition file. The business process execution engine further includes a business process definition body conversion unit that converts the business process execution engine into a readable format.

本発明のプログラム生成装置は、前記ビジネスプロセス定義体ファイルから抽出される前記ルール識別情報と、当該ルール識別情報に対応する、前記ビジネスルール実行エンジンが実行する処理が記述されたビジネスルール定義体ファイルが存在するか否かにより、前記ビジネスプロセス定義体ファイルと前記ビジネスルール定義体ファイルとの整合性のチェックを行うビジネスルール定義体ファイル解析部をさらに有することを特徴とする。   The program generation device of the present invention includes a business rule definition file in which the rule identification information extracted from the business process definition file and a process executed by the business rule execution engine corresponding to the rule identification information are described. It further has a business rule definition file analysis unit for checking consistency between the business process definition file and the business rule definition file depending on whether or not there exists.

本発明のプログラム生成方法は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置を動作させるプログラム生成方法であり、前記プログラム生成装置が備えるビジネスプロセス定義体解析が、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析過程と、前記プログラム生成装置が備えるサーブレット生成が、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成過程と、前記プログラム生成装置が備えるサービスアダプタ生成が、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成過程とを備える。 The program generation method of the present invention includes a business process execution engine that performs processing according to business process description information that indicates a business process processing procedure, and a business rule execution engine that performs processing according to business rule description information that indicates a business rule processing procedure. a running system have a one or more business processes or program implemented in the business processes / business rules execution system for executing a web service processing corresponding to the business process definition file that defines the process of business rules a program generation method of operating a program generating device for generating, business process definition analyzer which the program generating device comprises is, from the business process definition file, identify the process Generation information including process identification information to be processed, item type indicating the type of processing of the process, item information to be processed by the process, and rule identification information indicating that the process is executed by the business rule execution engine Business process definition body analysis process, and a servlet generation unit included in the program generation device is generated for each process, and the program generation information and a description according to a preset format are used in the web service. A servlet generation step of generating a servlet identified by the process identification information, executing a process, and a service adapter generation unit provided in the program generation device includes: a process corresponding to the process identification information described in the servlet; Transferee , The presence or absence of the rule identification information, and a service adapter generation process of generating a service adapter is a program for setting to one of the business process execution engine and the business rules execution engine.

本発明のプログラムは、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であるコンピュータ、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析手段、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成手段と、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成手段、として機能させるためのプログラムである。 The program of the present invention has a business process execution engine that performs processing according to business process description information that indicates a business process processing procedure, and a business rule execution engine that performs processing according to business rule description information that indicates a business rule processing procedure. A program implemented in a business process / business rule execution system that executes web service processing corresponding to a business process definition file that defines one or more business processes or business rule processes. the computer is a program generation apparatus that, from the business process definition file, process identification information for identifying the process, item type indicating the type of processing of the process, to process in the process Business process definition body analysis means for reading out program generation information consisting of the item information of an image and rule identification information indicating that the process is processed by the business rule execution engine, and is generated for each process, and the program generation information Servlet generation means for generating a servlet identified by the process identification information, which executes a process in the web service by a description according to a preset format, and the process identification information described in the servlet Service adapter generation means for generating a service adapter that is a program that sets a corresponding delegation destination of the process to either the business process execution engine or the business rule execution engine depending on the presence or absence of the rule identification information. Is a program that is ability.

この発明によれば、ルール識別情報の有無により、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれにプロセスの処理を実行させるかを振り分けるサービスアダプタを生成させることができるため、ビジネスプロセス処理の実行に、従来のシステムのように、ビジネスルール実行エンジンの呼出処理などの不必要な負荷をかけることを無くし、ビジネスプロセス処理の動作が非効率となることを抑制することが可能なビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを容易に生成することができる。   According to the present invention, since the service adapter that distributes the process processing to be executed by either the business process execution engine or the business rule execution engine can be generated depending on the presence or absence of the rule identification information, the business process processing can be executed. Business process / business rule that can eliminate unnecessary load such as call processing of business rule execution engine and suppress inefficiency of business process processing operation as in the conventional system A program to be implemented in the execution system can be easily generated.

また、この発明によれば、ビジネスプロセスの処理に対し、処理の内容によりビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成であるサービスアダプタをプロセス毎に整合をとって自動生成するため ビジネスプロセス実行エンジンが変更されたとしても、ビジネスプロセス/ビジネスルール実行システムに実装されるプログラムの生成における作業者の開発工数を、従来のように増加させることがない。   In addition, according to the present invention, a service adapter having a configuration in which a business process is distributed to either a business process execution system or a business rule execution system depending on the contents of the process is automatically generated for each process. Even if the business process execution engine is changed, the development man-hour of the worker in generating a program to be implemented in the business process / business rule execution system is not increased as in the past.

本発明の実施形態によるプログラム生成装置1で作成した各プログラムにより動作するビジネスプロセス/ビジネスルール実行システムの構成例を示す図である。It is a figure which shows the structural example of the business process / business rule execution system which operate | moves by each program created with the program production | generation apparatus 1 by embodiment of this invention. サーブレット24とビジネスルール実行エンジン22との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。It is a figure which shows the concept of the interface of a container and data format which transmit / receive data, when transmitting / receiving data between the servlet 24 and the business rule execution engine 22. FIG. サーブレット24とビジネスプロセス実行エンジン21との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。It is a figure which shows the concept of the interface of a container and data format which transmit / receive data, when transmitting / receiving data between the servlet 24 and the business process execution engine. ビジネスルール定義体ファイル302のプロセスルール処理の記述の構成の一例を示す図である。It is a figure which shows an example of a structure of the description of the process rule process of the business rule definition body file. この発明の一実施形態によるプログラム生成装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the program production | generation apparatus by one Embodiment of this invention. ビジネスプロセス/ビジネスルール実行システムにおけるプログラムを生成する際に用いるプログラム制御情報が記述された、ビジネスプロセス定義体ファイルとしてのテーブルの一例を示す図である。It is a figure which shows an example of the table as a business process definition body file in which the program control information used when producing | generating the program in a business process / business rule execution system was described. 本実施形態のプログラム生成装置1によるビジネスプロセス/ビジネスルール実行システムにおけるプログラムを生成する動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement which produces | generates the program in the business process / business rule execution system by the program production | generation apparatus 1 of this embodiment. ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加(添付)されていないプロセスに対応して生成される各種プログラムを示す概念図である。It is a conceptual diagram which shows the various programs produced | generated corresponding to the process to which rule identification information is not added (attached) by the program production | generation information extracted from the business process definition body file. ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加されているプロセスに対応して生成される各種プログラムを示す概念図である。It is a conceptual diagram which shows the various programs produced | generated corresponding to the process to which rule identification information is added by the program production | generation information extracted from the business process definition body file. プロセス識別情報「1」、「2」及び「3」のプロセスから構成される業務処理から生成される各種プログラムを示す概念図である。It is a conceptual diagram which shows the various programs produced | generated from the business process comprised from the process of process identification information "1", "2", and "3". ビジネスプロセス定義体ファイル301のルール識別情報が付加されていないプロセスを処理する場合の、作成ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the creation business process / business rule execution system in the case of processing the process to which the rule identification information of the business process definition body file 301 is not added. ビジネスプロセス定義体ファイル301のルール識別情報が付加されているプロセスを処理する場合の、作成ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the creation business process / business rule execution system in the case of processing the process to which the rule identification information of the business process definition file is added. 複数画面において同一の情報を引き継ぎたい情報がある場合におけるプロセス情報定義体ファイル301のテーブルの記述例を示す図である。It is a figure which shows the example of a description of the table of the process information definition body file 301 when there exists information which wants to succeed the same information in multiple screens.

<ビジネスプロセス/ビジネスルール実行システムで用いるプログラム生成>
ビジネスプロセス/ビジネスルール実行システムで用いるプログラムを生成するプログラム生成装置について説明する前に、作成するプログラムがどのような機能を有するかを明確とするため、ビジネスプロセス/ビジネスルール実行システムの構成について説明する。
<Program generation used in business process / business rule execution system>
Before explaining a program generation apparatus that generates a program used in a business process / business rule execution system, the structure of the business process / business rule execution system will be described in order to clarify what functions the created program has. To do.

以下、図面を参照して、本発明の実施形態によるプログラム生成装置で生成したプログラムが実装されるビジネスプロセス/ビジネスルール実行システムを説明する。図1は、本発明の実施形態によるプログラム生成装置が実装されたビジネスプロセス/ビジネスルール実行システムの構成例を示すブロック図である。
この図1におけるビジネスプロセス/ビジネスルール実行システムは、動作環境として、例えば、JAVA(登録商標)が用いられている。
ビジネスプロセス/ビジネスルール実行システムは、ウェブサーバー2と、サーバー記憶部3とを備えている。
A business process / business rule execution system in which a program generated by a program generation apparatus according to an embodiment of the present invention is mounted will be described below with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration example of a business process / business rule execution system in which a program generation device according to an embodiment of the present invention is implemented.
The business process / business rule execution system in FIG. 1 uses, for example, JAVA (registered trademark) as an operating environment.
The business process / business rule execution system includes a web server 2 and a server storage unit 3.

ここで、ウェブサーバー2は、ビジネスプロセス(Business Process)実行エンジン21、ビジネスルール(Business Rules)実行エンジン22、JSP(Java(登録商標) Server Pages)モジュール(以下、JSP)23、サーブレット(servlet)モジュール(以下サーブレット)24(24A、24B)、サービスアダプタ(ServiceAdapter)モジュール(以下、サービスアダプタ)25、ビジネスプロセスラッパーモジュール(以下、ビジネスプロセスラッパー)26、ビジネスルールラッパー(Business Rules Wrapper)モジュール(以下、ビジネスルールラッパー)27と、DB(データベース)210及びビジネスルール定義体ファイル記憶部200を備えている。ウェブサーバー2には、インターネットを含む通信網を介してclient(ユーザの端末としてのパーソナルコンピュータなど)が接続されている。   Here, the web server 2 includes a business process execution engine 21, a business rules execution engine 22, a JSP (Java (registered trademark) Server Pages) module (hereinafter, JSP) 23, and a servlet. Module (hereinafter referred to as servlet) 24 (24A, 24B), service adapter (ServiceAdapter) module (hereinafter referred to as service adapter) 25, business process wrapper module (hereinafter referred to as business process wrapper) 26, business rule wrapper (Business Rules Wrapper) module (hereinafter referred to as “business rules wrapper”) , Business rule wrapper) 27, DB (database) 210, and business rule definition file storage unit 200. A client (such as a personal computer as a user terminal) is connected to the web server 2 via a communication network including the Internet.

サーバー記憶部3には、予めJSP23、サーブレット24、サービスアダプタ25、ビジネスプロセスラッパー26、ビジネスルールラッパー27の各々のプログラムのソースコードと、ビジネスが記述されたファイルが記憶されている。
JSP23のソースコードが記述されたファイルはJSPファイルであり、サーブレット24のソースコードが記述されたファイルはサーブレットファイル102であり、サービスアダプタ25のソースコードが記述されたファイルはサービスアダプタファイル103であり、ビジネスプロセスラッパー26のソースコードが記述されたファイルはビジネスプロセスラッパーファイル104であり、ビジネスルールラッパー27のソースコードが記述されたファイルはビジネスルールラッパーファイル105である。これらのソースコードのファイルの生成については後述する。
また、サーバー記憶部3には、ビジネスプロセス実行エンジン21が行うプロセスの内容が記述されたビジネスプロセス定義体(XML)ファイル101が、予め設定されている(詳細については後述)。
さらに、サーバー記憶部3には、業務処理名とこの業務処理名の業務処理を構成するプロセス識別番号(プロセスID、すなわち以降のプロセス識別情報)の組み合わせの業務処理テーブルが記憶されている。
The server storage unit 3 stores the source code of each program of the JSP 23, the servlet 24, the service adapter 25, the business process wrapper 26, and the business rule wrapper 27 and a file describing the business in advance.
The file in which the source code of the JSP 23 is described is a JSP file, the file in which the source code of the servlet 24 is described is the servlet file 102, and the file in which the source code of the service adapter 25 is described is the service adapter file 103. The file in which the source code of the business process wrapper 26 is described is a business process wrapper file 104, and the file in which the source code of the business rule wrapper 27 is described is a business rule wrapper file 105. The generation of these source code files will be described later.
In addition, a business process definition body (XML) file 101 in which contents of processes performed by the business process execution engine 21 are described in the server storage unit 3 is set in advance (details will be described later).
Further, the server storage unit 3 stores a business process table of a combination of a business process name and a process identification number (process ID, that is, subsequent process identification information) constituting the business process of this business process name.

ウェブサーバー2は、clientによりアクセスされることにより、サーバー記憶部3からJSP23のプログラムファイルを読み出し、インスタンス化してJSP23を実行させる。
JSP23は、インスタンス化されて実行された後、clientに実装されているウェブブラウザからの供給される、例えばHTML(HyperText Markup Language)で記述されたJSPファイルを解析し、業務処理を構成するプロセス識別情報を抽出し、抽出したプロセス識別情報に対応するサーブレットの起動を行う。
すなわち、ウェブサーバー2には、データと、いずれのサーブレットを起動するかを示す情報、すなわちプロセス識別情報とを含むJSPファイルがclientから供給される。
例えば、JSP23は、clientから供給されるプロセス識別情報に対応するサーブレットファイル102(クラスが記述されたJAVA(登録商標)ファイル)を、サーバー記憶部3から読み出し、読み出したサーブレットファイル102に記述されている変数にデータを代入してインスタンス化し、オブジェクトとしてサーブレット24(24A、24B)を起動して実行させる。
When accessed by the client, the web server 2 reads the program file of the JSP 23 from the server storage unit 3, instantiates it, and executes the JSP 23.
The JSP 23 is instantiated and executed, and then analyzes the JSP file supplied from the web browser installed in the client, for example, described in HTML (HyperText Markup Language), and identifies the process constituting the business process Information is extracted, and a servlet corresponding to the extracted process identification information is started.
That is, the web server 2 is supplied with a JSP file including data and information indicating which servlet is to be activated, that is, process identification information, from the client.
For example, the JSP 23 reads the servlet file 102 (JAVA (registered trademark) file in which the class is described) corresponding to the process identification information supplied from the client from the server storage unit 3, and is described in the read servlet file 102. Data is substituted into a variable and instantiated, and the servlet 24 (24A, 24B) is activated and executed as an object.

この結果、JSP23は、サーブレット24A及び24Bを、JSPファイル毎(あるいはユーザ毎)に生成して実行する。
ここで、インスタンス化されたサーブレット24A、24Bには、ウェブサーバー2がclientを識別するため、例えば、一般的なセッション管理機能(PHP:Hypertext Preprocessor4.0)を用い、セッション変数としてセッションIDが付与されている。
また、以下の説明において、サーブレット24Aはルール識別情報(ルールID)が付加されている(記述されている)プロセスに対応し、サーブレット24Bはルール識別情報が付加されていないプロセスに対応しているとして説明する。
As a result, the JSP 23 generates and executes the servlets 24A and 24B for each JSP file (or for each user).
Here, in order for the web server 2 to identify the client, for example, a general session management function (PHP: Hypertext Preprocessor 4.0) is used for the instantiated servlets 24A and 24B, and a session ID is assigned as a session variable. Has been.
In the following description, the servlet 24A corresponds to a process to which rule identification information (rule ID) is added (described), and the servlet 24B corresponds to a process to which rule identification information is not added. Will be described.

ウェブサーバー2は、サーブレットファイル102がインスタンス化され、オブジェクトとしてサーブレット24A(ルール識別情報が記述されている)が生成されたことにより、このサーブレット24Aのプロセス識別情報に対応するビジネスルールラッパーファイル105(クラスが記述されたJAVA(登録商標)ファイル)を、このプロセス識別情報を検索キーとしてサーバー記憶部3から読み出す。
また、ウェブサーバー2は、読み出したビジネスルールラッパーファイル105に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスルールラッパー27を起動して実行させる。
When the servlet file 102 is instantiated and the servlet 24A (rule identification information is described) is generated as an object, the web server 2 generates a business rule wrapper file 105 (corresponding to the process identification information of the servlet 24A). A JAVA (registered trademark) file in which a class is described is read from the server storage unit 3 using the process identification information as a search key.
Also, the web server 2 substitutes necessary data into variables described in the read business rule wrapper file 105 to instantiate, and activates and executes the business rule wrapper 27 as an object.

次に、図2は、サーブレット24(例えば、24A)とビジネスルール実行エンジン22との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
このビジネスルールラッパー27は、サーブレット24Aがビジネスルール実行エンジン22に対してビジネスルール処理を委譲する際、委譲する処理に用いるデータを含んでサーブレット24Aにより起動されるビーン(Bean、例えばPaymentStatusBean)のインターフェース及びデータ(予約販売額合計及び予約入金額合計)の形式を、ビジネスルール実行エンジン22が処理可能となるインターフェース及びデータ(予約販売額合計及び予約入金額合計)の形式に変換する。また、サーブレット24Aは、ルール識別情報が記述されて付加(添付)されたプロセスに対応して生成されるため、起動するPaymentStatusBeanに対し、プロセス識別情報に加え、このプロセスに対応したルール識別情報も記述されて付加(以降付加とする)されている。
Next, FIG. 2 is a diagram showing the concept of the interface and data format of the container that transmits and receives data when data is transmitted and received between the servlet 24 (for example, 24A) and the business rule execution engine 22. .
The business rule wrapper 27 includes an interface of a bean that is activated by the servlet 24A and includes data used for the process to be delegated when the servlet 24A delegates the business rule process to the business rule execution engine 22 (Bean, for example, PaymentStatusBean). And the format of data (total amount of reserved sales and total amount of reserved deposit) are converted into an interface and data (total amount of reserved sales and total amount of reserved deposit) that can be processed by the business rule execution engine 22. Further, since the servlet 24A is generated corresponding to the process in which the rule identification information is described and added (attached), in addition to the process identification information, the rule identification information corresponding to this process is also added to the started PaymentStatusBean. It is described and added (hereinafter referred to as addition).

すなわち、ビジネスルールラッパー27は、サービスアダプタ25が起動したPaymentStatusBeanのインターフェース及びデータの形式を、ビジネスルール実行エンジン22の形式に変換する。
そして、ビジネスルールラッパー27は、変換したPaymentStatusBeanを、処理を委譲するためのインターフェースコンテナ(KSession)に書き込むことで、ビジネスルール実行エンジン22に対してデータの受け渡し、すなわち処理の委譲を行う。ここで、ビジネスルールラッパー27は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、PaymentStatusBeanのインターフェース及びデータの形式の変換を行う。
That is, the business rule wrapper 27 converts the PaymentStatusBean interface and data format activated by the service adapter 25 into the business rule execution engine 22 format.
Then, the business rule wrapper 27 writes the converted PaymentStatusBean into an interface container (KSession) for delegating processing, thereby transferring data to the business rule execution engine 22, that is, delegating the processing. Here, the business rule wrapper 27 performs conversion of the PaymentStatusBean interface and data format according to the conversion conditions set in advance corresponding to the process identification signal corresponding to itself.

一方、ビジネスルールラッパー27は、ビジネスルール実行エンジン22からサーブレット24Aに対してビジネスルール処理の結果が供給される際、ビジネスルール実行エンジン22からインターフェースコンテナ(KSession)におけるPaymentStatusBeanに処理結果のデータが書き込まれると、このPaymentStatusBean(サーブレット24Aに対応するプロセスのプロセス識別情報とルール識別情報とが付加されている)のインターフェース及びデータの形式を、サーブレット24Aがデータを入力する形式に変換する。   On the other hand, in the business rule wrapper 27, when the business rule processing result is supplied from the business rule execution engine 22 to the servlet 24A, the processing result data is written from the business rule execution engine 22 to the PaymentStatusBean in the interface container (KSession). Then, the interface and data format of this PaymentStatusBean (process identification information and rule identification information of a process corresponding to the servlet 24A are added) are converted into a format in which the servlet 24A inputs data.

すなわち、ビジネスルールラッパー27は、ビジネスルール実行エンジン22から処理結果のデータがインターフェースコンテナ(KSession)のPaymentStatusBeanに書き込まれると、このPaymentStatusBeanのインターフェース及びデータの形式の変換を行う。
そして、ビジネスルールラッパー27は、変換後のPaymentStatusBeanをサービスアダプタ25に対して出力する。
ここで、ビジネスルールラッパー27は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
In other words, the business rule wrapper 27 converts the interface and data format of this PaymentStatusBean when the processing result data from the business rule execution engine 22 is written to the PaymentStatusBean of the interface container (KSession).
Then, the business rule wrapper 27 outputs the converted PaymentStatusBean to the service adapter 25.
Here, the business rule wrapper 27 performs conversion of the interface and data format of the interface container in response to the process identification signal corresponding to itself.

図1に戻り、ウェブサーバー2は、サーブレットファイル102がインスタンス化され、オブジェクトとしてサーブレット24B(ルール識別情報が付加されていない)が起動されたことにより、このサーブレット24Bのプロセス識別情報に対応するビジネスプロセスラッパーファイル104(クラスが記述されたJAVA(登録商標)ファイル)を、このプロセス識別情報を検索キーとしてサーバー記憶部3から読み出し、ビジネスプロセスラッパーファイル104に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスプロセスラッパー26を起動して実行させる。   Returning to FIG. 1, the web server 2 instantiates the servlet file 102 and starts the servlet 24B (no rule identification information added) as an object, so that the business corresponding to the process identification information of the servlet 24B is activated. A process wrapper file 104 (a JAVA (registered trademark) file in which a class is described) is read from the server storage unit 3 using the process identification information as a search key, and necessary data is substituted into variables described in the business process wrapper file 104 The business process wrapper 26 is activated and executed as an object.

次に、図3は、サーブレット24(例えば、24B)とビジネスプロセス実行エンジン21との間でデータの送受信を行う際に、データを送受信するコンテナのインターフェース及びデータの形式の概念を示す図である。
このビジネスプロセスラッパー26は、サーブレット24Bがビジネスプロセス実行エンジン21に対してビジネスプロセス処理を委譲する際、委譲する処理に用いるデータを含んでサーブレット24Bにより起動されるビーン(Bean、例えばReservationBean)のインターフェース及びデータ(予約予約番号及び予約申込者名)の形式を、ビジネスプロセス実行エンジン21が処理可能となるインターフェース及びデータ(予約予約番号及び予約申込者名)の形式に変換する。
Next, FIG. 3 is a diagram showing the concept of the container interface and data format for transmitting and receiving data when data is transmitted and received between the servlet 24 (for example, 24B) and the business process execution engine 21. .
The business process wrapper 26 includes an interface of a bean (Bean, for example, Reservation Bean) that is started by the servlet 24 </ b> B including data used for the process to be delegated when the servlet 24 </ b> B delegates the business process process to the business process execution engine 21. And the format of the data (reservation reservation number and reservation applicant name) are converted into an interface and data (reservation reservation number and reservation applicant name) that can be processed by the business process execution engine 21.

すなわち、ビジネスプロセスラッパー26は、サービスアダプタ25が起動したReservationBeanのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21の形式に変換する。
そして、ビジネスプロセスラッパー26は、変換したReservationBeanを、処理を委譲するためのインターフェースコンテナ(ServiceSession)に書き込むことで、ビジネスプロセス実行エンジン21に対してデータの受け渡し、すなち処理の委譲を行う。ここで、ビジネスプロセスラッパー26は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、ReservationBeanのインターフェース及びデータの形式の変換を行う。
That is, the business process wrapper 26 converts the ReservationBean interface and data format activated by the service adapter 25 into the business process execution engine 21 format.
Then, the business process wrapper 26 writes the converted ReservationBean into an interface container (ServiceSession) for delegating processing, thereby transferring data to the business process execution engine 21, that is, delegating processing. Here, the business process wrapper 26 performs conversion of the ReservationBean interface and data format according to conversion conditions set in advance corresponding to the process identification signal corresponding to itself.

一方、ビジネスプロセスラッパー26は、ビジネスプロセス実行エンジン21からサーブレット24Bに対してビジネスプロセス処理の結果が供給される際、ビジネスプロセス実行エンジン21からインターフェースコンテナ(ServiceSession)におけるReservationBeanに処理結果のデータが書き込まれると、このReservationBean(サーブレット24Bに対応するプロセスのプロセス識別情報が付加されている)のインターフェース及びデータの形式を、サーブレット24Bがデータを入力する形式に変換する。   On the other hand, the business process wrapper 26 writes the processing result data from the business process execution engine 21 to the ReservationBean in the interface container (ServiceSession) when the business process execution result is supplied from the business process execution engine 21 to the servlet 24B. Then, the interface of the ReservationBean (the process identification information of the process corresponding to the servlet 24B is added) and the data format are converted into a format in which the servlet 24B inputs data.

すなわち、ビジネスプロセスラッパー26は、ビジネスプロセス実行エンジン21から処理結果のデータがインターフェースコンテナServiceSessionのReservationBeanに書き込まれると、このReservationBeanのインターフェース及びデータの形式の変換を行う。
そして、ビジネスプロセスラッパー26は、変換後のReservationBeanをサービスアダプタ25に対して出力する。
ここで、ビジネスプロセスラッパー26は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
That is, when the process result data is written from the business process execution engine 21 to the ReservationBean of the interface container ServiceSession, the business process wrapper 26 converts the interface and data format of the ReservationBean.
Then, the business process wrapper 26 outputs the converted ReservationBean to the service adapter 25.
Here, the business process wrapper 26 converts the interface container and the data format corresponding to the process identification signal corresponding to itself.

図1に戻り、ウェブサーバー2は、サーバー記憶部3に記憶されている複数のサーブレットファイル102から、いずれかのサーブレットファイル102が読み出され、インスタンス化されてオブジェクトとして実行されると、サービスアダプタファイル103(クラスが記述されたJAVA(登録商標)ファイル)をサーバー記憶部3から読み出す。
また、ウェブサーバー2は、読み出したサービスアダプタファイル103に記述された変数に、必要なデータを代入してインスタンス化し、オブジェクトとしてサービスアダプタ25を起動して実行させる。
Returning to FIG. 1, the web server 2 reads one of the servlet files 102 from the plurality of servlet files 102 stored in the server storage unit 3, instantiates it, and executes it as an object. A file 103 (a JAVA (registered trademark) file in which a class is described) is read from the server storage unit 3.
Further, the web server 2 substitutes necessary data into variables described in the read service adapter file 103 to instantiate it, and activates and executes the service adapter 25 as an object.

このサービスアダプタ25は、サーブレット24に対応するプロセスのプロセス識別情報と、このプロセスの処理を委譲する実行エンジンのエンジン識別子との対応を示す対応テーブルを有している。ビジネスプロセス定義体(後に詳細に説明)におけるプロセスにルール識別情報が記述されている場合、このプロセスに対応して生成されたサーブレット24Aの処理の委譲先はビジネスルール実行エンジン22である。一方、ビジネスプロセス定義体におけるプロセスにルール識別情報が記述されていない場合、このプロセスに対応して生成されたサーブレット24Bの処理の委譲先はビジネスプロセス実行エンジン21である。
また、サービスアダプタ25は、サーブレット24が起動するビーン(ReservationBeanまたはPaymentStatusBean)に記述されているプロセス識別情報と同一のプロセス識別情報を対応テーブルから検索する。
そして、サービスアダプタ25は、対応テーブルにおいて検索されたプロセス識別情報に対応して記憶されているエンジン識別情報の示す実行エンジン(ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22)を、プロセスの処理の委譲先に設定する。
The service adapter 25 has a correspondence table indicating the correspondence between the process identification information of the process corresponding to the servlet 24 and the engine identifier of the execution engine that delegates the processing of this process. When rule identification information is described in a process in a business process definition body (described in detail later), the business rule execution engine 22 is a transfer destination of the processing of the servlet 24A generated corresponding to this process. On the other hand, when the rule identification information is not described in the process in the business process definition body, the business process execution engine 21 is a transfer destination of the processing of the servlet 24B generated corresponding to this process.
Further, the service adapter 25 searches the correspondence table for the same process identification information as the process identification information described in the bean (ReservationBean or PaymentStatusBean) started by the servlet 24.
Then, the service adapter 25 uses the execution engine (the business process execution engine 21 or the business rule execution engine 22) indicated by the engine identification information stored in correspondence with the process identification information searched in the correspondence table to process the process. Set as delegation destination.

ビジネスプロセス実行エンジン21は、インターフェースコンテナ(ServiceSession)に書き込まれたデータとプロセス識別番号とにより、ビジネスプロセス処理(例えば、DB210(データベース)に対するデータの検索、読み出し、書き込み、編集)を行う。
サーブレット24Bが後述するビジネスプロセス定義体におけるプロセス識別番号「1」のプロセスに対応した処理としてビジネスプロセス処理を実行する場合、このプロセス識別情報「1」のプロセスは、「予約基本を検索する」処理する。すなわち、ビジネスプロセス実行エンジン21は、サーブレット24Bから委譲されたデータである予約予約番号及び予約申込者名を検索キーとして、この検索キーに対応して記憶されているデータを、DB210に記憶されているデータの中から検索する(処理の詳細は後述)。
The business process execution engine 21 performs business process processing (for example, retrieval, reading, writing, and editing of data in the DB 210 (database)) based on the data written in the interface container (ServiceSession) and the process identification number.
When the servlet 24B executes a business process process as a process corresponding to the process with the process identification number “1” in the business process definition body described later, the process with the process identification information “1” performs a “search for a reservation basic” process. To do. That is, the business process execution engine 21 uses the reservation reservation number and reservation applicant name, which are data delegated from the servlet 24B, as search keys, and stores the data stored corresponding to the search keys in the DB 210. The data is searched (details of the process will be described later).

また、ビジネスプロセス実行エンジン21は、インターフェースコンテナ(ServiceSession)に書き込まれたReservationBeanに付加されているデータ及びプロセス識別情報により、サーバー記憶部3に記憶されているビジネスプロセス定義体(XML)ファイル101の中から、同一のプロセス識別情報が付加されたビジネスプロセス定義体(XML)ファイル101を読み出す。
また、ビジネスプロセス実行エンジン21は、読み出したビジネスプロセス定義体(XML)ファイル101に従い、ReservationBeanを介してサーブレット24Bから供給されたデータを用いてビジネスプロセスの処理を行う。
The business process execution engine 21 also stores the business process definition body (XML) file 101 stored in the server storage unit 3 based on the data and process identification information added to the ReservationBean written in the interface container (ServiceSession). The business process definition body (XML) file 101 to which the same process identification information is added is read from the inside.
In addition, the business process execution engine 21 processes the business process using data supplied from the servlet 24B via the ReservationBean according to the read business process definition body (XML) file 101.

一方、ビジネスルール実行エンジン22は、インターフェースコンテナ(KSession)に書き込まれたPaymentStatusBeanに付加されているデータ及びプロセス識別番号により、ビジネスルール処理(例えば、論理演算、数値計算などの演算処理)を行う。
サーブレット24Aが後述するビジネスプロセス定義体におけるプロセス識別番号「2」のプロセスに対応した処理としてビジネスルール処理を実行する場合、このプロセス識別情報「2」のプロセスは、「入金ステータスを検索する」処理を行う。すなわち、ビジネスルール実行エンジン22は、サーブレット24Aから委譲されたデータである予約販売額合計と予約入金額合計とを比較し、この比較結果に応じて設定されている入金ステータスを、内部に設けられたステータステーブルから検索する(処理の詳細は後述)。
On the other hand, the business rule execution engine 22 performs business rule processing (for example, arithmetic processing such as logical operation and numerical calculation) based on the data and process identification number added to the PaymentStatusBean written in the interface container (KSession).
When the business rule process is executed by the servlet 24A as a process corresponding to the process having the process identification number “2” in the business process definition body, which will be described later, I do. In other words, the business rule execution engine 22 compares the reserved sales total and the reserved deposit total, which are data delegated from the servlet 24A, and the deposit status set according to the comparison result is provided internally. The status table is searched (details of the process will be described later).

また、ビジネスルール実行エンジン22は、インターフェースコンテナ(KSession)に書き込まれたルール識別情報により、ビジネスルール定義体ファイル記憶部200に記憶されているビジネスルール定義体ファイル302の中から、同一のプロセス識別情報が付加されたビジネスルール定義体ファイル302を読み出す。
また、ビジネスルール実行エンジン22は、読み出したビジネスルール定義体ファイル302に記述された論理演算あるいは数値演算の式などに従い、PaymentStatusBeanを介してサーブレット24Aから供給されたデータを用いてビジネスプロセスの処理を行う。
Further, the business rule execution engine 22 uses the rule identification information written in the interface container (KSession) to identify the same process identification from the business rule definition file 302 stored in the business rule definition file storage unit 200. The business rule definition file 302 with the information added is read.
In addition, the business rule execution engine 22 performs business process processing using data supplied from the servlet 24A via the PaymentStatusBean according to the logical operation or numerical operation expression described in the read business rule definition file 302. Do.

DB210には、本実施形態においては、例えば、旅行会社の顧客管理のデータベースであり、予約毎に、予約予約番号、予約申込者名、予約出発日、予約従業員名、予約予約日とが対応付けられて記憶されている。
ビジネスルール定義体ファイル記憶部200には、ビジネスルール実行エンジン22が実行するビジネスルール処理の内容が記述されたビジネスルール定義体ファイル302が、このビジネスルール定義体ファイル302を一意に示すルール識別情報とともに記憶されている。
本実施形態によるプログラム生成装置は、上述したサーブレット24、サービスアダプタ25、ビジネスプロセスラッパー26、ビジネスルールラッパー27のプログラムを生成し、それぞれのソースコードが記述された、サーブレットファイル102、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104、ビジネスプロセスルールラッパーファイル105を出力し、サーバー記憶部3へ書き込む処理を行う。
In the present embodiment, the DB 210 is, for example, a travel management customer management database, and each reservation corresponds to a reservation reservation number, a reservation applicant name, a reservation departure date, a reservation employee name, and a reservation reservation date. Attached and memorized.
In the business rule definition file storage unit 200, a business rule definition file 302 in which the contents of the business rule processing executed by the business rule execution engine 22 is described. The rule identification information that uniquely indicates the business rule definition file 302. It is remembered with.
The program generation apparatus according to the present embodiment generates the above-described servlet 24, service adapter 25, business process wrapper 26, and business rule wrapper 27 programs, and a servlet file 102 and a service adapter file 103 in which source codes are described. The business process wrapper file 104 and the business process rule wrapper file 105 are output and written into the server storage unit 3.

図4は、ビジネスルール定義体ファイル302のプロセスルール処理の記述の構成の一例を示す図である。
図4のビジネスルール定義体ファイル302に記述されたプロセスルール処理は、既に説明したサーブレット24Aのプロセスの処理に対応しており、データとして入力された予約販売額合計と予約入金額合計とを比較し、比較結果に応じて設定されている入金ステータスを出力することである。
ビジネスルール定義体ファイル302における入金ステータスとしては、「未入金」、「一部入金」、「入金済」、「入金超過」が設定されている。図4に示すビジネスルール定義体ファイル302におけるこれらステータスとデータの比較処理(プロセスルール処理)の種類とは、以下に示す対応関係にある。
・未入金 :予約入金額合計が「0」である場合
・一部入金:予約入金額合計が「0」でなく、かつ予約販売額合計が予約入金額合計よ り大きい
・入金済み:予約販売額合計と予約入金額合計とが等しい
・入金超過:予約販売額合計が予約入金額合計より小さい
FIG. 4 is a diagram illustrating an example of the configuration of the process rule processing description in the business rule definition file 302.
The process rule process described in the business rule definition file 302 of FIG. 4 corresponds to the process of the servlet 24A already described, and compares the total reserved sales amount input as data with the total reserved deposit amount. The payment status set according to the comparison result is output.
As the deposit status in the business rule definition file 302, “not deposited”, “partial deposit”, “paid”, and “exceeded deposit” are set. The statuses in the business rule definition file 302 shown in FIG. 4 and the types of data comparison processing (process rule processing) have the following correspondence relationship.
・ Non-payment: When the total deposit amount is “0” ・ Partial deposit: The total deposit amount is not “0” and the total reservation sale amount is larger than the total reservation deposit amount ・ Payment: Reserved sale Total amount is equal to the total reservation deposit amount. ・ Deposits exceeded: The total reservation sales amount is smaller than the total reservation deposit amount.

次に、図面を参照して、本発明の実施の形態であるビジネスプロセス/ビジネスルール実行システムで用いるプログラムの生成方法について説明する。図5は、この発明の一実施形態による、ビジネスプロセス/ビジネスルール実行システム(例えば、本実施形態においてはJAVA(登録商標)にて実装されている)で使用されるプログラムを生成するプログラム生成装置の構成例を示す概略ブロック図である。
この図5において、プログラム生成装置1は、ビジネスプロセス(Business Process)定義解析部11、ビジネスプロセス定義体ファイル変換部12、サーブレット(servlet)生成部13、サービスアダプタ(ServiceAdapter)生成部14、ビジネスプロセスラッパー(Business Process Wrapper)生成部15、ビジネスルールラッパー(Business Rules Wrapper)生成部16、ビジネスルール定義体ファイル解析部17及びビジネスルール定義体ファイル配備部18、記憶部19を備えている。
Next, a method for generating a program used in the business process / business rule execution system according to the embodiment of the present invention will be described with reference to the drawings. FIG. 5 shows a program generation apparatus for generating a program used in a business process / business rule execution system (for example, implemented in JAVA (registered trademark) in this embodiment) according to an embodiment of the present invention. It is a schematic block diagram which shows the example of a structure.
In FIG. 5, a program generation apparatus 1 includes a business process definition analysis unit 11, a business process definition file conversion unit 12, a servlet generation unit 13, a service adapter generation unit 14, a business process. A wrapper (Business Process Wrapper) generation unit 15, a business rules wrapper (Business Rules Wrapper) generation unit 16, a business rule definition file analysis unit 17, a business rule definition file deployment unit 18, and a storage unit 19 are provided.

次に、図6は、ビジネスプロセス/ビジネスルール実行システムで使用されるプログラムを生成する際に用いるプログラム生成情報が記述された、ビジネスプロセス定義体ファイル301におけるテーブルの一例を示す図である。このビジネスプロセス定義体ファイル301は、業務処理毎に、ビジネスプロセス/ビジネスルール実行システムを作成する作業者により記述されて作成される。
この図6は、下記に示す項目を表形式に記述する仕様、例えばエクセル(登録商標)などにより記述されている。
業務処理は、図6に示すように複数個のプロセス、あるいは1個のプロセスから構成されている。
Next, FIG. 6 is a diagram illustrating an example of a table in the business process definition body file 301 in which program generation information used when generating a program used in the business process / business rule execution system is described. The business process definition file 301 is created by being described by a worker who creates a business process / business rule execution system for each business process.
This FIG. 6 is described by the specification which describes the following items in a table format, for example, Excel (registered trademark).
The business process is composed of a plurality of processes or a single process as shown in FIG.

図6のテーブルのビジネスプロセス定義としては、
項目A:プロセスを一意に識別するプロセス識別情報
項目B:プロセス識別情報で識別されるプロセスの名称であるプロセス名
項目C:プロセスの処理の種別あるいは項目の操作種別
項目D:プロセスが操作対象とするテーブル名及びテーブル内の項目を示す操作項目情 報
項目E:プロセスの操作対象のテーブルの詳細情報である操作対象
項目F:プロセスがビジネスルールの処理である場合に、このビジネスルールを一意に識別するルール識別情報
の各項目における定義から構成されている。
As a business process definition of the table of FIG.
Item A: Process identification information that uniquely identifies a process Item B: Process name that is the name of a process identified by the process identification information Item C: Process processing type or item operation type Item D: Process is an operation target Operation item information indicating the table name and items in the table Item E: Operation target that is detailed information of the table to be processed in the process Item F: When the process is a process of a business rule, this business rule must be unique It consists of definitions in each item of rule identification information to be identified.

本実施形態において、プログラム生成情報とは、図6に示すビジネスプロセス定義体ファイル301におけるテーブルに記述されているプロセス識別情報、プロセス名、項目種別、操作項目情報(アトリビュート名)、操作対象、ルール識別情報(存在する場合のみ)を有している。
例えば、図6に示すビジネスプロセス定義体ファイル301におけるテーブルにおいて、プロセス識別情報(項目A)は、番号の欄に記述された「1」である。プロセス名(項目B)は、プロセス名の欄に記載された「予約基本を検索する」である。項目種別(項目C)は、項目種別の欄に記載されたプロセスの処理の種別である「SEARCH」、及びプロセスの処理における項目の操作情報である「Search」あるいは「Output」である。操作項目情報(項目D)は、ラベル名(エンティティ名)・ラベル名(アトリビュート名)及びエンティティ名・アトリビュート名の欄に記載されており、ラベル名(エンティティ名)である「予約」、ラベル名(アトリビュート名)である「予約予約番号」、「予約申込者名」、「予約出発日」、「予約従業員名」などであり、エンティティ名である「Reservation」であり、アトリビュート名である「reservationReservationReferenceld」、「reservationReservationApplicantName」などである。
In the present embodiment, the program generation information is the process identification information, process name, item type, operation item information (attribute name), operation target, rule described in the table in the business process definition file 301 shown in FIG. It has identification information (if it exists).
For example, in the table in the business process definition file 301 shown in FIG. 6, the process identification information (item A) is “1” described in the number column. The process name (item B) is “search reservation basic” described in the process name column. The item type (item C) is “SEARCH”, which is the type of process processing described in the item type column, and “Search” or “Output”, which is item operation information in the process processing. The operation item information (item D) is described in the column of label name (entity name) / label name (attribute name) and entity name / attribute name. (Reservation reservation number), “reservation applicant name”, “reservation departure date”, “reservation employee name”, and the like (attribute name), entity name “Reservation”, and attribute name “ reservationReservationReferenceld ”,“ reservationReservationApplicantName ”, etc.

また、詳細情報(項目E)は、操作対象パスの欄に記述された「Reservation」などである。ルール識別情報(項目F)は、プロセス識別情報「2」における行における外部ルールの欄に記載された、ルール識別情報である「d_rule_001」などである。
図示はしていないが、プロセスにおける操作情報として、入力(Input)の欄に入力であるか否かを示すマークとして記述され、転記(Cascade)の欄に情報をいずれかに移しかえるか否かを示すマークとして記述され、任意(Optional)の欄に、対応するラベル(アトリビュート名)の情報の入力が任意であることを示すマークとして記述され、複数(Multiple)の欄に、対応するラベル(アトリビュート名)の情報の数が複数か否かを示すマークとして記述され、比較(Operetor)の欄に、対応するラベル(アトリビュート名)を検索する際に、完全一致(=)か部分一致(like)であるかを示す情報が記述されている。
The detailed information (item E) is “Reservation” described in the operation target path column. The rule identification information (item F) is “d_rule_001” which is the rule identification information described in the column of the external rule in the row of the process identification information “2”.
Although not shown in the figure, as operation information in the process, it is described as a mark indicating whether or not there is an input in the input (Input) column, and whether or not the information can be transferred to any one of the transcription (Cascade) columns. Is described as a mark indicating that input of information of the corresponding label (attribute name) is optional, and a corresponding label (Multiple) is displayed in the corresponding ( It is described as a mark indicating whether or not the number of information of (attribute name) is more than one, and when searching for the corresponding label (attribute name) in the comparison (Operetor) field, complete match (=) or partial match (like ) Is described.

図5に戻り、ビジネスプロセス定義解析部11は、図6に示すテーブルとしてのビジネスプロセス定義体ファイル301を、ユーザの操作により、外部機器あるいは外部記憶部から読み込み、記憶部19に書き込んで記憶させる。
また、ビジネスプロセス定義解析部11は、このビジネスプロセス定義体ファイル301を記憶部19から順次読み出し、業務処理を構成するプロセス毎に、プログラム生成情報を構成するプロセス識別情報、プロセス名、項目種別、操作項目情報、操作情報、操作対象、ルール識別情報の各々を抽出して読み出す。
ビジネスプロセス定義解析部11は、読み出したプロセス毎のプログラム生成情報に対し、対応するプロセスのプロセス識別情報を付加し、プロセス毎に記憶部19に一旦書き込んで記憶させる。
また、ビジネスプロセス定義解析部11は、ビジネスプロセス定義体ファイル301のテーブルにおいて、予め入力データが必要と設定されている項目に、ユーザからの入力データが記述がされていない場合、あるいは、プロセス名、項目種別、アトリビュート名などがビジネスプロセス実行エンジン及びビジネスルール実行エンジンで使用されている記述でない場合、ビジネスプロセス定義体ファイル301の記述に不備があることを図示しない、表示部などの出力部を介して作業者に対して通知する。
Returning to FIG. 5, the business process definition analysis unit 11 reads the business process definition file 301 as a table shown in FIG. 6 from an external device or an external storage unit by a user operation, and writes and stores it in the storage unit 19. .
Further, the business process definition analyzing unit 11 sequentially reads out the business process definition body file 301 from the storage unit 19, and for each process constituting the business process, process identification information, process name, item type, Each of the operation item information, operation information, operation target, and rule identification information is extracted and read.
The business process definition analysis unit 11 adds process identification information of the corresponding process to the read program generation information for each process, and temporarily writes and stores the process identification information in the storage unit 19 for each process.
Further, the business process definition analyzing unit 11 displays the process name when the input data from the user is not described in the item in the table of the business process definition file 301 in which the input data is set in advance. If the item type, attribute name, etc. are not descriptions used in the business process execution engine and business rule execution engine, an output unit such as a display unit that does not show that the description of the business process definition file 301 is incomplete To the operator via

ビジネスプロセス定義体ファイル変換部12は、記憶部19から読み出した業務処理を構成する各プロセスのプログラム生成情報における項目種別、操作項目情報及び操作情報により、予め設定されたフォーマットの形式、すなわちビジネスプロセス実行エンジン21(図1)が解読できる形式のビジネスプロセス定義体(XML)ファイル101を生成する。ここで、ビジネスプロセス定義体ファイル変換部12は、ルール識別情報が付加されているか否かの判定を行い、ルール識別情報が付加されていないプロセスのみに対し、ビジネスプロセス定義体(XML)ファイル101を生成する。   The business process definition file conversion unit 12 has a format format that is set in advance according to the item type, operation item information, and operation information in the program generation information of each process constituting the business process read from the storage unit 19, that is, a business process A business process definition body (XML) file 101 in a format that can be decoded by the execution engine 21 (FIG. 1) is generated. Here, the business process definition file conversion unit 12 determines whether or not the rule identification information is added, and the business process definition file (XML) file 101 is applied only to the process to which the rule identification information is not added. Is generated.

例えば、ビジネスプロセス定義体ファイル変換部12は、XML(Extensible Markup Language)形式で、プログラム生成情報の各項目が記述された、プロセス毎のビジネスプロセス定義体(XML)ファイル101を生成する。
このとき、ビジネスプロセス定義体ファイル変換部12は、記憶部19におけるビジネスプロセス定義体ファイルテンプレート記憶領域から、ビジネスプロセス定義体ファイルテンプレートを読み出す。
このビジネスプロセス定義体ファイルテンプレート記憶領域には、プロセス識別情報、項目種別、操作項目情報及び操作情報の組み合わせ毎に、図6に示すビジネスプロセス定義体ファイルにおけるプロセス単位で、ビジネスプロセス実行エンジン21が解読できる形式のビジネスプロセス定義体ファイルテンプレート記憶されている。
そして、ビジネスプロセス定義体ファイル変換部12は、この読み出したビジネスプロセス定義体ファイルテンプレートに対し、記憶部19から読み出したプロセス識別情報、項目種別、操作項目情報及び操作情報を追記して、プロセス毎のビジネスプロセス定義体(XML)ファイル101を生成する。
For example, the business process definition file conversion unit 12 generates a business process definition file (XML) file 101 for each process in which each item of program generation information is described in an XML (Extensible Markup Language) format.
At this time, the business process definition file conversion unit 12 reads the business process definition file template from the business process definition file template storage area in the storage unit 19.
In this business process definition file template storage area, the business process execution engine 21 is stored for each process in the business process definition file shown in FIG. 6 for each combination of process identification information, item type, operation item information, and operation information. A business process definition file template in a format that can be decoded is stored.
Then, the business process definition file conversion unit 12 adds the process identification information, item type, operation item information, and operation information read from the storage unit 19 to the read business process definition file template, for each process. The business process definition body (XML) file 101 is generated.

サーブレット生成部13は、記憶部19から読み出した業務処理を構成する各プロセスのプログラム生成情報におけるプロセス識別情報、項目種別、操作項目情報により、予め設定されたフォーマットの形式の記述に対応したサーブレットのプログラムが記述されたサーブレットファイル102を生成する。このサーブレットファイル102は、ウェブサーバー上で実行され、例えばJSPと連携してウェブページを構築するサーブレット24のプログラムのソースコードが記述されたファイルである(後述)。
このとき、サーブレット生成部13は、記憶部19のサーブレットテンプレート記憶領域において、項目種別毎にプロセス単位で記憶されている、サーブレットテンプレートに、記憶部19から読み出したプロセス識別情報、項目種別、操作項目情報を追記して、プロセス毎のプログラムを生成し、このれらのプログラムが記述されたサーブレットファイル102を出力する。
The servlet generation unit 13 uses the process identification information, the item type, and the operation item information in the program generation information of each process constituting the business process read from the storage unit 19, and the servlet corresponding to the description of the format format set in advance. A servlet file 102 in which a program is described is generated. The servlet file 102 is a file in which a source code of a program of the servlet 24 that is executed on a web server and constructs a web page in cooperation with a JSP is described (described later).
At this time, the servlet generation unit 13 stores the process identification information, item type, and operation item read from the storage unit 19 in the servlet template stored for each item type in the servlet template storage area of the storage unit 19. Information is added, a program for each process is generated, and a servlet file 102 in which these programs are described is output.

サービスアダプタ生成部14は、ビジネスプロセス定義体ファイル301のプロセス毎に、各プロセスの処理の委譲先を、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれにするかを示すプログラムである。
すなわち、サービスアダプタ生成部14は、プロセス識別情報毎に、当該プロセス識別情報が示すプロセスを、ビジネスプロセス実行エンジン21及びビジネスルール実行エンジン22のいずれかに委譲するかを示す対応テーブルを含み、プロセス識別情報が入力された際に、この対応テーブルを参照して、プロセス識別情報の示すプロセスの処理を、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれかに委譲するプログラムを生成し、このプログラムが記述されているサービスアダプタファイル103を出力する。
The service adapter generation unit 14 is a program that indicates which of the business process execution engine 21 and the business rule execution engine 22 is the delegation destination of each process for each process of the business process definition file 301.
That is, the service adapter generation unit 14 includes, for each process identification information, a correspondence table indicating whether the process indicated by the process identification information is delegated to either the business process execution engine 21 or the business rule execution engine 22. When the identification information is input, the correspondence table is referred to generate a program for delegating the process of the process indicated by the process identification information to either the business process execution engine 21 or the business rule execution engine 22. The service adapter file 103 in which the program is described is output.

ビジネスプロセスラッパー生成部15は、ルール識別情報が含まれていないプロセスのプログラム生成情報から生成されたサーブレット24(例えば、サーブレット24B)に対応するビジネスプロセスラッパー26のプログラムを生成し、このプログラムのソースコードが記述されたビジネスプロセスラッパーファイル104を出力する。
このビジネスプロセスラッパー26は、既に説明したように、サーブレット24がデータを委譲するために用いるビーン(ReservationBean)のインターフェースの形式及びデータの形式を、ビジネスプロセス実行エンジン21のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナServiceSessionに配置し、逆に、インターフェースコンテナServiceSessionにおけるReservationBeanのインターフェースの形式及びデータの形式を、サーブレット24のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ25に委譲する処理を行うプログラムである。
The business process wrapper generation unit 15 generates a program of the business process wrapper 26 corresponding to the servlet 24 (for example, the servlet 24B) generated from the program generation information of the process that does not include the rule identification information, and the source of this program A business process wrapper file 104 in which the code is described is output.
As described above, the business process wrapper 26 corresponds to the interface format and data format of the business process execution engine 21 with the interface format and data format of a bean (ReservationBean) used by the servlet 24 to delegate data. And convert to the interface format of the ReservationBean in the interface container ServiceSession and the format of the data corresponding to the format of the interface of the servlet 24 and the format of the data. Is a program that performs a process of delegating to the service adapter 25.

すなわち、ビジネスプロセスラッパーファイル104には、サーブレット24がプロセスの処理の委譲をビジネスプロセス実行エンジン21に対して行う際、サーブレット24がデータの出力を行うReservationBeanのインターフェース(出力)の形式及びデータの形式を、ビジネスプロセス実行エンジン21のインターフェース(入力)に対応した形式及びデータの形式に変換し、ビジネスプロセス実行エンジン21がプロセスの処理の結果をサーブレットに出力する際、ビジネスプロセス実行エンジンの出力するインターフェース(出力)の形式及びデータの形式を、サーブレット24のインターフェース(入力)の形式及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスプロセスラッパー生成部15は、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェース及びデータが異なるため、ビジネスプロセスラッパー26のプログラムをプロセス毎に生成する。ここで、データの形式とは、byte、short、int、longなどのデータ型(変数)を示している。
That is, in the business process wrapper file 104, when the servlet 24 delegates process processing to the business process execution engine 21, the format of the ReservationBean interface (output) and the data format of the data output by the servlet 24 Is converted into a format and data format corresponding to the interface (input) of the business process execution engine 21, and when the business process execution engine 21 outputs the processing result of the process to the servlet, the interface that the business process execution engine outputs A program for performing processing for converting the (output) format and the data format into the interface (input) format and the data format of the servlet 24 is described.
The business process wrapper generation unit 15 generates the program of the business process wrapper 26 for each process because the type and number of data input / output for each process are different, that is, the interface and data are different for each process. Here, the data format indicates a data type (variable) such as byte, short, int, or long.

ビジネスルールラッパー生成部16は、ルール識別情報が含まれているプロセスのプログラム生成情報から生成されたサーブレット24(例えば、サーブレット24A)に対応するビジネスルールラッパー27のプログラムを生成し、このプログラムのソースコードが記述されたビジネスルールラッパーファイル105を出力する。
このビジネスルールラッパー27は、既に説明したように、サーブレット24がデータを委譲するために用いるビーン(PaymentStatusBean)のインターフェースの形式及びデータの形式を、ビジネスルール実行エンジン22のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナKSessionに配置し、逆に、インターフェースコンテナKSessionにおけるPaymentStatusBeanのインターフェースの形式及びデータの形式を、サーブレット24のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ25に委譲する処理を行うプログラムである。
The business rule wrapper generation unit 16 generates a business rule wrapper 27 program corresponding to the servlet 24 (for example, the servlet 24A) generated from the program generation information of the process including the rule identification information, and the source of this program The business rule wrapper file 105 in which the code is described is output.
As described above, the business rule wrapper 27 corresponds to the interface format and data format of the business rule execution engine 22 with the interface format and data format of the bean (PaymentStatusBean) used by the servlet 24 to delegate data. The conversion is performed and placed in the converted interface container KSession. Conversely, the PaymentStatusBean interface format and data format in the interface container KSession are converted in accordance with the interface format and data format of the servlet 24, and processed. Is a program that performs a process of delegating to the service adapter 25.

すなわち、ビジネスルールラッパーファイル105には、サーブレット24がプロセスの処理の委譲をビジネスルール実行エンジン22に対して行う際、サーブレット24がデータの出力を行うインターフェース(出力)及びデータの形式を、ビジネスルール実行エンジン22のインターフェース(入力)及びデータの形式に変換し、ビジネスルール実行エンジン22がプロセスの処理の結果をサーブレットに出力する際、ビジネスルール実行エンジン22の出力するインターフェース(出力)及びデータの形式を、サーブレットのインターフェース(入力)及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスルールラッパー生成部16は、ビジネスプロセスラッパー生成部15と同様に、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェースが異なるため、ビジネスルールラッパー27のプログラムをプロセス毎に生成する。
That is, in the business rule wrapper file 105, when the servlet 24 delegates process processing to the business rule execution engine 22, an interface (output) for outputting data and the format of the data are displayed in the business rule. When the business rule execution engine 22 outputs the processing result to the servlet, the interface (output) and data format output by the business rule execution engine 22 are converted into the interface (input) and data format of the execution engine 22. A program is described for converting the above into a servlet interface (input) and data format.
Similarly to the business process wrapper generation unit 15, the business rule wrapper generation unit 16 has different types and number of data input / output for each process, that is, the interface is different for each process. Generate a program for each process.

上述したサーブレットファイル102、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104及びビジネスルールラッパーファイル105の各々は、プログラムのソースコードが記述されたファイル、例えばJAVA(登録商標)ファイルである。
また、プログラム生成装置1は、作成されたサーブレットファイル102、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104及びビジネスルールラッパーファイル105の各々のファイルを、一旦記憶部19に書き込んで記憶させ、後にウェブサーバーのサーバー記憶部3に書き込んで記憶させることにより、ウェブサーバー2に実装する。
Each of the servlet file 102, the service adapter file 103, the business process wrapper file 104, and the business rule wrapper file 105 described above is a file in which the source code of the program is described, for example, a JAVA (registered trademark) file.
Further, the program generation device 1 temporarily writes each of the created servlet file 102, service adapter file 103, business process wrapper file 104, and business rule wrapper file 105 in the storage unit 19, and stores them later on the web server. It is mounted on the web server 2 by writing and storing it in the server storage unit 3.

ビジネスルール定義体ファイル解析部17は、ユーザの操作により、外部機器あるいは外部記憶部からビジネスルール定義体ファイル302を読み込み、記憶部19に書き込んで記憶させる。
また、ビジネスルール定義体ファイル解析部17は、記憶部19からビジネスルール定義体ファイル302を読み出し、このビジネスルール定義体ファイル302に記述されているルール識別情報を抽出する。
ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイル302が、記憶部19に記憶されているビジネスルール定義体ファイル302の中に存在するか否かの検出を行う(整合性のチェックを行う)。本実施形態においては、ルール識別情報と、この識別情報に対応するビジネスルール定義体ファイルのファイル名とは、同一の文字列を用いている。
ここで、ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部19に記憶されているビジネスルール定義体ファイル302の中に存在しない場合、整合性が取れないことを示すエラーメッセージを表示装置等の出力部から出力することによりユーザに対して通知する。
The business rule definition file analysis unit 17 reads the business rule definition file 302 from an external device or an external storage unit, and writes and stores it in the storage unit 19 by a user operation.
In addition, the business rule definition file analysis unit 17 reads the business rule definition file 302 from the storage unit 19 and extracts rule identification information described in the business rule definition file 302.
The business rule definition file analysis unit 17 stores the business rule definition file 302 having the same file name as the rule identification information extracted from the business process definition file 301 in the storage unit 19. It is detected whether or not it exists in it (consistency check is performed). In the present embodiment, the same character string is used for the rule identification information and the file name of the business rule definition file corresponding to this identification information.
Here, the business rule definition file analysis unit 17 stores the business rule definition file having the same file name as the rule identification information extracted from the business process definition file 301 stored in the storage unit 19. If it does not exist in 302, an error message indicating that consistency cannot be obtained is output from an output unit such as a display device to notify the user.

ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部19に記憶されているビジネスルール定義体ファイル302に存在した場合、整合性が取れたことを示すメッセージを表示装置等の出力部からユーザに対して通知する。
また、ビジネスルール定義体ファイル配備部18は、ビジネスプロセス定義体ファイル301とビジネスルール定義体ファイル302との整合性が取れると、整合性が取れたビジネスルール定義体ファイル302を記憶部19から読み出し、ビジネスルール実行エンジン22が読み出しを行うビジネスルール定義体ファイル記憶部200へ書き込んで記憶させる(ビジネスルール定義体ファイル302のコピーを行う)。
The business rule definition file analysis unit 17 has a business rule definition file having the same file name as the rule identification information extracted from the business process definition file 301 in the business rule definition file 302 stored in the storage unit 19. In such a case, a message indicating that consistency has been achieved is notified to the user from an output unit such as a display device.
In addition, when the business process definition file 301 and the business rule definition file 302 can be matched, the business rule definition file deployment unit 18 reads the consistent business rule definition file 302 from the storage unit 19. Then, the business rule execution engine 22 writes and stores it in the business rule definition file storage unit 200 to be read (copying the business rule definition file 302).

上述した構成により本実施形態によれば、業務処理を構成するプロセスの各々にルール識別情報が付加されているか否かにより、ビジネスプロセス実行エンジン21及びビジネスルール実行エンジン22のいずれにサーブレット24のプロセスの処理を実行させるかを振り分けるサービスアダプタ25のプログラムを、ビジネスプロセス定義体ファイル301の記載に整合させて生成させることができる。
このため、本実施形態によれば、ビジネスプロセス実行エンジン21におけるビジネスプロセス処理の実行において、従来のように、ビジネスルール実行エンジン22における呼出処理などの不必要な負荷をかける処理が無くなり、ビジネスプロセス処理の動作の効率を向上させることが可能なビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを容易に生成することができる。
According to the present embodiment with the above-described configuration, the process of the servlet 24 is added to either the business process execution engine 21 or the business rule execution engine 22 depending on whether or not rule identification information is added to each of the processes constituting the business process. The program of the service adapter 25 that sorts whether to execute the process can be generated in conformity with the description of the business process definition file 301.
For this reason, according to the present embodiment, in the execution of business process processing in the business process execution engine 21, there is no processing that places an unnecessary load such as call processing in the business rule execution engine 22 as in the prior art. A program implemented in a business process / business rule execution system capable of improving the efficiency of processing operation can be easily generated.

また、本実施形態によれば、ビジネスプロセス処理に対し、処理の内容によりビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成であるサービスアダプタをプロセス毎に整合をとって自動生成するため ビジネスプロセス実行エンジンが変更されたとしても、ビジネスプロセス/ビジネスルール実行システムに実装されるプログラムの生成における作業者の開発工数を、従来のように増加させることがない。   In addition, according to the present embodiment, in order to automatically generate a service adapter having a configuration in which business process processing is distributed to either a business process execution system or a business rule execution system depending on the content of the process, for each process. Even if the business process execution engine is changed, the development man-hour of the worker in generating a program to be implemented in the business process / business rule execution system is not increased as in the past.

また、本実施形態においては、サービスアダプタ生成部14が、ビジネスプロセス/ビジネスルール実行システムで用いるプロセスの全てに対して1つのサービスアダプタを生成している。すなわち、本実施形態においては、サービスアダプタ生成部14が、プロセス識別情報とプロセス識別情報の示すプロセスの処理の委譲先の実行エンジンとの対応を示す対応テーブルを参照し、各プロセスの処理をそれぞれプロセス識別情報に対応した実行エンジンに委譲するサービスアダプタを生成する。
しかしながら、プロセス毎に1つのサービスアダプタ25を生成するように、サービスアダプタ生成部14を構成してもよい。この場合、サービスアダプタ25は、自身に設定されているプロセス識別情報に対応するプロセスの処理を、自身に設定された委譲先(ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれか)に委譲する処理を行う機能を有する。
In the present embodiment, the service adapter generation unit 14 generates one service adapter for all the processes used in the business process / business rule execution system. That is, in the present embodiment, the service adapter generation unit 14 refers to the correspondence table indicating the correspondence between the process identification information and the execution engine that is the delegation destination of the process indicated by the process identification information. A service adapter that delegates to the execution engine corresponding to the process identification information is generated.
However, the service adapter generation unit 14 may be configured to generate one service adapter 25 for each process. In this case, the service adapter 25 delegates the process of the process corresponding to the process identification information set in itself to the delegation destination set in itself (either the business process execution engine 21 or the business rule execution engine 22). It has a function to perform processing.

また、本実施形態のプログラム生成装置1は、サーバー、パーソナルコンピュータなどのコンピュータを用い、ビジネスプロセス定義解析部11、ビジネスプロセス定義体ファイル変換部12、サーブレット生成部13、サービスアダプタ生成部14、ビジネスプロセスラッパー生成部15、ビジネスルールラッパー生成部16、ビジネスルール定義体ファイル解析部17及びビジネスルール定義体ファイル配備部18の各々を、プログラム上のモジュールとして動作させるように構成しても良い。   The program generation apparatus 1 according to the present embodiment uses a computer such as a server or a personal computer, and includes a business process definition analysis unit 11, a business process definition file conversion unit 12, a servlet generation unit 13, a service adapter generation unit 14, a business Each of the process wrapper generation unit 15, the business rule wrapper generation unit 16, the business rule definition file analysis unit 17, and the business rule definition file deployment unit 18 may be configured to operate as a module on a program.

次に、図7を用いて、本実施形態のプログラム生成装置1によるビジネスプロセス/ビジネスルール実行システムに用いるプログラムを生成する処理を説明する。図7は、本実施形態のプログラム生成装置1によるビジネスプロセス/ビジネスルール実行システムに用いるプログラムを生成する動作を示すシーケンス図である。
ステップS1:
ビジネスプロセス定義解析部11は、入力されるテーブル形式のビジネスプロセス定義体ファイル301から、プログラム生成情報であるプロセス識別情報、プロセス名、項目種別、操作項目情報、操作情報、操作対象、ルール識別情報の各々を、プログラム生成情報として抽出して読み出し、プロセス毎にプロセス識別情報に対応させて、記憶部19に書き込んで記憶させる。
Next, processing for generating a program used in the business process / business rule execution system by the program generation apparatus 1 according to the present embodiment will be described with reference to FIG. FIG. 7 is a sequence diagram showing an operation of generating a program used in the business process / business rule execution system by the program generation apparatus 1 of the present embodiment.
Step S1:
The business process definition analysis unit 11 receives the process identification information, process name, item type, operation item information, operation information, operation target, rule identification information as program generation information from the input table-format business process definition file 301. Are extracted and read out as program generation information, and are written and stored in the storage unit 19 corresponding to the process identification information for each process.

次に、サーブレット生成部13は、記憶部19からプロセス毎に、順次プログラム生成情報を読み出し、このプログラム生成情報におけるサーブレットテンプレート記憶領域から、当該プロセスの項目種別に対応するプログラムのテンプレートを読み出す。
そして、サーブレット生成部13は、読み出したテンプレートに対し、プロセス識別情報を含むプログラム生成情報の各データを追記することにより、サーブレット24のプログラムのソースコードを生成し、このサーブレット24のソースコードが記述されたサーブレットファイル102を生成する。
これにより、サーブレット生成部13は、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22に、ビジネスプロセス定義体ファイル301の各プロセスに記述された処理を実行させるサーブレット24のプログラムを生成し、生成されたサーブレット24のプログラムのソースコードを、サーブレットファイル102としてプロセス識別情報に対応させて記憶部19に書き込んで記憶させる。
Next, the servlet generation unit 13 sequentially reads out the program generation information for each process from the storage unit 19, and reads out the program template corresponding to the item type of the process from the servlet template storage area in the program generation information.
Then, the servlet generation unit 13 generates the program source code of the servlet 24 by adding each data of the program generation information including the process identification information to the read template, and the source code of the servlet 24 is described. Generated servlet file 102 is generated.
As a result, the servlet generation unit 13 generates a program of the servlet 24 that causes the business process execution engine 21 or the business rule execution engine 22 to execute the process described in each process of the business process definition file 301. The source code of the servlet 24 program is written and stored in the storage unit 19 as the servlet file 102 in association with the process identification information.

ステップS2:
ビジネスプロセス定義体ファイル変換部12は、記憶部19に記憶されているプロセス毎に、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセス定義体ファイル変換部12は、ルール識別情報が付加されていないプロセスに対応するプログラム生成情報を順次読み出す。
また、ビジネスプロセス定義体ファイル変換部12は、記憶部19に記憶されているビジネスプロセス定義体ファイルのテンプレートを読み出す。このビジネスプロセス定義体ファイルのテンプレートは、ビジネスプロセス実行エンジン21が解読する形式のビジネスプロセス定義体ファイルを生成する元になる。
プログラム生成情報を読み出すと、ビジネスプロセス定義体ファイル変換部12は、読み出したプログラム生成情報の各データを、ビジネスプロセス定義体ファイルのテンプレートに追記し、ビジネスプロセス実行エンジン21が解読できる形式のビジネスプロセス定義体(XML)ファイル101を生成し、プロセス識別情報に対応させて記憶部19に書き込んで記憶させる。
Step S2:
The business process definition file conversion unit 12 determines whether or not rule identification information is added for each process stored in the storage unit 19.
And the business process definition body file conversion part 12 reads sequentially the program production | generation information corresponding to the process to which rule identification information is not added.
The business process definition file conversion unit 12 reads a template of the business process definition file stored in the storage unit 19. The template of the business process definition file is a source for generating a business process definition file in a format that can be decoded by the business process execution engine 21.
When the program generation information is read, the business process definition file conversion unit 12 adds each piece of data of the read program generation information to the template of the business process definition file, so that the business process execution engine 21 can decode the business process. A definition body (XML) file 101 is generated, and written and stored in the storage unit 19 in association with the process identification information.

ステップS3:
サービスアダプタ生成部14は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、サービスアダプタ生成部14は、ルール識別情報が付加されていないサーブレット24処理の委譲先をビジネスプロセス実行エンジン21とし、ルール識別情報が付加されているサーブレット24の処理の委譲先をビジネスルール実行エンジン22と判定する。
Step S3:
The service adapter generation unit 14 sequentially reads out the program generation information stored in the storage unit 19 for each process, and determines whether or not rule identification information is added.
Then, the service adapter generation unit 14 uses the business process execution engine 21 as the delegation destination of the servlet 24 process to which rule identification information is not added, and executes the business rule as the delegation destination of the process of the servlet 24 to which rule identification information is added. The engine 22 is determined.

これにより、サービスアダプタ生成部14は、プロセス識別情報と、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれか一方を委譲先とする委譲先情報とが対応付けられた対応テーブルが付加され、プロセス識別情報に対応した委譲先情報に記載された実行エンジンに対し、サーブレット24の処理を委譲するサービスアダプタ25を生成し、このサービスアダプタ25のプログラムのソースコードが記述されたサービスアダプタファイル103を出力する。
また、サービスアダプタ生成部14は、生成したサービスアダプタファイル103を、記憶部19に書き込んで記憶させる。
As a result, the service adapter generation unit 14 adds a correspondence table in which process identification information is associated with delegation destination information whose delegation destination is either the business process execution engine 21 or the business rule execution engine 22. A service adapter 25 for delegating the processing of the servlet 24 to the execution engine described in the delegation destination information corresponding to the process identification information is generated, and a service adapter file 103 in which the source code of the program of the service adapter 25 is described is created. Output.
Further, the service adapter generation unit 14 writes the generated service adapter file 103 into the storage unit 19 and stores it.

ステップS4:
ビジネスプロセスラッパー生成部15は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセスラッパー生成部15は、判定の結果、ルール識別情報が付加されていない場合、サーブレット24がデータの入出力に用いるビーンと、ビジネスプロセス実行エンジン22がデータの入出力に用いるインターフェースコンテナServiceSession内に配置する際に、インターフェース及びデータの形式を、サーブレット24とビジネスプロセス実行エンジン22とにおける出力側の形式を入力側の形式に合わせるビジネスプロセスラッパー26を生成する。
ビジネスプロセスラッパー生成部15は、生成したビジネスプロセスラッパー26のビジネスプロセスラッパーファイル104を、記憶部19に書き込んで記憶させる。
Step S4:
The business process wrapper generation unit 15 sequentially reads out the program generation information stored in the storage unit 19 for each process, and determines whether or not rule identification information is added.
When the rule identification information is not added as a result of the determination, the business process wrapper generation unit 15 uses a bean that the servlet 24 uses to input / output data, and an interface container that the business process execution engine 22 uses to input / output data. When arranged in the Service Session, a business process wrapper 26 is generated that matches the format of the interface and data with the format of the output side of the servlet 24 and the business process execution engine 22 to the format of the input side.
The business process wrapper generation unit 15 writes and stores the generated business process wrapper file 104 of the business process wrapper 26 in the storage unit 19.

ステップS5:
ビジネスルールラッパー生成部16は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスルールラッパー生成部16は、判定の結果、ルール識別情報が付加されている場合、サーブレット24がデータの入出力に用いるPaymentStatusBeanを、ビジネスルール実行エンジンがデータの入出力に用いるインターフェースコンテナKSession内に配置する際に、インターフェース及びデータの形式を、サーブレット24とビジネスルール実行エンジン22とにおける出力側の形式を入力側の形式に合わせるビジネスルールラッパー27を生成する。
ビジネスルールラッパー生成部16は、生成したビジネスルールラッパー27のビジネスルールラッパーファイル105を、記憶部19に書き込んで記憶させる。
Step S5:
The business rule wrapper generation unit 16 sequentially reads out the program generation information stored in the storage unit 19 for each process, and determines whether or not rule identification information is added.
When the rule identification information is added as a result of the determination, the business rule wrapper generation unit 16 uses the PaymentStatusBean that the servlet 24 uses for data input / output, and the interface container KSession that the business rule execution engine uses for data input / output. When it is arranged, a business rule wrapper 27 is generated that matches the format of the interface and data with the format of the output side of the servlet 24 and the business rule execution engine 22 to the format of the input side.
The business rule wrapper generation unit 16 writes and stores the generated business rule wrapper file 105 of the business rule wrapper 27 in the storage unit 19.

ステップS6:
ビジネスルール定義体ファイル解析部17は、記憶部19に記憶されている全てのプロセスのプログラム生成情報からルール識別情報を含むプログラム生成情報を検出し、このプログラム生成情報からルール識別情報を抽出する。
そして、ビジネスルール定義体ファイル解析部17は、抽出したルール識別情報と同一のファイル名を有するビジネスルール定義体ファイル302が、記憶部19に記憶されているビジネスルール定義体ファイル302に存在するか否かの判定により、ビジネスプロセス定義体ファイル301のルール識別情報を有するプロセスと、ビジネスルール定義体ファイル302との整合が取れているか否かの整合性チェックを行う。
Step S6:
The business rule definition file analysis unit 17 detects the program generation information including the rule identification information from the program generation information of all processes stored in the storage unit 19, and extracts the rule identification information from the program generation information.
Then, the business rule definition file analysis unit 17 determines whether the business rule definition file 302 having the same file name as the extracted rule identification information exists in the business rule definition file 302 stored in the storage unit 19. By determining whether or not the process having the rule identification information in the business process definition file 301 and the business rule definition file 302 are consistent, a consistency check is performed.

チェック結果において、ビジネスルール定義体ファイル解析部17は、抽出したルール識別情報の全てが、同一ファイル名のビジネスルール定義体ファイル302と対応付けられた場合、ビジネスルール定義体ファイル302とルール識別情報との整合性が取れたと判定し、ビジネスルール定義体ファイル配備部18に対し、整合性が取れたことを示す制御信号を出力する。
一方、ビジネスルール定義体ファイル解析部17は、プログラム生成情報から抽出したルール識別情報の中において、記憶部19に記憶されているビジネスルール定義体ファイル302のファイル名と対応付けられないルール識別情報が存在する場合、ビジネスルール定義体ファイル302とルール識別情報との整合性が取れないと判定する。
そして、ビジネスルール定義体ファイル解析部17は、この整合性が取れないと判定されたプロセスのプロセス識別情報を示すエラーメッセージを出力部からユーザに通知する。
In the check result, when all of the extracted rule identification information is associated with the business rule definition file 302 with the same file name, the business rule definition file analysis unit 17 and the business rule definition file 302 and the rule identification information And a control signal indicating that consistency is achieved is output to the business rule definition file deployment unit 18.
On the other hand, the business rule definition file analysis unit 17 includes rule identification information that is not associated with the file name of the business rule definition file 302 stored in the storage unit 19 in the rule identification information extracted from the program generation information. Is present, it is determined that the business rule definition file 302 and the rule identification information are not consistent.
Then, the business rule definition file analysis unit 17 notifies the user of an error message indicating the process identification information of the process determined to be inconsistent.

次に、ビジネスルール定義体ファイル配備部18は、ビジネスルール定義体ファイル解析部17から、整合性が取れたことを示す制御信号が供給されると、整合性が取れたビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200へ書き込んで記憶させる。   Next, when the business rule definition body file deployment unit 18 is supplied with a control signal indicating that consistency is obtained from the business rule definition body file analysis unit 17, the business rule definition body file 302 having consistency is provided. Is written and stored in the business rule definition file storage unit 200.

次に、図8は、ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加されていないプロセスに対応して生成される各種プログラムを示す概念図である。
この図8に示されているように、ビジネスプロセス定義体ファイル301において、ルール識別情報が付加されていないプロセス識別情報「1」のプロセス(プロセス識別情報「3」のプロセスも同様)に対応するテーブルの記述を、ビジネスプロセス実行エンジン21の解読可能な形式としたビジネスプロセス定義体(XML)ファイル101が生成される。
同様に、ビジネスプロセス定義体(XML)ファイル101と同様に、サーブレットファイル102がサーブレット生成部13により、またビジネスプロセスラッパーファイル104がビジネスプロセスラッパー生成部15により、プロセス毎に生成される。
Next, FIG. 8 is a conceptual diagram showing various programs generated corresponding to a process to which no rule identification information is added, based on the program generation information extracted from the business process definition file 301.
As shown in FIG. 8, in the business process definition file 301, it corresponds to the process of the process identification information “1” to which no rule identification information is added (the process of the process identification information “3” is also the same). A business process definition body (XML) file 101 is generated in which the table description is in a format decipherable by the business process execution engine 21.
Similarly, similarly to the business process definition body (XML) file 101, the servlet file 102 is generated by the servlet generation unit 13 and the business process wrapper file 104 is generated by the business process wrapper generation unit 15 for each process.

また、図9は、ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加されているプロセスに対応して生成される各種プログラムを示す概念図である。
この図9に示されているように、ビジネスプロセス定義体ファイル301において、ルール識別情報が付加されているプロセス識別情報「2」のプロセスに対応するプログラム生成情報から、サーブレットファイル102がサーブレット生成部13により、またビジネスプロセスラッパーファイル104がビジネスプロセスラッパー生成部15により、プロセス毎に生成される。
また、図8及び図9に記載されているサービスアダプタファイル103は、既に説明したように、ルール識別情報が付加されていない、あるいは付加されているに係わらず、記憶部19に記憶されているビジネスプロセス定義体ファイル302の全てに含まれる全プロセスに対して1つ生成される。
FIG. 9 is a conceptual diagram showing various programs generated corresponding to the process to which the rule identification information is added based on the program generation information extracted from the business process definition file 301.
As shown in FIG. 9, in the business process definition file 301, the servlet file 102 is generated from the program generation information corresponding to the process of the process identification information “2” to which the rule identification information is added. 13, and the business process wrapper file 104 is generated for each process by the business process wrapper generation unit 15.
Further, as already described, the service adapter file 103 described in FIGS. 8 and 9 is stored in the storage unit 19 regardless of whether or not rule identification information is added. One is generated for all processes included in all of the business process definition file 302.

次に、図10は、プロセス識別情報「1」、「2」及び「3」のプロセスから構成される業務処理から生成される各種プログラムを示す概念図である。
既に、図8及び図9において説明したように、サーブレットファイル102は、ルール識別情報が付加されているか否かによらず、プロセスに対して1個生成される。このため、図10の業務処理のビジネスプロセス定義体ファイル301のプロセスが3個のため、このビジネスプロセス定義体ファイル301の場合に、サーブレットファイル102はサーブレット生成部13によって3個生成される。
また、ビジネスプロセス定義体(XML)ファイル101は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図10のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「1」及び「3」の2個であり、ビジネスプロセス定義体(XML)ファイル101は、ビジネスプロセス定義体ファイル変換部12により2個生成される。
Next, FIG. 10 is a conceptual diagram showing various programs generated from a business process including processes of process identification information “1”, “2”, and “3”.
As described with reference to FIGS. 8 and 9, one servlet file 102 is generated for a process regardless of whether or not rule identification information is added. For this reason, since there are three processes in the business process definition file 301 for business processing in FIG. 10, three servlet files 102 are generated by the servlet generation unit 13 in the case of this business process definition file 301.
In addition, the business process definition body (XML) file 101 is generated only for a process to which rule identification information is not added. For this reason, in the business process definition file 301 of FIG. 10, there are two processes to which no rule identification information is added, process identification information “1” and “3”, and the business process definition file (XML) file Two 101 are generated by the business process definition file conversion unit 12.

また、ビジネスプロセスラッパーファイル104は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図10のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「1」及び「3」の2個であり、ビジネスプロセスラッパーファイル104は、ビジネスプロセスラッパー生成部15により2個生成される。
また、ビジネスルールラッパーファイル105は、ルール識別情報が付加されているプロセスのみに対して生成される。このため、図10のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されているプロセスは、プロセス識別情報「2」の1個であり、ビジネスルールラッパーファイル105は、ビジネスルールラッパー生成部16により1個生成される。
Further, the business process wrapper file 104 is generated only for a process to which rule identification information is not added. For this reason, in the business process definition file 301 of FIG. 10, there are two processes having no rule identification information, process identification information “1” and “3”, and the business process wrapper file 104 is a business process wrapper file 104. Two are generated by the process wrapper generation unit 15.
The business rule wrapper file 105 is generated only for the process to which the rule identification information is added. For this reason, in the business process definition file 301 of FIG. 10, the process to which the rule identification information is added is one of the process identification information “2”, and the business rule wrapper file 105 is a business rule wrapper generation unit. 16 generates one.

上述した各種プログラムは、複数の業務処理において、同一のプロセス識別情報が付加されているプロセスが重複する場合、同一のプロセス識別情報のプロセスについて1個のプログラムのみが生成される。
すなわち、ビジネスプロセス定義体ファイル変換部12、サーブレット生成部13、サービスアダプタ生成部14、ビジネスプロセスラッパー生成部15及びビジネスルールラッパー生成部16の各々は、新たにプログラムを生成する際、既に生成したプログラムのプロセス識別情報と、これから生成しようとするプログラムのプロセス識別情報とを比較し、一致しない場合にプログラムを生成し、一方、一致した場合にプログラムを生成しない。
また、サービスアダプタファイル103は、全てのプロセスに対して1個、すなわち本実施形態のビジネスプロセス/ビジネスルール実行システムに対して入力される全ての業務処理のビジネスプロセス定義体ファイル301のプロセスに対して1個が、サービスアダプタ生成部14により生成される。
In the above-described various programs, when a process to which the same process identification information is added is duplicated in a plurality of business processes, only one program is generated for the process having the same process identification information.
That is, each of the business process definition file conversion unit 12, the servlet generation unit 13, the service adapter generation unit 14, the business process wrapper generation unit 15, and the business rule wrapper generation unit 16 has already been generated when a new program is generated. The process identification information of the program is compared with the process identification information of the program to be generated. If they do not match, the program is generated. On the other hand, if they match, the program is not generated.
Further, one service adapter file 103 is provided for all processes, that is, for the processes of the business process definition file 301 for all business processes input to the business process / business rule execution system of the present embodiment. 1 is generated by the service adapter generation unit 14.

<ビジネスプロセス/ビジネスルール実行システム>
次に、図1及び図11を用いて、本実施形態によるプログラム生成装置で生成したプログラムを用いた作成ビジネスプロセス/ビジネスルール実行システムの動作を説明する。図11は、ビジネスプロセス定義体ファイルにおけるルール識別情報が付加されていないプロセスを処理する場合における、ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。
<Business process / Business rule execution system>
Next, the operation of the creation business process / business rule execution system using the program generated by the program generation apparatus according to the present embodiment will be described with reference to FIGS. FIG. 11 is a sequence diagram showing the operation of the business process / business rule execution system when processing a process to which no rule identification information is added in the business process definition file.

ステップS111:
ユーザがclientを介してウェブサーバー2にアクセスする。これにより、ウェブサーバー2は、JSP23をインスタンス化して実行させる。
JSP23は、業務処理の種類と、この処理とに用いるデータとを入力する画面をclientへ、図示しないインターネットなどからなる通信回線を介して送信する。
ユーザは、clientの表示装置に表示された業務処理の種類と、この業務処理とに用いるデータを入力欄に入力する。例えば、図6に示すように、ユーザが業務処理として「予約基本を検索する」を、データとして「予約番号」及び「予約申込者名」を入力欄にキーボード等により入力すると、clientは入力欄に入力された「予約基本を検索する」と、データとして「予約番号」及び「予約申込者名」とを含むJSPファイルをウェブサーバー2に対して、通信回線を介して送信する。
Step S111:
A user accesses the web server 2 via a client. As a result, the web server 2 instantiates and executes the JSP 23.
The JSP 23 transmits a screen for inputting the type of business process and data used for this process to the client via a communication line such as the Internet (not shown).
The user inputs the type of business process displayed on the client display device and the data used for this business process in the input field. For example, as shown in FIG. 6, when the user inputs “search for a reservation basic” as business processing and inputs “reservation number” and “reservation applicant name” as data in the input field using a keyboard or the like, And a JSP file including “reservation number” and “reservation applicant name” input as data is transmitted to the web server 2 via a communication line.

ステップS112:
JSP23は、clientから入力されたJSPファイルから、業務処理の「予約基本を検索する」と、データの「予約番号」及び「予約申込者名」とを抽出し、この「予約基本を検索する」という業務処理(業務処理名)に対応するプロセス識別情報の組み合わせを、この業務処理名を検索キーとして、サーバー記憶部3の業務処理名テーブルから検索する。
そして、JSP23は、検索した業務処理名に対応するプロセス識別情報の組み合わせ、すなわち、プロセス識別情報「1」、「2」及び「3」の組み合わせを業務処理名テーブルから読み出す。
Step S112:
The JSP 23 extracts the “reservation basics” of the business process, the “reservation number” and the “reservation applicant name” of the data from the JSP file input from the client, and this “searches the reservation basics”. The combination of process identification information corresponding to the business process (business process name) is searched from the business process name table of the server storage unit 3 using this business process name as a search key.
Then, the JSP 23 reads a combination of process identification information corresponding to the searched business process name, that is, a combination of process identification information “1”, “2”, and “3” from the business process name table.

また、JSP23は、プロセス識別情報「1」、「2」及び「3」の順番で処理を行うため、プロセス識別情報「1」に対応するサーブレットファイル102をサーバー記憶部3から読み出し、データトして「予約番号」及び「予約申込者名」とを変数に代入し、インスタンス化することでサーブレット24Bを実行させる。
同様に、ウェブサーバー2は、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104の各々をサーバー記憶部3から読み出し、インスタンス化することにより、サービスアダプタ25、ビジネスプロセスラッパー26を実行させる。
The JSP 23 performs processing in the order of the process identification information “1”, “2”, and “3”, so the servlet file 102 corresponding to the process identification information “1” is read from the server storage unit 3 By substituting “reservation number” and “reservation applicant name” into variables and instantiating them, the servlet 24B is executed.
Similarly, the web server 2 reads the service adapter file 103 and the business process wrapper file 104 from the server storage unit 3 and instantiates them to execute the service adapter 25 and the business process wrapper 26.

ステップS113:
サーブレット24Bは、データの入出力を行うプログラムのビーンオブジェクトReservationBeanを起動して、自身のプロセスに対応するプロセス識別情報「1」と、データの「予約番号」及び「予約申込者名」とを、この起動したReservationBeanに代入する。
すなわち、サーブレット24Bは、自身のデータ「予約番号」及び「予約申込者名」を検索キーとしたDB210に検索する処理をビジネスプロセス実行エンジン21に対して委譲するためのReservationBeanを起動して、処理の委譲に必要なデータを起動したReservationBeanに書き込む。
Step S113:
The servlet 24B activates the bean object ReservationBean of the program for inputting and outputting data, and the process identification information “1” corresponding to its own process, the “reservation number” and “reservation applicant name” of the data, Substitute in this activated ReservationBean.
In other words, the servlet 24B starts up a ReservationBean for delegating the process of searching the DB 210 using its own data “reservation number” and “reservation applicant name” to the business process execution engine 21, Write the data necessary for delegation to the ReservationBean that started up.

ステップS114:
サービスアダプタ25は、ReservationBeanが起動されると、この起動されたReservationBeanからプロセス識別情報「1」を抽出し、この抽出したプロセス識別情報「1」の示すプロセスの処理の委譲先を示す委譲先情報を、自身に設定されている対応テーブルにおいて検出する。
そして、サービスアダプタ25は、自身に設定されている対応テーブルにおけるプロセス識別情報「1」に対する委譲先がビジネスプロセス実行エンジン21であるため、ReservationBeanに対する処理をビジネスプロセスラッパー26へ委譲する。
Step S114:
When the ReservationBean is activated, the service adapter 25 extracts the process identification information “1” from the activated ReservationBean, and the delegation destination information indicating the delegation destination of the process indicated by the extracted process identification information “1” Are detected in the correspondence table set in itself.
The service adapter 25 delegates the process for the ReservationBean to the business process wrapper 26 because the delegation destination for the process identification information “1” in the correspondence table set in itself is the business process execution engine 21.

すなわち、サービスアダプタ25は、ビジネスプロセスラッパー26を介して、プロセス識別情報「1」のプロセスの処理を、サーブレット24Bからビジネスプロセス実行エンジン21に対して委譲する制御を行う。
ここで、サービスアダプタ25は、ReservationBeanに付加されているプロセス識別情報と同一のプロセス識別情報を有する、すなわちプロセス識別情報「1」が付加されたビジネスプロセスラッパー26を介して、ビジネスプロセス実行エンジン21に対して委譲する制御を行う。
That is, the service adapter 25 performs control to delegate the process of the process identification information “1” from the servlet 24 </ b> B to the business process execution engine 21 via the business process wrapper 26.
Here, the service adapter 25 has the same process identification information as the process identification information added to the ReservationBean, that is, the business process execution engine 21 via the business process wrapper 26 to which the process identification information “1” is added. Control to delegate to.

ステップS115:
次に、ビジネスプロセスラッパー26は、ReservationBeanからプロセス識別情報を抽出する。
そして、ビジネスプロセスラッパー26は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスプロセスラッパー26は、プロセス識別情報が一致している場合、ReservationBeanに記述されている「予約番号」及び「予約申込者名」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスプロセスラッパー26は、変換したReservationBeanを、ビジネスプロセス実行エンジン21のインターフェースコンテナであるServiceSessionに配置する処理を行う。
上述した処理により、ビジネスプロセスラッパー26は、ReservationBeanにおけるサーブレット24Bに対応したインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21のデータ入力におけるインターフェース及びデータの形式に変換する。また、ビジネスプロセスラッパー26は、形式を変換したReservationBeanに対し、識別情報としてサービスIDを付加する。
Step S115:
Next, the business process wrapper 26 extracts process identification information from the ReservationBean.
Then, the business process wrapper 26 determines whether or not the extracted process identification information matches the process identification information set for itself.
Here, when the process identification information matches, the business process wrapper 26 converts the interface and data format of the “reservation number” and “reservation applicant name” data described in the ReservationBean.
Further, the business process wrapper 26 performs a process of placing the converted ReservationBean in a ServiceSession that is an interface container of the business process execution engine 21.
Through the above-described processing, the business process wrapper 26 converts the interface and data format corresponding to the servlet 24 </ b> B in the ReservationBean into the interface and data format in the data input of the business process execution engine 21. The business process wrapper 26 adds a service ID as identification information to the ReservationBean whose format has been converted.

ステップS116:
次に、ビジネスプロセス実行エンジン21は、インターフェースコンテナServiceSessionにおけるReservationBeanから、プロセス識別情報と、「予約番号」及び「予約申込者名」のデータとを読み出す。
また、ビジネスプロセス実行エンジン21は、プロセス識別番号「1」に対応するビジネスプロセス定義体(XML)ファイル101を、サーバー記憶部3から読み出す。
Step S116:
Next, the business process execution engine 21 reads process identification information and data of “reservation number” and “reservation applicant name” from the ReservationBean in the interface container ServiceSession.
In addition, the business process execution engine 21 reads the business process definition body (XML) file 101 corresponding to the process identification number “1” from the server storage unit 3.

そして、ビジネスプロセス実行エンジン21は、この読み出したビジネスプロセス定義体(XML)ファイル101の記述に従って、プロセス識別番号「1」のビジネスプロセスの処理を実行する。
上述したように、プロセス識別番号「1」のプロセスの「予約基本を検索する」処理に用いるデータの「予約番号」及び「予約申込者名」が、ビジネスプロセス実行エンジン21に対し、インターフェースコンテナServiceSessionを介して、サーブレット24Bから供給されている。
Then, the business process execution engine 21 executes the process of the business process having the process identification number “1” in accordance with the description of the read business process definition body (XML) file 101.
As described above, the “reservation number” and “reservation applicant name” of the data used for the “search reservation basic” process of the process with the process identification number “1” are sent to the interface container ServiceSession to the business process execution engine 21. Via Servlet 24B.

そして、ビジネスプロセス実行エンジン21は、ビジネスプロセス定義体(XML)ファイル101の記述に従い、サーブレット24Bから供給されたデータ「予約番号」と「予約申込者名」とを検索キーとして用い、この検索キーに対応するデータの検索をDB210から行うビジネスプロセス処理を実行する。
このとき、ビジネスプロセス実行エンジン21は、例えば、検索キーとして供給された「予約番号」と「予約申込者名」との文字列における一部の文字が一致する「予約予約番号」及び「予約申込者名」の予約のデータを、DB210に記憶されている複数の予約のデータから抽出する。
次に、ビジネスプロセス実行エンジン21は、供給された「予約番号」と「予約申込者名」とを検索キーとして検索した結果、抽出された予約のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」とを、インターフェースコンテナServiceSessionに配置されているReservationBeanから、サービスIDにより書き込み先のReservationBeanを識別し、処理に対応するReservationBeanにおける出力として、ReservationBeanの定義された変数に書き込む。ここで、「予約予約番号」は予約番号を示し、「予約予約日」は予約日を示している。
The business process execution engine 21 uses the data “reservation number” and “reservation applicant name” supplied from the servlet 24B as search keys in accordance with the description of the business process definition body (XML) file 101. A business process process for searching for data corresponding to the data from the DB 210 is executed.
At this time, the business process execution engine 21, for example, “reservation reservation number” and “reservation application” in which some characters in the character strings of “reservation number” and “reservation applicant name” supplied as search keys match. The “person name” reservation data is extracted from the plurality of reservation data stored in the DB 210.
Next, the business process execution engine 21 performs a search using the supplied “reservation number” and “reservation applicant name” as search keys. As a result, “reservation reservation number” and “reservation application” which are extracted reservation data are searched. “Reservation Name”, “Reservation Employee Name”, “Reservation Reservation Date”, and “Reservation Departure Date” from the ReservationBean placed in the interface container ServiceSession, identify the ReservationBean as the write destination, and handle the processing Write to the defined variable of ReservationBean as output in ReservationBean. Here, “reservation reservation number” indicates a reservation number, and “reservation reservation date” indicates a reservation date.

ステップS117:
次に、インターフェースコンテナServiceSessionに配置されたReservationBeanに対し、ビジネスプロセス実行エンジン21がビジネスプロセス処理の結果を書き込むと、ビジネスプロセスラッパー26は、このインターフェースコンテナServiceSessionに配置されたReservationBeanに対するインターフェース及びデータの形式の変換の処理を行う。
ここで、ビジネスプロセスラッパー26は、インターフェースコンテナServiceSessionに配置されたReservationBeanに記述されている、検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスプロセスラッパー26は、ReservationBeanのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21において用いられる形式から、サーブレット24Bで用いられる形式に変換する。
Step S117:
Next, when the business process execution engine 21 writes the result of the business process processing to the ReservationBean arranged in the interface container ServiceSession, the business process wrapper 26 uses the interface and data format for the ReservationBean arranged in the interface container ServiceSession. Perform the conversion process.
Here, the business process wrapper 26 includes “reservation reservation number”, “reservation applicant name”, “reservation employee name”, “reservation employee name”, which are search result data described in the ReservationBean arranged in the interface container ServiceSession. The interface of “reservation reservation date” and “reservation departure date” and the conversion of the data format are performed.
That is, the business process wrapper 26 converts the ReservationBean interface and data format from the format used in the business process execution engine 21 to the format used in the servlet 24B.

ステップS118:
サービスアダプタ25は、ビジネスプロセスラッパー26がインターフェース及びデータの形式を変換したReservationBeanから、プロセス識別情報として付加されているプロセス識別情報「1」を読み出す。
そして、サービスアダプタ25は、読み出したプロセス識別情報「1」と一致するプロセス識別情報を有するサーブレット24Bへ、ReservationBeanを介してビジネスプロセス処理を委譲する。
Step S118:
The service adapter 25 reads the process identification information “1” added as the process identification information from the ReservationBean converted by the business process wrapper 26 in the interface and data format.
Then, the service adapter 25 delegates the business process process to the servlet 24B having the process identification information that matches the read process identification information “1” via the ReservationBean.

ステップS119:
サ−ブレット24Bは、サービスアダプタ25から受けたReservationBeanから検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」を抽出し、この抽出した「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」をJSP23に出力する。
Step S119:
The servlet 24 </ b> B includes “reservation reservation number”, “reservation applicant name”, “reservation employee name”, “reservation reservation date”, and “reservation departure date”, which are search result data from the ReservationBean received from the service adapter 25. ”Is extracted, and the extracted“ reservation reservation number ”,“ reservation applicant name ”,“ reservation employee name ”,“ reservation reservation date ”, and“ reservation departure date ”are output to the JSP 23.

ステップS120:
JSP23は、「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」が供給されると、これらのサーブレット24Bから供給されたデータが表示される画面(ページ)を構成し、構成した画面をclientへ送信する。
そして、clientは、ウェブサーバー2から画面が供給されると、この画面を表示装置に表示し、ユーザに対して表示装置を介して検索結果を通知する。
また、JSP23は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「2」のプロセス「入金ステータスを検索する」のサーブレット24Aを実行する。
Step S120:
When the JSP 23 is supplied with a “reservation reservation number”, “reservation applicant name”, “reservation employee name”, “reservation reservation date”, and “reservation departure date”, the data supplied from these servlets 24B is stored. A screen (page) to be displayed is configured, and the configured screen is transmitted to the client.
Then, when the screen is supplied from the web server 2, the client displays this screen on the display device and notifies the user of the search result via the display device.
Further, the JSP 23 executes a servlet 24A for a process to be processed next in the business process “search for a reservation basic”, that is, a process “search for deposit status” of the process identification information “2”.

次に、図1及び図12を用いて、本実施形態によるプログラム生成装置で生成したプログラムを用いた作成ビジネスプロセス/ビジネスルール実行システムの動作を説明する。図6は、ビジネスプロセス定義体ファイル301のルール識別情報が付加されているプロセスを処理する場合の、作成ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。
ステップS211:
例えば、図11に示すビジネスプロセスの処理の後、図12のビジネスルールの処理の実行として、ビジネスプロセス定義体ファイル301の記述において、プロセス識別番号「1」の次にプロセス識別番号「2」の処理が示されている。
このため、JSP23は業務処理の組み合わせの順番において、サーバー記憶部3からプロセス識別番号「2」に対応するサーブレットファイル102を読み出し、インスタンス化してサーブレット24Aを実行させる。
Next, the operation of the created business process / business rule execution system using the program generated by the program generation apparatus according to the present embodiment will be described using FIG. 1 and FIG. FIG. 6 is a sequence diagram showing the operation of the created business process / business rule execution system when processing a process to which the rule identification information of the business process definition file 301 is added.
Step S211:
For example, after the processing of the business process shown in FIG. 11, as the execution of the business rule processing of FIG. 12, in the description of the business process definition file 301, the process identification number “2” is next to the process identification number “1”. Processing is shown.
Therefore, the JSP 23 reads the servlet file 102 corresponding to the process identification number “2” from the server storage unit 3 in the order of the combination of business processes, instantiates it, and executes the servlet 24A.

そして、サーブレット24Aは、「入金ステータスを検索する」というビジネスルール処理を行うため、データとして「予約販売額合計」と「予約入金額合計」とを入力する画面を生成する指示をJSP23に出力する。
これにより、JSP23は、「予約販売額合計」と「予約入金額合計」とを入力する画面を生成し、clientに対して出力する。
clientは、ウェブサーバー2から供給される画面を、表示装置に表示する。
そして、ユーザが表示された「予約販売額合計」と「予約入金額合計」との入力欄に、予約に対応した金額を入力する。
これにより、clientは、データとして「予約販売額合計」と「予約入金額合計」との数値を含むJSPファイルをウェブサーバー2に対して送信する。
Then, the servlet 24A outputs an instruction to the JSP 23 to generate a screen for inputting “total amount of reserved sales” and “total amount of reserved deposit” as a business rule process of “search for deposit status”. .
As a result, the JSP 23 generates a screen for inputting “reserved sales amount” and “reserved deposit amount” and outputs the screen to the client.
The client displays the screen supplied from the web server 2 on the display device.
Then, the user inputs the amount corresponding to the reservation in the input fields of “total reservation sales amount” and “total reservation deposit amount” displayed.
As a result, the client transmits a JSP file including numerical values of “reserved sales amount” and “reserved deposit amount” as data to the web server 2.

ステップS212:
JSP23は、clientから入力されたJSPファイルから、「予約販売額合計」及び「予約入金額合計」とを抽出し、抽出した「予約販売額合計」及び「予約入金額合計」とをプロセス識別情報「2」のサーブレット24Bに対して出力する。
また、ウェブサーバー2は、プロセス識別情報「2」に対応するビジネスルールラッパーファイル105をサーバー記憶部3から読み出し、この読み出したファイルをインスタンス化することにより、ビジネスルールラッパー27を実行させる。サービスアダプタ25については、既にプロセス識別情報「1」のサーブレット24Bが起動された際に起動されている。
Step S212:
The JSP 23 extracts “reserved sales amount” and “reserved deposit amount” from the JSP file input from the client, and extracts the extracted “reserved sale amount” and “reserved deposit amount” as process identification information. Output to “2” servlet 24B.
Further, the web server 2 reads the business rule wrapper file 105 corresponding to the process identification information “2” from the server storage unit 3 and instantiates the read file to execute the business rule wrapper 27. The service adapter 25 is already activated when the servlet 24B having the process identification information “1” is activated.

ステップS213:
サーブレット24Aは、データの入出力を行うプログラムのビーンオブジェクトPaymentStatusBeanを起動して、自身のプロセスに対応するプロセス識別情報「2」と、データの「予約販売額合計」及び「予約入金額合計」と、ルール識別情報とを、この起動したPaymentStatusBeanに代入する。
すなわち、サーブレット24Aは、自身のデータ「予約販売額合計」及び「予約入金額合計」を用いたビジネスルールの処理をビジネスルール実行エンジン22に対して委譲するためのPaymentStatusBeanを起動して、処理を委譲に必要なデータである「予約販売額合計」及び「予約入金額合計」を、PaymentStatusBeanの入力の変数に代入する。
Step S213:
The servlet 24A activates the bean object PaymentStatusBean of the program for inputting and outputting data, and the process identification information “2” corresponding to its own process, the “reserved sales amount” and the “reserved deposit amount” of the data, The rule identification information is substituted into the activated PaymentStatusBean.
That is, the servlet 24A activates the PaymentStatusBean for delegating the business rule processing using its own data “total reserved sales amount” and “total reserved deposit amount” to the business rule execution engine 22, and performs the processing. “Total reservation sales amount” and “total reservation deposit amount”, which are data necessary for delegation, are substituted into input variables of PaymentStatusBean.

ステップS214:
サービスアダプタ25は、PaymentStatusBeanが起動されると、この起動されたPaymentStatusBeanからプロセス識別情報「2」を抽出し、この抽出したプロセス識別情報「2」の示すプロセスの処理の委譲先を示す委譲先情報を、自身に設定されている対応テーブルから検出する。
そして、サービスアダプタ25は、自身に設定されている対応テーブルにおけるプロセス識別情報「2」に対する委譲先がビジネスルール実行エンジン22であるため、PaymentStatusBeanに対する処理をビジネスルールラッパー27へ委譲する。
すなわち、サービスアダプタ25は、ビジネスルールラッパー27を介して、プロセス識別情報「2」のプロセスの処理を、サーブレット24Aからビジネスルール実行エンジン22に対して委譲する制御を行う。
ここで、サービスアダプタ25は、ReservationBeanに付加されているプロセス識別情報と同一のプロセス識別情報を有する、すなわちプロセス識別情報「2」が付加されたビジネスルールラッパー27を介して、ビジネスルール実行エンジン22に対して委譲する制御を行う。
Step S214:
When the Payment Status Bean is activated, the service adapter 25 extracts the process identification information “2” from the activated Payment Status Bean, and the delegation destination information indicating the delegation destination of the process indicated by the extracted process identification information “2”. Is detected from the correspondence table set in itself.
Then, since the delegation destination for the process identification information “2” in the correspondence table set in the service adapter 25 is the business rule execution engine 22, the service adapter 25 delegates the process for the PaymentStatusBean to the business rule wrapper 27.
That is, the service adapter 25 performs control to delegate the process of the process identification information “2” from the servlet 24 </ b> A to the business rule execution engine 22 via the business rule wrapper 27.
Here, the service adapter 25 has the same process identification information as the process identification information added to the ReservationBean, that is, the business rule execution engine 22 via the business rule wrapper 27 to which the process identification information “2” is added. Control to delegate to.

ステップS215:
次に、ビジネスルールラッパー27は、PaymentStatusBeanからプロセス識別情報を抽出する。
そして、ビジネスルールラッパー27は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスルールラッパー27は、プロセス識別情報が一致している場合、PaymentStatusBeanに記述されている「予約販売額合計」及び「予約入金額合計」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスルールラッパー27は、変換したReservationBeanを、ビジネスルール実行エンジン22のインターフェースコンテナであるKSessionに配置する処理を行う。
上述した処理により、ビジネスルールラッパー27は、インターフェースコンテナに配置されたPaymentStatusBeanにおけるサーブレット24Aに対応したインターフェース及びデータの形式を、ビジネスルール実行エンジン22のデータの入出力におけるインターフェース及びデータの形式に変換する。また、ビジネスルールラッパー27は、形式を変換したReservationBeanに対し、識別情報としてルール処理IDを付加する。
Step S215:
Next, the business rule wrapper 27 extracts process identification information from the PaymentStatusBean.
Then, the business rule wrapper 27 determines whether or not the extracted process identification information matches the process identification information set for itself.
Here, when the process identification information matches, the business rule wrapper 27 converts the interface and data format in the data of “reserved sales amount total” and “reserved payment amount total” described in the Payment StatusBean.
Further, the business rule wrapper 27 performs a process of placing the converted ReservationBean in the KSession that is an interface container of the business rule execution engine 22.
Through the processing described above, the business rule wrapper 27 converts the interface and data format corresponding to the servlet 24A in the Payment StatusBean arranged in the interface container into the interface and data format in the data input / output of the business rule execution engine 22. . The business rule wrapper 27 adds a rule processing ID as identification information to the ReservationBean whose format has been converted.

ステップS216:
次に、ビジネスルール実行エンジン22は、インターフェースコンテナKSessionにおけるPaymentStatusBeanに記述されている、ルール識別情報と、「予約販売額合計」及び「予約入金額合計」のデータとを読み出す。
また、ビジネスルール実行エンジン22は、ルール識別情報に対応するビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200から読み出す。
そして、ビジネスルール実行エンジン22は、この読み出したビジネスルール定義体ファイル302の記述にしたがって、プロセス識別番号「2」のビジネスルールの処理を実行する。
上述したように、プロセス識別番号「2」のプロセスの「入金ステータスを検索する」処理に用いるデータの「予約販売額合計」及び「予約入金額合計」とが、ビジネスルール実行エンジン22に対し、インターフェースコンテナKSessionを介して、サーブレット24Aから供給されている。
Step S216:
Next, the business rule execution engine 22 reads the rule identification information described in the Payment StatusBean in the interface container KSession, and the data of “total reservation sales amount” and “total reservation payment amount”.
Further, the business rule execution engine 22 reads the business rule definition body file 302 corresponding to the rule identification information from the business rule definition body file storage unit 200.
Then, the business rule execution engine 22 executes the process of the business rule having the process identification number “2” according to the description of the read business rule definition body file 302.
As described above, the “reserved sales amount total” and “reserved payment amount total” of the data used for the “search for payment status” process of the process with the process identification number “2” are sent to the business rule execution engine 22. Supplied from the servlet 24A via the interface container KSession.

次に、ビジネスルール実行エンジン22は、インターフェースコンテナのKSessionに配置されたPaymentsStatusBeanの記述から、付加されたルール識別情報を抽出する。
そして、ビジネスルール実行エンジン22は、抽出したルール識別情報に対応するビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200から検索して読み出す。
次に、ビジネスルール実行エンジン22は、ビジネスルール定義体ファイル記憶部200から読み出したビジネスルール定義体ファイル302の記述に従い、サーブレット24Aから委譲されたデータ「予約販売額合計」及び「予約入金額合計」を用い、ビジネスルール処理を実行する。
Next, the business rule execution engine 22 extracts the added rule identification information from the description of PaymentsStatusBean arranged in the KSession of the interface container.
Then, the business rule execution engine 22 searches and reads the business rule definition body file 302 corresponding to the extracted rule identification information from the business rule definition body file storage unit 200.
Next, in accordance with the description of the business rule definition file 302 read out from the business rule definition file storage unit 200, the business rule execution engine 22 performs the data “total reserved sales amount” and “total reserved deposit amount” delegated from the servlet 24A. ”Is used to execute business rule processing.

このとき、ビジネスルール実行エンジン22は、ビジネスルール定義体ファイル302に記述された条件式により、供給された「予約販売額合計」及び「予約入金額合計」の比較判定により、入金ステータスが「未入金」、「一部入金」、「入金済」、「入金超過」のいずれであるかの判定処理を行う。
そして、ビジネスルール実行エンジン22は、判定処理の結果として選択された入金ステータスを、インターフェースコンテナKSessionに配置されている、ビジネスルール処理を行ったビジネスルール定義体ファイル302のファイル名と同一のルール識別情報を有するPaymentsStatusBeanの出力する変数に書き込む。
At this time, the business rule execution engine 22 compares the supplied “reserved sales amount” and the “reserved deposit amount” according to the conditional expression described in the business rule definition file 302, so that the receipt status is “not yet received”. A process of determining whether the deposit is “partial deposit”, “paid”, or “excess deposit” is performed.
Then, the business rule execution engine 22 uses the same rule identification as the file name of the business rule definition file 302 that has been placed in the interface container KSession and has received the payment status selected as a result of the determination process. Write to variables output by PaymentsStatusBean with information.

ステップS217:
次に、インターフェースコンテナKSessionに配置されたPaymentsBeanに対し、ビジネスルール実行エンジン22がビジネスルール処理の結果を書き込むと、ビジネスルールラッパー27は、このインターフェースコンテナKSessionに配置されたPaymentsBeanのなかから、ルール処理IDにより選択したPaymentsBeanに対してインターフェース及びデータの形式に変換する処理を行う。
ここで、ビジネスルールラッパー27は、インターフェースコンテナKSessionに配置されたPaymentsBeanに記述されている、「予約入金ステータス」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスルールラッパー27は、PaymentsBeanのインターフェース及びデータの形式を、ビジネスルール実行エンジン22において用いられる形式から、サーブレット24Aで用いられる形式に変換する。
Step S217:
Next, when the business rule execution engine 22 writes the result of the business rule processing to the PaymentsBean arranged in the interface container KSession, the business rule wrapper 27 reads the rule processing from the PaymentsBean arranged in the interface container KSession. Processing to convert the PaymentsBean selected by the ID into an interface and data format is performed.
Here, the business rule wrapper 27 converts the “reservation payment status” interface and data format described in the PaymentsBean arranged in the interface container KSession.
That is, the business rule wrapper 27 converts the PaymentsBean interface and data format from the format used in the business rule execution engine 22 to the format used in the servlet 24A.

ステップS218:
サービスアダプタ25は、ビジネスルールラッパー27が予約入金ステータスが書き込まれたPaymentsBeanから、プロセス識別情報として付加されているプロセス識別情報「2」を読み出す。
そして、サービスアダプタ25は、読み出したプロセス識別情報「2」と一致するプロセス識別情報を有するサーブレット24Aへ、PaymentsBeanを介してビジネスプロセス処理を委譲する。
Step S218:
The service adapter 25 reads the process identification information “2” added as the process identification information from the PaymentsBean in which the reservation payment status is written by the business rule wrapper 27.
Then, the service adapter 25 delegates the business process process to the servlet 24A having the process identification information that matches the read process identification information “2” via the PaymentsBean.

ステップS219:
サーブレット24Aは、サービスアダプタ25から処理を委譲されたPaymentsBeanより、判定処理の結果である入金ステータスのデータを抽出し、この抽出した入金ステータスのデータをJSP23に出力する。
Step S219:
The servlet 24A extracts the payment status data, which is the result of the determination process, from the PaymentsBean delegated by the service adapter 25, and outputs the extracted payment status data to the JSP 23.

ステップS220:
JSP23は、入金ステータスのデータが供給されると、このサーブレット24Aから供給された入金ステータスのデータが表示される画面(ページ)を構成し、構成した画面をclientへ送信する。
そして、clientは、ウェブサーバー2から画面が供給されると、この画面を表示装置に表示し、ユーザに入金処理の検索結果を表示する。
また、JSP23は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「3」のプロセス「予約基本を選択する」のサーブレット24Bを実行する。
Step S220:
When the deposit status data is supplied, the JSP 23 configures a screen (page) on which the deposit status data supplied from the servlet 24A is displayed, and transmits the configured screen to the client.
Then, when the screen is supplied from the web server 2, the client displays this screen on the display device and displays the search result of the deposit process to the user.
Further, the JSP 23 executes a servlet 24B of a process “select reservation basic” of the process identification information “3”, which is processed next in the business process “search for reservation basic”.

上述したように、本実施形態のビジネスプロセス/ビジネスルール実行システムは、ルール識別情報の有無に対応して、プロセス識別情報と、プロセスの委譲先を示すエンジン識別情報との対応を示す対応テーブルにより、ビジネスプロセス実行エンジン21とビジネスルール実行エンジン22とのいずれかに、処理を振り分けるサービスアダプタ25を有している。
このため、本実施形態のビジネスプロセス/ビジネスルール実行システムによれば、従来のように、ビジネスプロセス実行エンジンを介してビジネスルール実行エンジンを呼び出し、この呼出処理などの負荷によるビジネスプロセス実行エンジンにおけるプロセス処理の効率を低下させることを防止できる。
As described above, the business process / business rule execution system according to the present embodiment uses the correspondence table indicating the correspondence between the process identification information and the engine identification information indicating the delegation destination of the process in correspondence with the presence or absence of the rule identification information. The service adapter 25 that distributes the process is provided to either the business process execution engine 21 or the business rule execution engine 22.
For this reason, according to the business process / business rule execution system of the present embodiment, the business rule execution engine is called through the business process execution engine as in the prior art, and the process in the business process execution engine due to a load such as this call processing. Decreasing the processing efficiency can be prevented.

また、上述した実施形態においては、サービスアダプタ25は、ビジネスプロセス/ビジネスルール実行システムで動作する全てのサーブレット24に対して1個が生成され、対応テーブルに記載されたプロセス識別情報と、プロセスの処理の委譲先を示すエンジン識別情報とにより、サーブレット24の生成するビーンを、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれかに振り分けている。   In the embodiment described above, one service adapter 25 is generated for all servlets 24 operating in the business process / business rule execution system, and the process identification information described in the correspondence table and the process The bean generated by the servlet 24 is distributed to either the business process execution engine 21 or the business rule execution engine 22 based on the engine identification information indicating the process transfer destination.

しかしながら、このサービスアダプタ25をプロセス毎に生成する構成としても良い。
すなわち、プログラム生成装置1は、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれかに、プロセスの処理を委譲するかが設定されたサービスアダプタ25のプログラムファイルとして、サービスアダプタファイル103をプロセス毎に生成する。
すなわち、プログラム生成装置1は、ルール識別情報が付加されていないプロセスに対応し、入力されたビーンをビジネスプロセス実行エンジン21へ出力するサービスアダプタ25と、ルール識別情報が付加されているプロセスに対応し、入力されたビーンをビジネスルール実行エンジン22へ出力するサービスアダプタ25との各々のプログムファイルであるサービスアダプタファイル103を、ルール識別情報が付加されているか否かでプロセス毎に生成する。
そして、プログラム生成装置1は、このサービスアダプタファイル103と、このプロセスのプロセス識別情報とを対応づけ、サーバー記憶部3へコピーする。
However, the service adapter 25 may be generated for each process.
That is, the program generation device 1 sets the service adapter file 103 for each process as a program file of the service adapter 25 in which whether to delegate the process of the process to either the business process execution engine 21 or the business rule execution engine 22 is set. To generate.
That is, the program generation device 1 corresponds to a process to which rule identification information is not added, and corresponds to a service adapter 25 that outputs an input bean to the business process execution engine 21 and a process to which rule identification information is added. Then, the service adapter file 103, which is each program file with the service adapter 25 that outputs the input bean to the business rule execution engine 22, is generated for each process depending on whether or not rule identification information is added.
Then, the program generation device 1 associates the service adapter file 103 with the process identification information of this process and copies it to the server storage unit 3.

また、ビジネスプロセス/ビジネスルール実行システムを動作させる際、ウェブサーバー2は、サーブレット24が起動されると、このサーブレット24の処理するプロセスを特定するプロセス識別情報に対応し、サービスアダプタファイル103をサーバー記憶部3から読み出し、インスタンス化してサービスアダプタ25を起動させる。
サーブレット24は、プロセス識別情報が同一のサービスアダプタ25に対して、ビーン(ReservationBeanあるいはPaymentsBean)を生成して、処理の委譲を行う。
サービスアダプタ25は、自身のプロセス識別情報と同一のビーンを、予め設定された委譲先の実行エンジンのインターフェースコンテナ(ServiceSessionまたはKSession)に対し、この実行エンジンに対応するラッパー(ビジネスプロセスラッパー26またはビジネスルールラッパー27)を介して配置する。
Further, when operating the business process / business rule execution system, when the servlet 24 is activated, the web server 2 corresponds to the process identification information for specifying the process to be processed by the servlet 24, and the service adapter file 103 is stored in the server. The service adapter 25 is activated by reading from the storage unit 3 and instantiating it.
The servlet 24 generates a bean (ReservationBean or PaymentsBean) for the service adapter 25 having the same process identification information, and delegates the processing.
The service adapter 25 sends a bean identical to its own process identification information to a wrapper (business process wrapper 26 or business) corresponding to the execution engine interface container (ServiceSession or KSession) set in advance as a delegation destination. Place via rule wrapper 27).

すなわち、サービスアダプタ25は、入力されるビーンがReservationBeanの場合、すなわちルール識別情報が付加されていないプロセスに対応したサーブレット24Bにより生成されたビーンの場合、ビジネスプロセス実行エンジン21に対応するビジネスプロセスラッパー26へ、入力されたReservationBeanに対する処理を委譲する。
一方、サービスアダプタ25は、入力されるビーンがPaymentsBeanの場合、すなわちルール識別情報が付加されているプロセスに対応して生成されたサーブレット24Aから出力されたものであるならば、ビジネスルール実行エンジン22に対応するビジネスルールラッパー27へ、入力されたPaymentsBeanに対する処理を委譲する。
上述した構成により、本実施形態によれば、プロセスの変更により、サービスアダプタ25のプログラムを変更する場合、変更したプロセスに対応するサービスアダプタ25のプログラムを変更するのみで良いため、サービスアダプタ25の管理が簡易化される。
That is, if the input bean is ReservationBean, that is, if it is a bean generated by the servlet 24B corresponding to a process to which no rule identification information is added, the service adapter 25 corresponds to the business process wrapper corresponding to the business process execution engine 21. To 26, the process for the input ReservationBean is delegated.
On the other hand, if the input bean is PaymentsBean, that is, the service adapter 25 is output from the servlet 24A generated corresponding to the process to which the rule identification information is added, the business rule execution engine 22 The process for the input PaymentsBean is delegated to the business rule wrapper 27 corresponding to.
With the configuration described above, according to the present embodiment, when the program of the service adapter 25 is changed by changing the process, it is only necessary to change the program of the service adapter 25 corresponding to the changed process. Management is simplified.

また、本実施形態においては、異なるサーブレット24間において、すなわち複数の画面間にわたり、情報を引き継ぎたい場合、セッションスコープに引き継ぎたい情報を格納して、格納した画面と異なる他の画面にてセッションスコープから引き継ぎたい情報を読み出して利用することができる。
図13は、複数画面において同一の情報を引き継ぎたい情報がある場合におけるビジネスプロセス定義体ファイル301のテーブルの記述例を示す図である。
In this embodiment, when information is to be taken over between different servlets 24, that is, between a plurality of screens, the information to be taken over is stored in the session scope, and the session scope is set on another screen different from the stored screen. It is possible to read and use information that is desired to be inherited from.
FIG. 13 is a diagram illustrating a description example of a table of the business process definition file 301 when there is information that is desired to inherit the same information on a plurality of screens.

例えば、ビジネスプロセス定義体ファイル301に記述された、ビジネスプロセス定義体のテーブルに、補足として[SS]SETと文字列が記述されている場合、サーブレット24は、テーブルにおけるこの行にある操作対象パスの欄に記載されている「Reservation:1」の示すデータ、すなわち「Reservation:1」と設定されているエンティティ名「Reservation:1/reservationReservationStored」と、「Reservation:1/reservationReservationReferenceld」との変数の値をセッションスコープに格納することを示している。
また、補足欄に設定されている「[FW]STA00040_001」の文字列は、現在実行しているプロセスを実行した後に、次に実行するプロセスの識別情報を示している。したがって、図13の上部のテーブルにおいて、番号「2」のプロセス「予約基本を選択する」の処理の次に、「STA00040_001」である下部のテーブルにおけるプロセス「予約基本を検索する」が実行されることになる。このプロセス「予約基本を検索する」において、セッションスコープに格納された変数の値が用いられる。
また、[SS]DELの文字列は、現在のより前の他のサーブレット24にて格納され、現在のセッションスコープに格納されている引き継ぎたい情報を削除することを示している。
For example, when [SS] SET and a character string are described as a supplement to the business process definition table described in the business process definition file 301, the servlet 24 operates on the operation target path on this line in the table. The data indicated by “Reservation: 1” described in the column of “Reservation: 1”, that is, the entity name “Reservation: 1 / reservationReservationStored” and the value of the variable “Reservation: 1 / reservationReservationReference” Is stored in the session scope.
Further, the character string “[FW] STA00004_001” set in the supplementary column indicates the identification information of the process to be executed next after the currently executing process is executed. Therefore, in the upper table of FIG. 13, the process “search reservation basic” in the lower table, which is “STA00040_001”, is executed after the process “select reservation basic” of the number “2”. It will be. In this process “search for reservation basic”, the value of the variable stored in the session scope is used.
The character string “[SS] DEL” is stored in another servlet 24 before the current one, and indicates that information to be taken over is stored in the current session scope.

この補足に、セッションスコープへのデータの格納を示す文字列がセッションスコープへのデータの設定を示す[SS]SETである場合、サーブレット24は、この文字列[SS]SETが設定されている行にある操作対象パスの欄に記載されている操作対象パスに含まれるエンティティ名の名称のデータを、セッションスコープに対して格納する機能を含むように、プログラム生成装置1により生成される。
また、セッションスコープへのデータの格納を示す文字列がセッションスコープに格納されたデータの削除を示す[SS]DELである場合、サーブレット24は、現在より以前の他のサーブレット24にてセッションスコープに格納された操作対象パスに含まれるエンティティ名の名称の情報を削除する機能を含むように、プログラム生成装置1により生成される。
In addition to this, when the character string indicating the storage of data in the session scope is [SS] SET indicating the setting of data in the session scope, the servlet 24 sets the line in which the character string [SS] SET is set. Is generated by the program generation device 1 so as to include a function of storing the name data of the entity name included in the operation target path described in the column of the operation target path in the session scope.
When the character string indicating the storage of data in the session scope is [SS] DEL indicating the deletion of the data stored in the session scope, the servlet 24 enters the session scope in another servlet 24 before the current time. It is generated by the program generation device 1 so as to include a function of deleting the information of the name of the entity name included in the stored operation target path.

上述した構成により、本実施形態によれば、サーブレットが連続しておらず、リクエストスコープに引き継ぎたい情報を格納することができない場合、またクッキーが使えない設定となっている場合などに、既に述べた一般的なセッション管理機能(PHP:Hypertext Preprocessor4.0)を用い、セッション変数としてセッションIDを付加することで、不連続に実行されるサーブレット間のデータの引き継ぎを容易に行うことができる。   With the configuration described above, according to the present embodiment, when the servlet is not continuous and the information to be taken over in the request scope cannot be stored, or when the setting is such that the cookie cannot be used, it has already been described. Further, by using a general session management function (PHP: Hypertext Preprocessor 4.0) and adding a session ID as a session variable, it is possible to easily take over data between servlets that are executed discontinuously.

また、図1におけるウェブサーバー、また図5におけるプログラム生成装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりプログラムの生成処理、ビジネスプロセス及びビジネスルールの処理の管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。   Further, the program for realizing the functions of the web server in FIG. 1 and the program generation device 1 in FIG. 5 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system. The program generation process, the business process, and the business rule process may be managed by executing the program. Here, the “computer system” includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design and the like within a scope not departing from the gist of the present invention.

1…プログラム生成装置
2…ウェブサーバー
3…サーバー記憶部
11…ビジネスプロセス定義解析部
12…ビジネスプロセス定義体ファイル変換部
13…サーブレット生成部
14…サービスアダプタ生成部
15…ビジネスプロセスラッパー生成部
16…ビジネスルールラッパー生成部
17…ビジネスルール定義体ファイル解析部
18…ビジネスルール定義体ファイル配備部
19…記憶部
21…ビジネスプロセス実行エンジン
22…ビジネスルール実行エンジン
23…JSP
24A,24B…サーブレット
25…サービスアダプタ
26…ビジネスプロセスラッパー
27…ビジネスルールラッパー
101、301…ビジネスプロセス定義体ファイル
102…サーブレットファイル
103…サービスアダプタファイル
104…ビジネスプロセスラッパーファイル
105…ビジネスルールラッパーファイル
200…ビジネスルール定義体ファイル記憶部
302…ビジネスルール定義体ファイル
DESCRIPTION OF SYMBOLS 1 ... Program generation apparatus 2 ... Web server 3 ... Server memory | storage part 11 ... Business process definition analysis part 12 ... Business process definition body file conversion part 13 ... Servlet generation part 14 ... Service adapter generation part 15 ... Business process wrapper generation part 16 ... Business rule wrapper generation unit 17 ... Business rule definition file analysis unit 18 ... Business rule definition file deployment unit 19 ... Storage unit 21 ... Business process execution engine 22 ... Business rule execution engine 23 ... JSP
24A, 24B ... Servlet 25 ... Service adapter 26 ... Business process wrapper 27 ... Business rule wrapper 101, 301 ... Business process definition file 102 ... Servlet file 103 ... Service adapter file 104 ... Business process wrapper file 105 ... Business rule wrapper file 200 ... business rule definition file storage unit 302 ... business rule definition file

Claims (8)

ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であり、
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析部と、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成部と、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成部と
を備えることを特徴とするプログラム生成装置。
Business process handling business process execution engine procedure performs processing according to the business process description information is shown, and a running system to have a business rule execution engine for processing according to the business rule description information procedure of business rule processing is shown A program generation device that generates a program to be implemented in a business process / business rule execution system that executes a web service process corresponding to a business process definition file that defines one or a plurality of business processes or business rule processes ,
From the business process definition file, process identification information for identifying the process, item type indicating the processing type of the process, item information to be processed in the process, and the process processed by the business rule execution engine A business process definition body analysis unit that reads program generation information including rule identification information indicating
A servlet generating unit that generates a servlet identified by the process identification information, which is generated for each process, and executes a process in the web service based on the program generation information and a description according to a preset format; ,
A service adapter that is a program for setting a delegation destination of the process corresponding to the process identification information described in the servlet to either the business process execution engine or the business rule execution engine depending on the presence or absence of the rule identification information And a service adapter generation unit for generating the program generation device.
前記サービスアダプタ生成部が、前記サービスアダプタ内部に、前記ビジネスプロセス定義体における前記プロセス識別情報の各々と、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報とが対応付けられた対応テーブルを生成し、
当該サービスアダプタが当該対応テーブルにより、前記サーブレットから前記プロセスの処理を委譲する委譲先を、当該プロセスのプロセス識別情報により、当該対応テーブルを参照して設定することを特徴とする請求項1に記載のプログラム生成装置。
Correspondence table in which the service adapter generation unit associates each of the process identification information in the business process definition body with information indicating one of a business process execution engine and a business rule execution engine in the service adapter. Produces
2. The service adapter sets a delegation destination to which the process of the process is delegated from the servlet by using the correspondence table with reference to the correspondence table by using process identification information of the process. Program generator.
前記サービスアダプタ生成部が、前記ビジネスプロセス定義体ファイルにおける前記プロセス毎に前記サービスアダプタを生成し、
当該サービスアダプタが、自身と対応する前記プロセスの前記プロセス識別情報と、当該プロセス識別情報に対応するプロセスを委譲する委譲先であるビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれかを示す情報と有し、
前記サービスアダプタが、自身のプロセス識別情報と対応する前記プロセスを、前記委譲先に委譲することを特徴とする請求項1に記載のプログラム生成装置。
The service adapter generation unit generates the service adapter for each process in the business process definition file.
The service adapter includes the process identification information of the process corresponding to itself, information indicating one of a business process execution engine and a business rule execution engine to which the process corresponding to the process identification information is delegated. And
The program generation apparatus according to claim 1, wherein the service adapter delegates the process corresponding to its process identification information to the delegation destination.
前記プロセスの委譲先が前記ビジネスプロセス実行エンジンである場合、前記サーブレットが生成する前記ビジネスプロセス実行エンジンとデータの授受を行う第1ビーンのインターフェース及びデータの形式を、当該ビジネスプロセス実行エンジンの処理する形式に変換するビジネスプロセスラッパーを生成するビジネスプロセスラッパー生成部と
前記プロセスの委譲先が前記ビジネスルール実行エンジンである場合、前記サーブレットが生成する前記ビジネスルール実行エンジンとデータの授受を行う第2ビーンのインターフェース及びデータの形式を、当該ビジネスルール実行エンジンの処理する形式に変換するビジネスルールラッパーを生成するビジネスルールラッパー生成部と
をさらに備えることを特徴とする請求項1から請求項3のいずれか一項に記載のプログラム生成装置。
When the process delegation destination is the business process execution engine, the business process execution engine processes the interface and data format of the first bean that exchanges data with the business process execution engine generated by the servlet. A business process wrapper generation unit that generates a business process wrapper to be converted into a format, and a second bean that exchanges data with the business rule execution engine generated by the servlet when the delegation destination of the process is the business rule execution engine The business rule wrapper generation part which produces | generates the business rule wrapper which converts the interface and data format of this into the format which the said business rule execution engine processes is further provided. Program generating apparatus according to any one of 3.
前記ルール識別情報が記述されていないプロセス毎に、当該プロセスの前記プロセス識別情報に対応付けられて生成され、前記ビジネスプロセス定義体ファイルにおける前記プロセスの記述を、前記ビジネスプロセス実行エンジンが解読可能なフォーマットに変換するビジネスプロセス定義体変換部を
さらに備えることを特徴とする請求項1から請求項4のいずれか一項に記載のプログラム生成装置。
Each process for which the rule identification information is not described is generated in association with the process identification information of the process, and the description of the process in the business process definition file can be decoded by the business process execution engine The program generation device according to any one of claims 1 to 4, further comprising a business process definition body conversion unit for converting into a format.
前記ビジネスプロセス定義体ファイルから抽出される前記ルール識別情報に対して、当該ルール識別情報に対応する、前記ビジネスルール実行エンジンが実行する処理が記述されたビジネスルール定義体ファイルが存在するか否かにより、前記ビジネスプロセス定義体ファイルと前記ビジネスルール定義体ファイルとの整合性のチェックを行うビジネスルール定義体ファイル解析部を
さらに有することを特徴とする請求項1から請求項5のいずれか一項に記載のプログラム生成装置。
Whether there is a business rule definition file that describes the processing executed by the business rule execution engine corresponding to the rule identification information for the rule identification information extracted from the business process definition file 6. The method according to claim 1, further comprising a business rule definition file analysis unit for checking consistency between the business process definition file and the business rule definition file. The program generation device described in 1.
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置を動作させるプログラム生成方法であり、
前記プログラム生成装置が備えるビジネスプロセス定義体解析が、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析過程と、
前記プログラム生成装置が備えるサーブレット生成が、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成過程と、
前記プログラム生成装置が備えるサービスアダプタ生成が、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成過程と
を備えるプログラム生成方法。
Business process handling business process execution engine procedure performs processing according to the business process description information is shown, and a running system to have a business rule execution engine for processing according to the business rule description information procedure of business rule processing is shown Operates a program generator that generates a program to be implemented in a business process / business rule execution system that executes a web service process corresponding to a business process definition file that defines one or more business processes or business rule processes A program generation method
The business process definition body analysis unit included in the program generation device includes, from the business process definition body file, process identification information for identifying the process, an item type indicating the processing type of the process, and an item to be processed by the process A business process definition body analysis process for reading program generation information including information and rule identification information indicating that the process is executed by the business rule execution engine;
The servlet generating unit included in the program generation device generates the process identification information generated for each process, and executes a process in the web service by the program generation information and a description according to a preset format. A servlet generation process to generate the identified servlet;
The service adapter generation unit included in the program generation apparatus determines whether to transfer the process corresponding to the process identification information described in the servlet according to the presence or absence of the rule identification information. A service adapter generation process for generating a service adapter which is a program set in any of the engines.
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有する実行システムであって、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを生成するプログラム生成装置であるコンピュータ
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析手段、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成手段、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成手段、
として機能させるためのプログラム。
Business process handling business process execution engine procedure performs processing according to the business process description information is shown, and a running system to have a business rule execution engine for processing according to the business rule description information procedure of business rule processing is shown A program generation device that generates a program to be implemented in a business process / business rule execution system that executes a web service process corresponding to a business process definition file that defines one or a plurality of business processes or business rule processes the computer,
From the business process definition file, process identification information for identifying the process, item type indicating the processing type of the process, item information to be processed in the process, and the process processed by the business rule execution engine Business process definition body analysis means for reading program generation information consisting of rule identification information indicating
Servlet generation means for generating a servlet identified by the process identification information, which executes a process in the web service, based on the program generation information and a description according to a preset format, generated for each process.
A service adapter that is a program for setting a delegation destination of the process corresponding to the process identification information described in the servlet to either the business process execution engine or the business rule execution engine depending on the presence or absence of the rule identification information Service adapter generation means for generating
Program to function as.
JP2011168540A 2011-08-01 2011-08-01 Program generating apparatus, method and program Active JP5703165B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011168540A JP5703165B2 (en) 2011-08-01 2011-08-01 Program generating apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011168540A JP5703165B2 (en) 2011-08-01 2011-08-01 Program generating apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2013033352A JP2013033352A (en) 2013-02-14
JP5703165B2 true JP5703165B2 (en) 2015-04-15

Family

ID=47789197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011168540A Active JP5703165B2 (en) 2011-08-01 2011-08-01 Program generating apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5703165B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666455B (en) * 2020-05-29 2023-05-30 远光软件股份有限公司 Service flow deployment method and device
CN112732227B (en) * 2020-12-30 2023-06-16 城云科技(中国)有限公司 Workflow engine and configuration method and device thereof
CN113126991A (en) * 2021-04-26 2021-07-16 中国邮政储蓄银行股份有限公司 Service data processing method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033385A (en) * 2006-07-26 2008-02-14 Mitsubishi Electric Corp Information processing system, information processing method and program
US7937354B2 (en) * 2007-10-15 2011-05-03 Sap Ag Providing results from external rule engines based on rule engine vocabularies

Also Published As

Publication number Publication date
JP2013033352A (en) 2013-02-14

Similar Documents

Publication Publication Date Title
JP6218057B1 (en) Automatic response server device, terminal device, response system, response method, and program
CN110321413B (en) Session framework
JP6952690B2 (en) Discover automatic voice dialogue scripts
Holsapple DSS architecture and types
US20040139426A1 (en) Enterprise multi-agent software system
EP3069268A1 (en) Transforming natural language requirement descriptions into analysis models
EP2369480A2 (en) Mashup infrastructure with learning mechanism
WO2020204144A1 (en) Job analysis method
CN104915413A (en) Health monitoring method and health monitoring system
JPH07114468A (en) Computer system
WO2009038981A2 (en) System and method to generate a software framework based on semantic modeling and business rules
US10013238B2 (en) Predicting elements for workflow development
CA3179300C (en) Domain-specific language interpreter and interactive visual interface for rapid screening
CN105550206B (en) The edition control method and device of structured query sentence
CN104679642A (en) Language independent processing of logs in a log analytics system
JP5703165B2 (en) Program generating apparatus, method and program
JP5715905B2 (en) Business process / business rule execution system, business process / business rule execution method and program
CN117256001A (en) Composing human-readable interpretations for user navigation recommendations
JP2010282241A (en) File management device, file management system, file management method, and program
JP2003345697A (en) Method, apparatus, and storage medium for providing integrated interface
US8825561B2 (en) Method and system of determining a prioritized list of users related to a given goal
US20220269744A1 (en) Methods and systems for enabling dynamic filters for software search optimization
Sassi et al. Supporting ontology adaptation and versioning based on a graph of relevance
CN115221337A (en) Data weaving processing method and device, electronic equipment and readable storage medium
US20140089886A1 (en) Using multiple technical writers to produce a specified software documentation package

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R150 Certificate of patent or registration of utility model

Ref document number: 5703165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250