JP5703165B2 - Program generating apparatus, method and program - Google Patents
Program generating apparatus, method and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 877
- 230000008569 process Effects 0.000 claims description 857
- 238000012545 processing Methods 0.000 claims description 108
- 238000004458 analytical method Methods 0.000 claims description 29
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims description 25
- 244000046052 Phaseolus vulgaris Species 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 description 74
- 238000010586 diagram Methods 0.000 description 20
- 239000000284 extract Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
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.
上述したように、従来のビジネス実行システムは、複雑な演算処理を行えない構成であるため、複雑な演算処理をビジネスルール実行システムに代行させて実行させる仕組み、あるいは複雑な演算処理を行う機能を、業務仕様におけるビジネスルール毎に特別に生成して実装させておく必要がある。
このため、従来のビジネス実行システムには、自身の主たる処理であるビジネスプロセスの処理が実行される際、ビジネスルール実行システムの呼出処理などの不必要な負荷がかかり、ビジネスプロセスの処理の動作が寸断されるなどのため非効率になる問題がある。
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.
<ビジネスプロセス/ビジネスルール実行システムで用いるプログラム生成>
ビジネスプロセス/ビジネスルール実行システムで用いるプログラムを生成するプログラム生成装置について説明する前に、作成するプログラムがどのような機能を有するかを明確とするため、ビジネスプロセス/ビジネスルール実行システムの構成について説明する。
<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
ここで、ウェブサーバー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
サーバー記憶部3には、予めJSP23、サーブレット24、サービスアダプタ25、ビジネスプロセスラッパー26、ビジネスルールラッパー27の各々のプログラムのソースコードと、ビジネスが記述されたファイルが記憶されている。
JSP23のソースコードが記述されたファイルはJSPファイルであり、サーブレット24のソースコードが記述されたファイルはサーブレットファイル102であり、サービスアダプタ25のソースコードが記述されたファイルはサービスアダプタファイル103であり、ビジネスプロセスラッパー26のソースコードが記述されたファイルはビジネスプロセスラッパーファイル104であり、ビジネスルールラッパー27のソースコードが記述されたファイルはビジネスルールラッパーファイル105である。これらのソースコードのファイルの生成については後述する。
また、サーバー記憶部3には、ビジネスプロセス実行エンジン21が行うプロセスの内容が記述されたビジネスプロセス定義体(XML)ファイル101が、予め設定されている(詳細については後述)。
さらに、サーバー記憶部3には、業務処理名とこの業務処理名の業務処理を構成するプロセス識別番号(プロセスID、すなわち以降のプロセス識別情報)の組み合わせの業務処理テーブルが記憶されている。
The
The file in which the source code of the
In addition, a business process definition body (XML) file 101 in which contents of processes performed by the business
Further, the
ウェブサーバー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
The
That is, the
For example, the
この結果、JSP23は、サーブレット24A及び24Bを、JSPファイル毎(あるいはユーザ毎)に生成して実行する。
ここで、インスタンス化されたサーブレット24A、24Bには、ウェブサーバー2がclientを識別するため、例えば、一般的なセッション管理機能(PHP:Hypertext Preprocessor4.0)を用い、セッション変数としてセッションIDが付与されている。
また、以下の説明において、サーブレット24Aはルール識別情報(ルールID)が付加されている(記述されている)プロセスに対応し、サーブレット24Bはルール識別情報が付加されていないプロセスに対応しているとして説明する。
As a result, the
Here, in order for the
In the following description, the
ウェブサーバー2は、サーブレットファイル102がインスタンス化され、オブジェクトとしてサーブレット24A(ルール識別情報が記述されている)が生成されたことにより、このサーブレット24Aのプロセス識別情報に対応するビジネスルールラッパーファイル105(クラスが記述されたJAVA(登録商標)ファイル)を、このプロセス識別情報を検索キーとしてサーバー記憶部3から読み出す。
また、ウェブサーバー2は、読み出したビジネスルールラッパーファイル105に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスルールラッパー27を起動して実行させる。
When the
Also, the
次に、図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
The
すなわち、ビジネスルールラッパー27は、サービスアダプタ25が起動したPaymentStatusBeanのインターフェース及びデータの形式を、ビジネスルール実行エンジン22の形式に変換する。
そして、ビジネスルールラッパー27は、変換したPaymentStatusBeanを、処理を委譲するためのインターフェースコンテナ(KSession)に書き込むことで、ビジネスルール実行エンジン22に対してデータの受け渡し、すなわち処理の委譲を行う。ここで、ビジネスルールラッパー27は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、PaymentStatusBeanのインターフェース及びデータの形式の変換を行う。
That is, the
Then, the
一方、ビジネスルールラッパー27は、ビジネスルール実行エンジン22からサーブレット24Aに対してビジネスルール処理の結果が供給される際、ビジネスルール実行エンジン22からインターフェースコンテナ(KSession)におけるPaymentStatusBeanに処理結果のデータが書き込まれると、このPaymentStatusBean(サーブレット24Aに対応するプロセスのプロセス識別情報とルール識別情報とが付加されている)のインターフェース及びデータの形式を、サーブレット24Aがデータを入力する形式に変換する。
On the other hand, in the
すなわち、ビジネスルールラッパー27は、ビジネスルール実行エンジン22から処理結果のデータがインターフェースコンテナ(KSession)のPaymentStatusBeanに書き込まれると、このPaymentStatusBeanのインターフェース及びデータの形式の変換を行う。
そして、ビジネスルールラッパー27は、変換後のPaymentStatusBeanをサービスアダプタ25に対して出力する。
ここで、ビジネスルールラッパー27は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
In other words, the
Then, the
Here, the
図1に戻り、ウェブサーバー2は、サーブレットファイル102がインスタンス化され、オブジェクトとしてサーブレット24B(ルール識別情報が付加されていない)が起動されたことにより、このサーブレット24Bのプロセス識別情報に対応するビジネスプロセスラッパーファイル104(クラスが記述されたJAVA(登録商標)ファイル)を、このプロセス識別情報を検索キーとしてサーバー記憶部3から読み出し、ビジネスプロセスラッパーファイル104に記述された変数に必要なデータを代入してインスタンス化し、オブジェクトとしてビジネスプロセスラッパー26を起動して実行させる。
Returning to FIG. 1, the
次に、図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
The
すなわち、ビジネスプロセスラッパー26は、サービスアダプタ25が起動したReservationBeanのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21の形式に変換する。
そして、ビジネスプロセスラッパー26は、変換したReservationBeanを、処理を委譲するためのインターフェースコンテナ(ServiceSession)に書き込むことで、ビジネスプロセス実行エンジン21に対してデータの受け渡し、すなち処理の委譲を行う。ここで、ビジネスプロセスラッパー26は、自身に対応するプロセス識別信号に対応して予め内部に設定されている変換条件に従って、ReservationBeanのインターフェース及びデータの形式の変換を行う。
That is, the
Then, the
一方、ビジネスプロセスラッパー26は、ビジネスプロセス実行エンジン21からサーブレット24Bに対してビジネスプロセス処理の結果が供給される際、ビジネスプロセス実行エンジン21からインターフェースコンテナ(ServiceSession)におけるReservationBeanに処理結果のデータが書き込まれると、このReservationBean(サーブレット24Bに対応するプロセスのプロセス識別情報が付加されている)のインターフェース及びデータの形式を、サーブレット24Bがデータを入力する形式に変換する。
On the other hand, the
すなわち、ビジネスプロセスラッパー26は、ビジネスプロセス実行エンジン21から処理結果のデータがインターフェースコンテナServiceSessionのReservationBeanに書き込まれると、このReservationBeanのインターフェース及びデータの形式の変換を行う。
そして、ビジネスプロセスラッパー26は、変換後のReservationBeanをサービスアダプタ25に対して出力する。
ここで、ビジネスプロセスラッパー26は、自身に対応するプロセス識別信号に対応して、インターフェースコンテナのインターフェース及びデータの形式の変換を行う。
That is, when the process result data is written from the business
Then, the
Here, the
図1に戻り、ウェブサーバー2は、サーバー記憶部3に記憶されている複数のサーブレットファイル102から、いずれかのサーブレットファイル102が読み出され、インスタンス化されてオブジェクトとして実行されると、サービスアダプタファイル103(クラスが記述されたJAVA(登録商標)ファイル)をサーバー記憶部3から読み出す。
また、ウェブサーバー2は、読み出したサービスアダプタファイル103に記述された変数に、必要なデータを代入してインスタンス化し、オブジェクトとしてサービスアダプタ25を起動して実行させる。
Returning to FIG. 1, the
Further, the
このサービスアダプタ25は、サーブレット24に対応するプロセスのプロセス識別情報と、このプロセスの処理を委譲する実行エンジンのエンジン識別子との対応を示す対応テーブルを有している。ビジネスプロセス定義体(後に詳細に説明)におけるプロセスにルール識別情報が記述されている場合、このプロセスに対応して生成されたサーブレット24Aの処理の委譲先はビジネスルール実行エンジン22である。一方、ビジネスプロセス定義体におけるプロセスにルール識別情報が記述されていない場合、このプロセスに対応して生成されたサーブレット24Bの処理の委譲先はビジネスプロセス実行エンジン21である。
また、サービスアダプタ25は、サーブレット24が起動するビーン(ReservationBeanまたはPaymentStatusBean)に記述されているプロセス識別情報と同一のプロセス識別情報を対応テーブルから検索する。
そして、サービスアダプタ25は、対応テーブルにおいて検索されたプロセス識別情報に対応して記憶されているエンジン識別情報の示す実行エンジン(ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22)を、プロセスの処理の委譲先に設定する。
The
Further, the
Then, the
ビジネスプロセス実行エンジン21は、インターフェースコンテナ(ServiceSession)に書き込まれたデータとプロセス識別番号とにより、ビジネスプロセス処理(例えば、DB210(データベース)に対するデータの検索、読み出し、書き込み、編集)を行う。
サーブレット24Bが後述するビジネスプロセス定義体におけるプロセス識別番号「1」のプロセスに対応した処理としてビジネスプロセス処理を実行する場合、このプロセス識別情報「1」のプロセスは、「予約基本を検索する」処理する。すなわち、ビジネスプロセス実行エンジン21は、サーブレット24Bから委譲されたデータである予約予約番号及び予約申込者名を検索キーとして、この検索キーに対応して記憶されているデータを、DB210に記憶されているデータの中から検索する(処理の詳細は後述)。
The business
When the
また、ビジネスプロセス実行エンジン21は、インターフェースコンテナ(ServiceSession)に書き込まれたReservationBeanに付加されているデータ及びプロセス識別情報により、サーバー記憶部3に記憶されているビジネスプロセス定義体(XML)ファイル101の中から、同一のプロセス識別情報が付加されたビジネスプロセス定義体(XML)ファイル101を読み出す。
また、ビジネスプロセス実行エンジン21は、読み出したビジネスプロセス定義体(XML)ファイル101に従い、ReservationBeanを介してサーブレット24Bから供給されたデータを用いてビジネスプロセスの処理を行う。
The business
In addition, the business
一方、ビジネスルール実行エンジン22は、インターフェースコンテナ(KSession)に書き込まれたPaymentStatusBeanに付加されているデータ及びプロセス識別番号により、ビジネスルール処理(例えば、論理演算、数値計算などの演算処理)を行う。
サーブレット24Aが後述するビジネスプロセス定義体におけるプロセス識別番号「2」のプロセスに対応した処理としてビジネスルール処理を実行する場合、このプロセス識別情報「2」のプロセスは、「入金ステータスを検索する」処理を行う。すなわち、ビジネスルール実行エンジン22は、サーブレット24Aから委譲されたデータである予約販売額合計と予約入金額合計とを比較し、この比較結果に応じて設定されている入金ステータスを、内部に設けられたステータステーブルから検索する(処理の詳細は後述)。
On the other hand, the business
When the business rule process is executed by the
また、ビジネスルール実行エンジン22は、インターフェースコンテナ(KSession)に書き込まれたルール識別情報により、ビジネスルール定義体ファイル記憶部200に記憶されているビジネスルール定義体ファイル302の中から、同一のプロセス識別情報が付加されたビジネスルール定義体ファイル302を読み出す。
また、ビジネスルール実行エンジン22は、読み出したビジネスルール定義体ファイル302に記述された論理演算あるいは数値演算の式などに従い、PaymentStatusBeanを介してサーブレット24Aから供給されたデータを用いてビジネスプロセスの処理を行う。
Further, the business
In addition, the business
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
The program generation apparatus according to the present embodiment generates the above-described
図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
The process rule process described in the business
As the deposit status in the business
・ 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
次に、図6は、ビジネスプロセス/ビジネスルール実行システムで使用されるプログラムを生成する際に用いるプログラム生成情報が記述された、ビジネスプロセス定義体ファイル301におけるテーブルの一例を示す図である。このビジネスプロセス定義体ファイル301は、業務処理毎に、ビジネスプロセス/ビジネスルール実行システムを作成する作業者により記述されて作成される。
この図6は、下記に示す項目を表形式に記述する仕様、例えばエクセル(登録商標)などにより記述されている。
業務処理は、図6に示すように複数個のプロセス、あるいは1個のプロセスから構成されている。
Next, FIG. 6 is a diagram illustrating an example of a table in the 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
Further, the business process
The business process
Further, the business process
ビジネスプロセス定義体ファイル変換部12は、記憶部19から読み出した業務処理を構成する各プロセスのプログラム生成情報における項目種別、操作項目情報及び操作情報により、予め設定されたフォーマットの形式、すなわちビジネスプロセス実行エンジン21(図1)が解読できる形式のビジネスプロセス定義体(XML)ファイル101を生成する。ここで、ビジネスプロセス定義体ファイル変換部12は、ルール識別情報が付加されているか否かの判定を行い、ルール識別情報が付加されていないプロセスのみに対し、ビジネスプロセス定義体(XML)ファイル101を生成する。
The business process definition
例えば、ビジネスプロセス定義体ファイル変換部12は、XML(Extensible Markup Language)形式で、プログラム生成情報の各項目が記述された、プロセス毎のビジネスプロセス定義体(XML)ファイル101を生成する。
このとき、ビジネスプロセス定義体ファイル変換部12は、記憶部19におけるビジネスプロセス定義体ファイルテンプレート記憶領域から、ビジネスプロセス定義体ファイルテンプレートを読み出す。
このビジネスプロセス定義体ファイルテンプレート記憶領域には、プロセス識別情報、項目種別、操作項目情報及び操作情報の組み合わせ毎に、図6に示すビジネスプロセス定義体ファイルにおけるプロセス単位で、ビジネスプロセス実行エンジン21が解読できる形式のビジネスプロセス定義体ファイルテンプレート記憶されている。
そして、ビジネスプロセス定義体ファイル変換部12は、この読み出したビジネスプロセス定義体ファイルテンプレートに対し、記憶部19から読み出したプロセス識別情報、項目種別、操作項目情報及び操作情報を追記して、プロセス毎のビジネスプロセス定義体(XML)ファイル101を生成する。
For example, the business process definition
At this time, the business process definition
In this business process definition file template storage area, the business
Then, the business process definition
サーブレット生成部13は、記憶部19から読み出した業務処理を構成する各プロセスのプログラム生成情報におけるプロセス識別情報、項目種別、操作項目情報により、予め設定されたフォーマットの形式の記述に対応したサーブレットのプログラムが記述されたサーブレットファイル102を生成する。このサーブレットファイル102は、ウェブサーバー上で実行され、例えばJSPと連携してウェブページを構築するサーブレット24のプログラムのソースコードが記述されたファイルである(後述)。
このとき、サーブレット生成部13は、記憶部19のサーブレットテンプレート記憶領域において、項目種別毎にプロセス単位で記憶されている、サーブレットテンプレートに、記憶部19から読み出したプロセス識別情報、項目種別、操作項目情報を追記して、プロセス毎のプログラムを生成し、このれらのプログラムが記述されたサーブレットファイル102を出力する。
The
At this time, the
サービスアダプタ生成部14は、ビジネスプロセス定義体ファイル301のプロセス毎に、各プロセスの処理の委譲先を、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれにするかを示すプログラムである。
すなわち、サービスアダプタ生成部14は、プロセス識別情報毎に、当該プロセス識別情報が示すプロセスを、ビジネスプロセス実行エンジン21及びビジネスルール実行エンジン22のいずれかに委譲するかを示す対応テーブルを含み、プロセス識別情報が入力された際に、この対応テーブルを参照して、プロセス識別情報の示すプロセスの処理を、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれかに委譲するプログラムを生成し、このプログラムが記述されているサービスアダプタファイル103を出力する。
The service
That is, the service
ビジネスプロセスラッパー生成部15は、ルール識別情報が含まれていないプロセスのプログラム生成情報から生成されたサーブレット24(例えば、サーブレット24B)に対応するビジネスプロセスラッパー26のプログラムを生成し、このプログラムのソースコードが記述されたビジネスプロセスラッパーファイル104を出力する。
このビジネスプロセスラッパー26は、既に説明したように、サーブレット24がデータを委譲するために用いるビーン(ReservationBean)のインターフェースの形式及びデータの形式を、ビジネスプロセス実行エンジン21のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナServiceSessionに配置し、逆に、インターフェースコンテナServiceSessionにおけるReservationBeanのインターフェースの形式及びデータの形式を、サーブレット24のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ25に委譲する処理を行うプログラムである。
The business process
As described above, the
すなわち、ビジネスプロセスラッパーファイル104には、サーブレット24がプロセスの処理の委譲をビジネスプロセス実行エンジン21に対して行う際、サーブレット24がデータの出力を行うReservationBeanのインターフェース(出力)の形式及びデータの形式を、ビジネスプロセス実行エンジン21のインターフェース(入力)に対応した形式及びデータの形式に変換し、ビジネスプロセス実行エンジン21がプロセスの処理の結果をサーブレットに出力する際、ビジネスプロセス実行エンジンの出力するインターフェース(出力)の形式及びデータの形式を、サーブレット24のインターフェース(入力)の形式及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスプロセスラッパー生成部15は、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェース及びデータが異なるため、ビジネスプロセスラッパー26のプログラムをプロセス毎に生成する。ここで、データの形式とは、byte、short、int、longなどのデータ型(変数)を示している。
That is, in the business
The business process
ビジネスルールラッパー生成部16は、ルール識別情報が含まれているプロセスのプログラム生成情報から生成されたサーブレット24(例えば、サーブレット24A)に対応するビジネスルールラッパー27のプログラムを生成し、このプログラムのソースコードが記述されたビジネスルールラッパーファイル105を出力する。
このビジネスルールラッパー27は、既に説明したように、サーブレット24がデータを委譲するために用いるビーン(PaymentStatusBean)のインターフェースの形式及びデータの形式を、ビジネスルール実行エンジン22のインターフェース及びデータの形式に対応させる変換を行い、変換したインターフェースコンテナKSessionに配置し、逆に、インターフェースコンテナKSessionにおけるPaymentStatusBeanのインターフェースの形式及びデータの形式を、サーブレット24のインターフェースの形式及びデータの形式に対応する変換を行い、処理をサービスアダプタ25に委譲する処理を行うプログラムである。
The business rule
As described above, the
すなわち、ビジネスルールラッパーファイル105には、サーブレット24がプロセスの処理の委譲をビジネスルール実行エンジン22に対して行う際、サーブレット24がデータの出力を行うインターフェース(出力)及びデータの形式を、ビジネスルール実行エンジン22のインターフェース(入力)及びデータの形式に変換し、ビジネスルール実行エンジン22がプロセスの処理の結果をサーブレットに出力する際、ビジネスルール実行エンジン22の出力するインターフェース(出力)及びデータの形式を、サーブレットのインターフェース(入力)及びデータの形式に変換する処理を行うプログラムが記述されている。
また、ビジネスルールラッパー生成部16は、ビジネスプロセスラッパー生成部15と同様に、プロセス毎に入出力されるデータの種類や数が異なるため、すなわちプロセス毎にインターフェースが異なるため、ビジネスルールラッパー27のプログラムをプロセス毎に生成する。
That is, in the business
Similarly to the business process
上述したサーブレットファイル102、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104及びビジネスルールラッパーファイル105の各々は、プログラムのソースコードが記述されたファイル、例えばJAVA(登録商標)ファイルである。
また、プログラム生成装置1は、作成されたサーブレットファイル102、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104及びビジネスルールラッパーファイル105の各々のファイルを、一旦記憶部19に書き込んで記憶させ、後にウェブサーバーのサーバー記憶部3に書き込んで記憶させることにより、ウェブサーバー2に実装する。
Each of the
Further, the
ビジネスルール定義体ファイル解析部17は、ユーザの操作により、外部機器あるいは外部記憶部からビジネスルール定義体ファイル302を読み込み、記憶部19に書き込んで記憶させる。
また、ビジネスルール定義体ファイル解析部17は、記憶部19からビジネスルール定義体ファイル302を読み出し、このビジネスルール定義体ファイル302に記述されているルール識別情報を抽出する。
ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイル302が、記憶部19に記憶されているビジネスルール定義体ファイル302の中に存在するか否かの検出を行う(整合性のチェックを行う)。本実施形態においては、ルール識別情報と、この識別情報に対応するビジネスルール定義体ファイルのファイル名とは、同一の文字列を用いている。
ここで、ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部19に記憶されているビジネスルール定義体ファイル302の中に存在しない場合、整合性が取れないことを示すエラーメッセージを表示装置等の出力部から出力することによりユーザに対して通知する。
The business rule definition
In addition, the business rule definition
The business rule definition
Here, the business rule definition
ビジネスルール定義体ファイル解析部17は、ビジネスプロセス定義体ファイル301から抽出したルール識別情報と同一ファイル名のビジネスルール定義体ファイルが、記憶部19に記憶されているビジネスルール定義体ファイル302に存在した場合、整合性が取れたことを示すメッセージを表示装置等の出力部からユーザに対して通知する。
また、ビジネスルール定義体ファイル配備部18は、ビジネスプロセス定義体ファイル301とビジネスルール定義体ファイル302との整合性が取れると、整合性が取れたビジネスルール定義体ファイル302を記憶部19から読み出し、ビジネスルール実行エンジン22が読み出しを行うビジネスルール定義体ファイル記憶部200へ書き込んで記憶させる(ビジネスルール定義体ファイル302のコピーを行う)。
The business rule definition
In addition, when the business process definition file 301 and the business
上述した構成により本実施形態によれば、業務処理を構成するプロセスの各々にルール識別情報が付加されているか否かにより、ビジネスプロセス実行エンジン21及びビジネスルール実行エンジン22のいずれにサーブレット24のプロセスの処理を実行させるかを振り分けるサービスアダプタ25のプログラムを、ビジネスプロセス定義体ファイル301の記載に整合させて生成させることができる。
このため、本実施形態によれば、ビジネスプロセス実行エンジン21におけるビジネスプロセス処理の実行において、従来のように、ビジネスルール実行エンジン22における呼出処理などの不必要な負荷をかける処理が無くなり、ビジネスプロセス処理の動作の効率を向上させることが可能なビジネスプロセス/ビジネスルール実行システムに実装されるプログラムを容易に生成することができる。
According to the present embodiment with the above-described configuration, the process of the
For this reason, according to the present embodiment, in the execution of business process processing in the business
また、本実施形態によれば、ビジネスプロセス処理に対し、処理の内容によりビジネスプロセス実行システムあるいはビジネスルール実行システムのいずれかに振り分ける構成であるサービスアダプタをプロセス毎に整合をとって自動生成するため ビジネスプロセス実行エンジンが変更されたとしても、ビジネスプロセス/ビジネスルール実行システムに実装されるプログラムの生成における作業者の開発工数を、従来のように増加させることがない。 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
However, the service
また、本実施形態のプログラム生成装置1は、サーバー、パーソナルコンピュータなどのコンピュータを用い、ビジネスプロセス定義解析部11、ビジネスプロセス定義体ファイル変換部12、サーブレット生成部13、サービスアダプタ生成部14、ビジネスプロセスラッパー生成部15、ビジネスルールラッパー生成部16、ビジネスルール定義体ファイル解析部17及びビジネスルール定義体ファイル配備部18の各々を、プログラム上のモジュールとして動作させるように構成しても良い。
The
次に、図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
Step S1:
The business process
次に、サーブレット生成部13は、記憶部19からプロセス毎に、順次プログラム生成情報を読み出し、このプログラム生成情報におけるサーブレットテンプレート記憶領域から、当該プロセスの項目種別に対応するプログラムのテンプレートを読み出す。
そして、サーブレット生成部13は、読み出したテンプレートに対し、プロセス識別情報を含むプログラム生成情報の各データを追記することにより、サーブレット24のプログラムのソースコードを生成し、このサーブレット24のソースコードが記述されたサーブレットファイル102を生成する。
これにより、サーブレット生成部13は、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22に、ビジネスプロセス定義体ファイル301の各プロセスに記述された処理を実行させるサーブレット24のプログラムを生成し、生成されたサーブレット24のプログラムのソースコードを、サーブレットファイル102としてプロセス識別情報に対応させて記憶部19に書き込んで記憶させる。
Next, the
Then, the
As a result, the
ステップS2:
ビジネスプロセス定義体ファイル変換部12は、記憶部19に記憶されているプロセス毎に、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセス定義体ファイル変換部12は、ルール識別情報が付加されていないプロセスに対応するプログラム生成情報を順次読み出す。
また、ビジネスプロセス定義体ファイル変換部12は、記憶部19に記憶されているビジネスプロセス定義体ファイルのテンプレートを読み出す。このビジネスプロセス定義体ファイルのテンプレートは、ビジネスプロセス実行エンジン21が解読する形式のビジネスプロセス定義体ファイルを生成する元になる。
プログラム生成情報を読み出すと、ビジネスプロセス定義体ファイル変換部12は、読み出したプログラム生成情報の各データを、ビジネスプロセス定義体ファイルのテンプレートに追記し、ビジネスプロセス実行エンジン21が解読できる形式のビジネスプロセス定義体(XML)ファイル101を生成し、プロセス識別情報に対応させて記憶部19に書き込んで記憶させる。
Step S2:
The business process definition
And the business process definition body
The business process definition
When the program generation information is read, the business process definition
ステップS3:
サービスアダプタ生成部14は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、サービスアダプタ生成部14は、ルール識別情報が付加されていないサーブレット24処理の委譲先をビジネスプロセス実行エンジン21とし、ルール識別情報が付加されているサーブレット24の処理の委譲先をビジネスルール実行エンジン22と判定する。
Step S3:
The service
Then, the service
これにより、サービスアダプタ生成部14は、プロセス識別情報と、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれか一方を委譲先とする委譲先情報とが対応付けられた対応テーブルが付加され、プロセス識別情報に対応した委譲先情報に記載された実行エンジンに対し、サーブレット24の処理を委譲するサービスアダプタ25を生成し、このサービスアダプタ25のプログラムのソースコードが記述されたサービスアダプタファイル103を出力する。
また、サービスアダプタ生成部14は、生成したサービスアダプタファイル103を、記憶部19に書き込んで記憶させる。
As a result, the service
Further, the service
ステップS4:
ビジネスプロセスラッパー生成部15は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスプロセスラッパー生成部15は、判定の結果、ルール識別情報が付加されていない場合、サーブレット24がデータの入出力に用いるビーンと、ビジネスプロセス実行エンジン22がデータの入出力に用いるインターフェースコンテナServiceSession内に配置する際に、インターフェース及びデータの形式を、サーブレット24とビジネスプロセス実行エンジン22とにおける出力側の形式を入力側の形式に合わせるビジネスプロセスラッパー26を生成する。
ビジネスプロセスラッパー生成部15は、生成したビジネスプロセスラッパー26のビジネスプロセスラッパーファイル104を、記憶部19に書き込んで記憶させる。
Step S4:
The business process
When the rule identification information is not added as a result of the determination, the business process
The business process
ステップS5:
ビジネスルールラッパー生成部16は、記憶部19に記憶されているプログラム生成情報をプロセス毎に逐次読み出し、ルール識別情報が付加されているか否かの判定を行う。
そして、ビジネスルールラッパー生成部16は、判定の結果、ルール識別情報が付加されている場合、サーブレット24がデータの入出力に用いるPaymentStatusBeanを、ビジネスルール実行エンジンがデータの入出力に用いるインターフェースコンテナKSession内に配置する際に、インターフェース及びデータの形式を、サーブレット24とビジネスルール実行エンジン22とにおける出力側の形式を入力側の形式に合わせるビジネスルールラッパー27を生成する。
ビジネスルールラッパー生成部16は、生成したビジネスルールラッパー27のビジネスルールラッパーファイル105を、記憶部19に書き込んで記憶させる。
Step S5:
The business rule
When the rule identification information is added as a result of the determination, the business rule
The business rule
ステップS6:
ビジネスルール定義体ファイル解析部17は、記憶部19に記憶されている全てのプロセスのプログラム生成情報からルール識別情報を含むプログラム生成情報を検出し、このプログラム生成情報からルール識別情報を抽出する。
そして、ビジネスルール定義体ファイル解析部17は、抽出したルール識別情報と同一のファイル名を有するビジネスルール定義体ファイル302が、記憶部19に記憶されているビジネスルール定義体ファイル302に存在するか否かの判定により、ビジネスプロセス定義体ファイル301のルール識別情報を有するプロセスと、ビジネスルール定義体ファイル302との整合が取れているか否かの整合性チェックを行う。
Step S6:
The business rule definition
Then, the business rule definition
チェック結果において、ビジネスルール定義体ファイル解析部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
On the other hand, the business rule definition
Then, the business rule definition
次に、ビジネスルール定義体ファイル配備部18は、ビジネスルール定義体ファイル解析部17から、整合性が取れたことを示す制御信号が供給されると、整合性が取れたビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200へ書き込んで記憶させる。
Next, when the business rule definition body
次に、図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
As shown in FIG. 8, in the business
Similarly, similarly to the business process definition body (XML) file 101, the
また、図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
As shown in FIG. 9, in the business
Further, as already described, the
次に、図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
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
また、ビジネスプロセスラッパーファイル104は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図10のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「1」及び「3」の2個であり、ビジネスプロセスラッパーファイル104は、ビジネスプロセスラッパー生成部15により2個生成される。
また、ビジネスルールラッパーファイル105は、ルール識別情報が付加されているプロセスのみに対して生成される。このため、図10のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されているプロセスは、プロセス識別情報「2」の1個であり、ビジネスルールラッパーファイル105は、ビジネスルールラッパー生成部16により1個生成される。
Further, the business
The business
上述した各種プログラムは、複数の業務処理において、同一のプロセス識別情報が付加されているプロセスが重複する場合、同一のプロセス識別情報のプロセスについて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
Further, one
<ビジネスプロセス/ビジネスルール実行システム>
次に、図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
The
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
ステップS112:
JSP23は、clientから入力されたJSPファイルから、業務処理の「予約基本を検索する」と、データの「予約番号」及び「予約申込者名」とを抽出し、この「予約基本を検索する」という業務処理(業務処理名)に対応するプロセス識別情報の組み合わせを、この業務処理名を検索キーとして、サーバー記憶部3の業務処理名テーブルから検索する。
そして、JSP23は、検索した業務処理名に対応するプロセス識別情報の組み合わせ、すなわち、プロセス識別情報「1」、「2」及び「3」の組み合わせを業務処理名テーブルから読み出す。
Step S112:
The
Then, the
また、JSP23は、プロセス識別情報「1」、「2」及び「3」の順番で処理を行うため、プロセス識別情報「1」に対応するサーブレットファイル102をサーバー記憶部3から読み出し、データトして「予約番号」及び「予約申込者名」とを変数に代入し、インスタンス化することでサーブレット24Bを実行させる。
同様に、ウェブサーバー2は、サービスアダプタファイル103、ビジネスプロセスラッパーファイル104の各々をサーバー記憶部3から読み出し、インスタンス化することにより、サービスアダプタ25、ビジネスプロセスラッパー26を実行させる。
The
Similarly, the
ステップS113:
サーブレット24Bは、データの入出力を行うプログラムのビーンオブジェクトReservationBeanを起動して、自身のプロセスに対応するプロセス識別情報「1」と、データの「予約番号」及び「予約申込者名」とを、この起動したReservationBeanに代入する。
すなわち、サーブレット24Bは、自身のデータ「予約番号」及び「予約申込者名」を検索キーとしたDB210に検索する処理をビジネスプロセス実行エンジン21に対して委譲するためのReservationBeanを起動して、処理の委譲に必要なデータを起動したReservationBeanに書き込む。
Step S113:
The
In other words, the
ステップS114:
サービスアダプタ25は、ReservationBeanが起動されると、この起動されたReservationBeanからプロセス識別情報「1」を抽出し、この抽出したプロセス識別情報「1」の示すプロセスの処理の委譲先を示す委譲先情報を、自身に設定されている対応テーブルにおいて検出する。
そして、サービスアダプタ25は、自身に設定されている対応テーブルにおけるプロセス識別情報「1」に対する委譲先がビジネスプロセス実行エンジン21であるため、ReservationBeanに対する処理をビジネスプロセスラッパー26へ委譲する。
Step S114:
When the ReservationBean is activated, the
The
すなわち、サービスアダプタ25は、ビジネスプロセスラッパー26を介して、プロセス識別情報「1」のプロセスの処理を、サーブレット24Bからビジネスプロセス実行エンジン21に対して委譲する制御を行う。
ここで、サービスアダプタ25は、ReservationBeanに付加されているプロセス識別情報と同一のプロセス識別情報を有する、すなわちプロセス識別情報「1」が付加されたビジネスプロセスラッパー26を介して、ビジネスプロセス実行エンジン21に対して委譲する制御を行う。
That is, the
Here, the
ステップS115:
次に、ビジネスプロセスラッパー26は、ReservationBeanからプロセス識別情報を抽出する。
そして、ビジネスプロセスラッパー26は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスプロセスラッパー26は、プロセス識別情報が一致している場合、ReservationBeanに記述されている「予約番号」及び「予約申込者名」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスプロセスラッパー26は、変換したReservationBeanを、ビジネスプロセス実行エンジン21のインターフェースコンテナであるServiceSessionに配置する処理を行う。
上述した処理により、ビジネスプロセスラッパー26は、ReservationBeanにおけるサーブレット24Bに対応したインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21のデータ入力におけるインターフェース及びデータの形式に変換する。また、ビジネスプロセスラッパー26は、形式を変換したReservationBeanに対し、識別情報としてサービスIDを付加する。
Step S115:
Next, the
Then, the
Here, when the process identification information matches, the
Further, the
Through the above-described processing, the
ステップS116:
次に、ビジネスプロセス実行エンジン21は、インターフェースコンテナServiceSessionにおけるReservationBeanから、プロセス識別情報と、「予約番号」及び「予約申込者名」のデータとを読み出す。
また、ビジネスプロセス実行エンジン21は、プロセス識別番号「1」に対応するビジネスプロセス定義体(XML)ファイル101を、サーバー記憶部3から読み出す。
Step S116:
Next, the business
In addition, the business
そして、ビジネスプロセス実行エンジン21は、この読み出したビジネスプロセス定義体(XML)ファイル101の記述に従って、プロセス識別番号「1」のビジネスプロセスの処理を実行する。
上述したように、プロセス識別番号「1」のプロセスの「予約基本を検索する」処理に用いるデータの「予約番号」及び「予約申込者名」が、ビジネスプロセス実行エンジン21に対し、インターフェースコンテナServiceSessionを介して、サーブレット24Bから供給されている。
Then, the business
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
そして、ビジネスプロセス実行エンジン21は、ビジネスプロセス定義体(XML)ファイル101の記述に従い、サーブレット24Bから供給されたデータ「予約番号」と「予約申込者名」とを検索キーとして用い、この検索キーに対応するデータの検索をDB210から行うビジネスプロセス処理を実行する。
このとき、ビジネスプロセス実行エンジン21は、例えば、検索キーとして供給された「予約番号」と「予約申込者名」との文字列における一部の文字が一致する「予約予約番号」及び「予約申込者名」の予約のデータを、DB210に記憶されている複数の予約のデータから抽出する。
次に、ビジネスプロセス実行エンジン21は、供給された「予約番号」と「予約申込者名」とを検索キーとして検索した結果、抽出された予約のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」とを、インターフェースコンテナServiceSessionに配置されているReservationBeanから、サービスIDにより書き込み先のReservationBeanを識別し、処理に対応するReservationBeanにおける出力として、ReservationBeanの定義された変数に書き込む。ここで、「予約予約番号」は予約番号を示し、「予約予約日」は予約日を示している。
The business
At this time, the business
Next, the business
ステップS117:
次に、インターフェースコンテナServiceSessionに配置されたReservationBeanに対し、ビジネスプロセス実行エンジン21がビジネスプロセス処理の結果を書き込むと、ビジネスプロセスラッパー26は、このインターフェースコンテナServiceSessionに配置されたReservationBeanに対するインターフェース及びデータの形式の変換の処理を行う。
ここで、ビジネスプロセスラッパー26は、インターフェースコンテナServiceSessionに配置されたReservationBeanに記述されている、検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスプロセスラッパー26は、ReservationBeanのインターフェース及びデータの形式を、ビジネスプロセス実行エンジン21において用いられる形式から、サーブレット24Bで用いられる形式に変換する。
Step S117:
Next, when the business
Here, the
That is, the
ステップS118:
サービスアダプタ25は、ビジネスプロセスラッパー26がインターフェース及びデータの形式を変換したReservationBeanから、プロセス識別情報として付加されているプロセス識別情報「1」を読み出す。
そして、サービスアダプタ25は、読み出したプロセス識別情報「1」と一致するプロセス識別情報を有するサーブレット24Bへ、ReservationBeanを介してビジネスプロセス処理を委譲する。
Step S118:
The
Then, the
ステップS119:
サ−ブレット24Bは、サービスアダプタ25から受けたReservationBeanから検索結果のデータである「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」を抽出し、この抽出した「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」をJSP23に出力する。
Step S119:
The
ステップS120:
JSP23は、「予約予約番号」、「予約申込者名」、「予約従業員名」、「予約予約日」及び「予約出発日」が供給されると、これらのサーブレット24Bから供給されたデータが表示される画面(ページ)を構成し、構成した画面をclientへ送信する。
そして、clientは、ウェブサーバー2から画面が供給されると、この画面を表示装置に表示し、ユーザに対して表示装置を介して検索結果を通知する。
また、JSP23は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「2」のプロセス「入金ステータスを検索する」のサーブレット24Aを実行する。
Step S120:
When the
Then, when the screen is supplied from the
Further, the
次に、図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
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
Therefore, the
そして、サーブレット24Aは、「入金ステータスを検索する」というビジネスルール処理を行うため、データとして「予約販売額合計」と「予約入金額合計」とを入力する画面を生成する指示をJSP23に出力する。
これにより、JSP23は、「予約販売額合計」と「予約入金額合計」とを入力する画面を生成し、clientに対して出力する。
clientは、ウェブサーバー2から供給される画面を、表示装置に表示する。
そして、ユーザが表示された「予約販売額合計」と「予約入金額合計」との入力欄に、予約に対応した金額を入力する。
これにより、clientは、データとして「予約販売額合計」と「予約入金額合計」との数値を含むJSPファイルをウェブサーバー2に対して送信する。
Then, the
As a result, the
The client displays the screen supplied from the
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
ステップS212:
JSP23は、clientから入力されたJSPファイルから、「予約販売額合計」及び「予約入金額合計」とを抽出し、抽出した「予約販売額合計」及び「予約入金額合計」とをプロセス識別情報「2」のサーブレット24Bに対して出力する。
また、ウェブサーバー2は、プロセス識別情報「2」に対応するビジネスルールラッパーファイル105をサーバー記憶部3から読み出し、この読み出したファイルをインスタンス化することにより、ビジネスルールラッパー27を実行させる。サービスアダプタ25については、既にプロセス識別情報「1」のサーブレット24Bが起動された際に起動されている。
Step S212:
The
Further, the
ステップS213:
サーブレット24Aは、データの入出力を行うプログラムのビーンオブジェクトPaymentStatusBeanを起動して、自身のプロセスに対応するプロセス識別情報「2」と、データの「予約販売額合計」及び「予約入金額合計」と、ルール識別情報とを、この起動したPaymentStatusBeanに代入する。
すなわち、サーブレット24Aは、自身のデータ「予約販売額合計」及び「予約入金額合計」を用いたビジネスルールの処理をビジネスルール実行エンジン22に対して委譲するためのPaymentStatusBeanを起動して、処理を委譲に必要なデータである「予約販売額合計」及び「予約入金額合計」を、PaymentStatusBeanの入力の変数に代入する。
Step S213:
The
That is, the
ステップ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
Then, since the delegation destination for the process identification information “2” in the correspondence table set in the
That is, the
Here, the
ステップS215:
次に、ビジネスルールラッパー27は、PaymentStatusBeanからプロセス識別情報を抽出する。
そして、ビジネスルールラッパー27は、抽出したプロセス識別情報が自身に設定されているプロセス識別情報と一致するか否かを判定する。
ここで、ビジネスルールラッパー27は、プロセス識別情報が一致している場合、PaymentStatusBeanに記述されている「予約販売額合計」及び「予約入金額合計」のデータにおけるインターフェース及びデータの形式を変換する。
また、ビジネスルールラッパー27は、変換したReservationBeanを、ビジネスルール実行エンジン22のインターフェースコンテナであるKSessionに配置する処理を行う。
上述した処理により、ビジネスルールラッパー27は、インターフェースコンテナに配置されたPaymentStatusBeanにおけるサーブレット24Aに対応したインターフェース及びデータの形式を、ビジネスルール実行エンジン22のデータの入出力におけるインターフェース及びデータの形式に変換する。また、ビジネスルールラッパー27は、形式を変換したReservationBeanに対し、識別情報としてルール処理IDを付加する。
Step S215:
Next, the
Then, the
Here, when the process identification information matches, the
Further, the
Through the processing described above, the
ステップS216:
次に、ビジネスルール実行エンジン22は、インターフェースコンテナKSessionにおけるPaymentStatusBeanに記述されている、ルール識別情報と、「予約販売額合計」及び「予約入金額合計」のデータとを読み出す。
また、ビジネスルール実行エンジン22は、ルール識別情報に対応するビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200から読み出す。
そして、ビジネスルール実行エンジン22は、この読み出したビジネスルール定義体ファイル302の記述にしたがって、プロセス識別番号「2」のビジネスルールの処理を実行する。
上述したように、プロセス識別番号「2」のプロセスの「入金ステータスを検索する」処理に用いるデータの「予約販売額合計」及び「予約入金額合計」とが、ビジネスルール実行エンジン22に対し、インターフェースコンテナKSessionを介して、サーブレット24Aから供給されている。
Step S216:
Next, the business
Further, the business
Then, the business
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
次に、ビジネスルール実行エンジン22は、インターフェースコンテナのKSessionに配置されたPaymentsStatusBeanの記述から、付加されたルール識別情報を抽出する。
そして、ビジネスルール実行エンジン22は、抽出したルール識別情報に対応するビジネスルール定義体ファイル302を、ビジネスルール定義体ファイル記憶部200から検索して読み出す。
次に、ビジネスルール実行エンジン22は、ビジネスルール定義体ファイル記憶部200から読み出したビジネスルール定義体ファイル302の記述に従い、サーブレット24Aから委譲されたデータ「予約販売額合計」及び「予約入金額合計」を用い、ビジネスルール処理を実行する。
Next, the business
Then, the business
Next, in accordance with the description of the business
このとき、ビジネスルール実行エンジン22は、ビジネスルール定義体ファイル302に記述された条件式により、供給された「予約販売額合計」及び「予約入金額合計」の比較判定により、入金ステータスが「未入金」、「一部入金」、「入金済」、「入金超過」のいずれであるかの判定処理を行う。
そして、ビジネスルール実行エンジン22は、判定処理の結果として選択された入金ステータスを、インターフェースコンテナKSessionに配置されている、ビジネスルール処理を行ったビジネスルール定義体ファイル302のファイル名と同一のルール識別情報を有するPaymentsStatusBeanの出力する変数に書き込む。
At this time, the business
Then, the business
ステップS217:
次に、インターフェースコンテナKSessionに配置されたPaymentsBeanに対し、ビジネスルール実行エンジン22がビジネスルール処理の結果を書き込むと、ビジネスルールラッパー27は、このインターフェースコンテナKSessionに配置されたPaymentsBeanのなかから、ルール処理IDにより選択したPaymentsBeanに対してインターフェース及びデータの形式に変換する処理を行う。
ここで、ビジネスルールラッパー27は、インターフェースコンテナKSessionに配置されたPaymentsBeanに記述されている、「予約入金ステータス」のインターフェース及びデータの形式の変換を行う。
すなわち、ビジネスルールラッパー27は、PaymentsBeanのインターフェース及びデータの形式を、ビジネスルール実行エンジン22において用いられる形式から、サーブレット24Aで用いられる形式に変換する。
Step S217:
Next, when the business
Here, the
That is, the
ステップS218:
サービスアダプタ25は、ビジネスルールラッパー27が予約入金ステータスが書き込まれたPaymentsBeanから、プロセス識別情報として付加されているプロセス識別情報「2」を読み出す。
そして、サービスアダプタ25は、読み出したプロセス識別情報「2」と一致するプロセス識別情報を有するサーブレット24Aへ、PaymentsBeanを介してビジネスプロセス処理を委譲する。
Step S218:
The
Then, the
ステップS219:
サーブレット24Aは、サービスアダプタ25から処理を委譲されたPaymentsBeanより、判定処理の結果である入金ステータスのデータを抽出し、この抽出した入金ステータスのデータをJSP23に出力する。
Step S219:
The
ステップS220:
JSP23は、入金ステータスのデータが供給されると、このサーブレット24Aから供給された入金ステータスのデータが表示される画面(ページ)を構成し、構成した画面をclientへ送信する。
そして、clientは、ウェブサーバー2から画面が供給されると、この画面を表示装置に表示し、ユーザに入金処理の検索結果を表示する。
また、JSP23は、業務処理「予約基本を検索する」における次に処理するプロセス、すなわちプロセス識別情報「3」のプロセス「予約基本を選択する」のサーブレット24Bを実行する。
Step S220:
When the deposit status data is supplied, the
Then, when the screen is supplied from the
Further, the
上述したように、本実施形態のビジネスプロセス/ビジネスルール実行システムは、ルール識別情報の有無に対応して、プロセス識別情報と、プロセスの委譲先を示すエンジン識別情報との対応を示す対応テーブルにより、ビジネスプロセス実行エンジン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
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
しかしながら、このサービスアダプタ25をプロセス毎に生成する構成としても良い。
すなわち、プログラム生成装置1は、ビジネスプロセス実行エンジン21またはビジネスルール実行エンジン22のいずれかに、プロセスの処理を委譲するかが設定されたサービスアダプタ25のプログラムファイルとして、サービスアダプタファイル103をプロセス毎に生成する。
すなわち、プログラム生成装置1は、ルール識別情報が付加されていないプロセスに対応し、入力されたビーンをビジネスプロセス実行エンジン21へ出力するサービスアダプタ25と、ルール識別情報が付加されているプロセスに対応し、入力されたビーンをビジネスルール実行エンジン22へ出力するサービスアダプタ25との各々のプログムファイルであるサービスアダプタファイル103を、ルール識別情報が付加されているか否かでプロセス毎に生成する。
そして、プログラム生成装置1は、このサービスアダプタファイル103と、このプロセスのプロセス識別情報とを対応づけ、サーバー記憶部3へコピーする。
However, the
That is, the
That is, the
Then, the
また、ビジネスプロセス/ビジネスルール実行システムを動作させる際、ウェブサーバー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
The
The
すなわち、サービスアダプタ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
On the other hand, if the input bean is PaymentsBean, that is, the
With the configuration described above, according to the present embodiment, when the program of the
また、本実施形態においては、異なるサーブレット24間において、すなわち複数の画面間にわたり、情報を引き継ぎたい場合、セッションスコープに引き継ぎたい情報を格納して、格納した画面と異なる他の画面にてセッションスコープから引き継ぎたい情報を読み出して利用することができる。
図13は、複数画面において同一の情報を引き継ぎたい情報がある場合におけるビジネスプロセス定義体ファイル301のテーブルの記述例を示す図である。
In this embodiment, when information is to be taken over between
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
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
この補足に、セッションスコープへのデータの格納を示す文字列がセッションスコープへのデータの設定を示す[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
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
上述した構成により、本実施形態によれば、サーブレットが連続しておらず、リクエストスコープに引き継ぎたい情報を格納することができない場合、またクッキーが使えない設定となっている場合などに、既に述べた一般的なセッション管理機能(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
また、「コンピュータシステム」は、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
24A, 24B ...
Claims (8)
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析部と、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成部と、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成部と
を備えることを特徴とするプログラム生成装置。 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.
前記プロセスの委譲先が前記ビジネスルール実行エンジンである場合、前記サーブレットが生成する前記ビジネスルール実行エンジンとデータの授受を行う第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.
前記プログラム生成装置が備えるビジネスプロセス定義体解析部が、前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析過程と、
前記プログラム生成装置が備えるサーブレット生成部が、前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成過程と、
前記プログラム生成装置が備えるサービスアダプタ生成部が、前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成過程と
を備えるプログラム生成方法。 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.
前記ビジネスプロセス定義体ファイルから、前記プロセスを識別するプロセス識別情報、当該プロセスの処理の種類を示す項目種別、当該プロセスで処理する対象の項目情報、及び当該プロセスが前記ビジネスルール実行エンジンが処理することを示すルール識別情報とからなるプログラム生成情報を読み出すビジネスプロセス定義体解析手段、
前記プロセス毎に生成され、前記プログラム生成情報と、予め設定されたフォーマットに従った記述とにより、前記ウェブサービスにおけるプロセスを実行する、前記プロセス識別情報で識別されるサーブレットを生成するサーブレット生成手段、
前記サーブレットに記述された前記プロセス識別情報に対応する前記プロセスの委譲先を、前記ルール識別情報の有無により、前記ビジネスプロセス実行エンジン及び前記ビジネスルール実行エンジンのいずれかに設定するプログラムであるサービスアダプタを生成するサービスアダプタ生成手段、
として機能させるためのプログラム。 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.
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)
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)
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 |
-
2011
- 2011-08-01 JP JP2011168540A patent/JP5703165B2/en active Active
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 |