JP2013033333A - Business process/business rule execution system, business process/business rule execution method and program - Google Patents
Business process/business rule execution system, business process/business rule execution method and program Download PDFInfo
- Publication number
- JP2013033333A JP2013033333A JP2011168315A JP2011168315A JP2013033333A JP 2013033333 A JP2013033333 A JP 2013033333A JP 2011168315 A JP2011168315 A JP 2011168315A JP 2011168315 A JP2011168315 A JP 2011168315A JP 2013033333 A JP2013033333 A JP 2013033333A
- Authority
- JP
- Japan
- Prior art keywords
- business
- rule
- servlet
- business rule
- identification information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 790
- 230000008569 process Effects 0.000 title claims abstract description 770
- 238000012545 processing Methods 0.000 claims abstract description 125
- 238000003860 storage Methods 0.000 claims description 79
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 description 22
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 20
- 244000046052 Phaseolus vulgaris Species 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 20
- 239000000284 extract Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 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
- 239000000047 product Substances 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
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、Web(ウェブ)サービスを利用するビジネスプロセス及びビジネスルールの実行環境を提供するビジネスプロセス/ビジネスルール実行システムに関する。 The present invention relates to a business process / business rule execution system that provides an execution environment for business processes and business rules that use Web services.
従来より、コンピュータシステムの機能に標準のインターフェースを備えて、他のコンピュータシステムから当該コンピュータシステムを利用可能とする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 (processing according to business specifications) 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 includes complex arithmetic processing (logical processing including judgment and comparison, processing including numerical operation, etc. ) Business 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 business processing.
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 process is input, the configuration that distributes the business process to either the business process execution system or the business rule execution system according to the content of the process that constitutes the business process corresponds to the business rule process in the business process. Individually, it is necessary for the worker to create the product in advance.
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. An object of the present invention is to provide a business process / business rule execution system, business process / business rule execution and program capable of eliminating an increase in the work of an operator.
本発明のビジネスプロセス/ビジネスルール実行システムは、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有し、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行システムであり、前記プロセス毎に設けられ、当該プロセスの処理を実行するサーブレットと、前記サーブレットに前記ビジネスルールを識別するルール識別情報が記述されている場合、当該サーブレットの処理の委譲先をビジネスルール実行エンジンとし、一方、前記サーブレットに前記ビジネスルール識別情報が記述されていない場合、当該サーブレットの処理の委譲先をビジネスプロセス実行エンジンとするサービスアダプタとを備えることを特徴とする。 The business process / business rule execution system of the present invention performs a process according to a business process execution engine that performs processing according to business process description information indicating a procedure of business process processing, and business rule description information that indicates a procedure of business rule processing. A business process / business rule execution system having a business rule execution engine and executing a web service process corresponding to a business process definition file defining one or a plurality of business processes or business rule processes. If the servlet that executes the process of the process and the rule identification information for identifying the business rule are described in the servlet, the delegation destination of the process of the servlet And Le execution engine, whereas, if the business rule identification information to said Servlet is not described, characterized in that the transfer destination of the processing of the servlet and a service adapter to the business process execution engine.
本発明のビジネスプロセス/ビジネスルール実行システムは、前記サービスアダプタが、全ての前記プロセスに対して1つ設けられており、予め設定された前記サーブレットの処理するプロセスを識別するプロセス識別情報と、当該サーブレットのプロセスの処理の委譲先との対応を示す対応テーブルを有し、前記サーブレットに記述されたプロセス識別情報に従い、当該サーブレットの処理の委譲先を判定することを特徴とする。 In the business process / business rule execution system of the present invention, one service adapter is provided for all the processes, and process identification information for identifying a process to be processed by the servlet set in advance, It has a correspondence table showing correspondence with a servlet process processing delegation destination, and determines the servlet processing delegation destination according to the process identification information described in the servlet.
本発明のビジネスプロセス/ビジネスルール実行システムは、前記サービスアダプタが、前記プロセス各々に設けられており、自身に記述された前記プロセス識別情報と一致するサーブレットの処理を、付されている委譲先に委譲することを特徴とする。 In the business process / business rule execution system according to the present invention, the service adapter is provided in each of the processes, and a servlet process that matches the process identification information described in the service adapter is assigned to the assigned delegation destination. It is characterized by delegation.
本発明のビジネスプロセス/ビジネスルール実行システムは、前記サーブレットと前記ビジネスルール実行エンジンとの間において、相互に処理を委譲する際、委譲元のインターフェースの形式及びデータの形式を、委譲先のインターフェースの形式及びデータの形式に変換するビジネスルールラッパーと、前記サーブレットと前記ビジネスプロセス実行エンジンとの間において、相互に処理を委譲する際、委譲元のインターフェースの形式及びデータの形式を、委譲先のインターフェースの形式及びデータの形式に変換するビジネスプロセスラッパーとをさらに有することを特徴とする。 When the business process / business rule execution system of the present invention delegates processing between the servlet and the business rule execution engine, the interface format and data format of the delegation source interface are changed. When delegating processing between the business rule wrapper that converts the format and the data format, and the servlet and the business process execution engine, the delegation source interface format and the data format are designated as the delegation destination interface. And a business process wrapper for converting to a data format.
本発明のビジネスプロセス/ビジネスルール実行システムは、前記ビジネスルール記述情報と当該ビジネスルール記述情報を示す前記ルール識別情報とが対応して記憶されているビジネスルール定義体ファイル記憶部をさらに有し、前記ビジネスルール実行エンジンが、前記サーブレットから処理を委譲される際、サーブレットに記述された前記ルール識別情報を検索キーとし、前記ビジネスルール定義体ファイル記憶部を検索し、前記検索キーと同一のルール識別情報と対応して記憶されている前記ビジネスルール記述情報を読み出し、当該ビジネスルール記述情報の手順に従ってビジネスルール処理を実行することを特徴とする。 The business process / business rule execution system of the present invention further includes a business rule definition file storage unit in which the business rule description information and the rule identification information indicating the business rule description information are stored correspondingly, When the business rule execution engine delegates processing from the servlet, the rule identification information described in the servlet is used as a search key, the business rule definition file storage unit is searched, and the same rule as the search key The business rule description information stored corresponding to the identification information is read out, and business rule processing is executed according to the procedure of the business rule description information.
本発明のビジネスプロセス/ビジネスルール実行システムは、前記サーブレット間において、自身のデータを委譲データとして他のサーブレットに委譲する場合、当該サーブレットに前記データを委譲する相手を示す相手情報が記述されており、当該相手情報のサーブレットに対して当該データを、一時記憶部を介して委譲することを特徴とする。 In the business process / business rule execution system of the present invention, when the own data is delegated to other servlets as the delegated data between the servlets, partner information indicating a partner to which the data is delegated is described in the servlets. The data is delegated to the servlet of the partner information via the temporary storage unit.
本発明のビジネスプロセス/ビジネスルール実行方法は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有し、1つあるいは複数のビジネスプロセスあるいはビジネスルールのプロセスを定義したビジネスプロセス定義体ファイルに対応するウェブサービス処理を実行するビジネスプロセス/ビジネスルール実行方法であり、前記プロセス毎に設けられたサーブレットの各々が当該プロセスの処理を実行する過程と、サービスアダプタが、前記サーブレットに前記ビジネスルールを識別するルール識別情報が記述されている場合、当該サーブレットの処理の委譲先をビジネスルール実行エンジンとし、一方、前記サーブレットに前記ビジネスルール識別情報が記述されていない場合、当該サーブレットの処理の委譲先をビジネスプロセス実行エンジンとする過程とを有することを特徴とする。 The business process / business rule execution method of the present invention performs a process according to a business process execution engine that performs processing according to business process description information indicating a business process processing procedure, and business rule description information that indicates a business rule processing procedure. A business process / business rule execution method that has a business rule execution engine and executes web service processing corresponding to a business process definition file that defines one or a plurality of business processes or business rule processes. When each of the servlets provided in the process executes the process of the process, and when the service adapter describes rule identification information for identifying the business rule in the servlet, A business rule execution engine as a business rule execution engine, and, when the business rule identification information is not described in the servlet, a process process execution engine as a business process execution engine. To do.
本発明のプログラムは、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行エンジン、及びビジネスルール処理の手順が示されるビジネスルール記述情報に従って処理を行うビジネスルール実行エンジンを有し、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. And 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. Servlet means for executing the process of the process, and when the rule identification information for identifying the business rule is described in the servlet, the delegation destination of the process of the servlet is a business rule execution engine Whereas, if the business rule identification information to said Servlet is not described, a program for causing a transfer target of the process of the servlet service adapter means to business process execution engine as.
この発明によれば、ルール識別情報の有無により、ビジネスプロセス実行エンジン及びビジネスルール実行エンジンのいずれにプロセスの処理を実行させるかを振り分けるサービスアダプタを有しているため、ビジネスプロセス処理の実行に、従来のシステムのように、ビジネスルール実行エンジンの呼出処理などの不必要な負荷をかけることが無く、ビジネスプロセス処理の動作が非効率となることを抑制することが可能となる。 According to this invention, since it has the service adapter that distributes which of the business process execution engine and the business rule execution engine execute the process depending on the presence or absence of the rule identification information, Unlike conventional systems, it is possible to suppress the inefficiency of business process processing operations without applying unnecessary load such as call processing of the business rule execution engine.
<ビジネスプロセス/ビジネスルール実行システム>
以下、図面を参照して、本発明の実施形態によるビジネスプロセス/ビジネスルール実行システムを説明する。図1は、本発明の実施形態によるビジネスプロセス/ビジネスルール実行システムの構成例を示すブロック図である。
この発明の一実施形態によるビジネスプロセス/ビジネスルール実行システムは、動作環境として、例えば、JAVA(登録商標)が用いられている。
ビジネスプロセス/ビジネスルール実行システムは、ウェブサーバー2と、サーバー記憶部3とを備えている。
<Business process / Business rule execution system>
Hereinafter, a business process / business rule execution system according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a business process / business rule execution system according to an embodiment of the present invention.
In the business process / business rule execution system according to an embodiment of the present invention, for example, JAVA (registered trademark) is used 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を一意に示すルール識別情報とともに記憶されている。
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
図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.
次に、図1及び図5を用いて、本実施形態によるビジネスプロセス/ビジネスルール実行システムの動作を説明する。図5は、ビジネスプロセス定義体ファイルにおけるルール識別情報が付加されていないプロセスを処理する場合における、ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。 Next, the operation of the business process / business rule execution system according to the present embodiment will be described with reference to FIGS. 1 and 5. FIG. 5 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の表示装置に表示された業務処理の種類と、この業務処理とに用いるデータを入力欄に入力する。例えば、図9に示すように、ユーザが業務処理として「予約基本を検索する」を、データとして「予約番号」及び「予約申込者名」を入力欄にキーボード等により入力すると、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. 9, 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の形式を変換した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
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及び図6を用いて、本実施形態によるプログラム生成装置で生成したプログラムを用いた作成ビジネスプロセス/ビジネスルール実行システムの動作を説明する。図6は、ビジネスプロセス定義体ファイル301のルール識別情報が付加されているプロセスを処理する場合の、作成ビジネスプロセス/ビジネスルール実行システムの動作を示すシーケンス図である。
ステップS211:
例えば、図5に示すビジネスプロセスの処理の後、図6のビジネスルールの処理の実行として、ビジネスプロセス定義体ファイル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. 5, as the execution of the business rule processing of FIG. 6, in the description of the business process
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間において、すなわち複数の画面間にわたり、情報を引き継ぎたい場合、セッションスコープに引き継ぎたい情報を格納して、格納した画面と異なる他の画面にてセッションスコープから引き継ぎたい情報を読み出して利用することができる。
図7は、複数画面において同一の情報を引き継ぎたい情報がある場合におけるビジネスプロセス定義体ファイル301のテーブルの記述例を示す図である。
In this embodiment, when information is to be inherited between
FIG. 7 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」の文字列は、現在実行しているプロセスを実行した後に、次に実行するプロセスの識別情報を示している。したがって、図7の上部のテーブルにおいて、番号「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. Accordingly, in the upper table of FIG. 7, 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.
<ビジネスプロセス/ビジネスルール実行システムで用いるプログラム生成>
以下、図面を参照して、本発明の実施の形態であるビジネスプロセス/ビジネスルール実行システムで用いるプログラムの生成方法について説明する。図8は、この発明の一実施形態による、ビジネスプロセス/ビジネスルール実行システム(例えば、本実施形態においてはJAVA(登録商標)にて実装されている)で使用されるプログラムを生成するプログラム生成装置の構成例を示す概略ブロック図である。
この図8において、プログラム生成装置1は、ビジネスプロセス(Business Process)定義解析部11、ビジネスプロセス定義体ファイル変換部12、サーブレット(servlet)生成部13、サービスアダプタ(ServiceAdapter)生成部14、ビジネスプロセスラッパー(Business Process Wrapper)生成部15、ビジネスルールラッパー(Business Rules Wrapper)生成部16、ビジネスルール定義体ファイル解析部17及びビジネスルール定義体ファイル配備部18、記憶部19を備えている。
<Program generation used in business process / business rule execution system>
A method for generating a program used in a business process / business rule execution system according to an embodiment of the present invention will be described below with reference to the drawings. FIG. 8 shows a program generation apparatus that generates 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. 8, a
次に、図9は、ビジネスプロセス/ビジネスルール実行システムで使用されるプログラムを生成する際に用いるプログラム生成情報が記述された、ビジネスプロセス定義体ファイル301におけるテーブルの一例を示す図である。このビジネスプロセス定義体ファイル301は、業務処理毎に、ビジネスプロセス/ビジネスルール実行システムを作成する作業者により記述されて作成される。
この図9は、下記に示す項目を表形式に記述する仕様、例えばエクセル(登録商標)などにより記述されている。
業務処理は、図9に示すように複数個のプロセス、あるいは1個のプロセスから構成されている。
Next, FIG. 9 is a diagram illustrating an example of a table in the business
This FIG. 9 is described by the specification which describes the item shown below in a table format, for example, Excel (registered trademark).
The business process is composed of a plurality of processes or one process as shown in FIG.
図9のテーブルのビジネスプロセス定義としては、
項目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.
本実施形態において、プログラム生成情報とは、図9に示すビジネスプロセス定義体ファイル301におけるテーブルに記述されているプロセス識別情報、プロセス名、項目種別、操作項目情報(アトリビュート名)、操作対象、ルール識別情報(存在する場合のみ)を有している。
例えば、図9に示すビジネスプロセス定義体ファイル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. 9, 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.
図8に戻り、ビジネスプロセス定義解析部11は、図9に示すテーブルとしてのビジネスプロセス定義体ファイル301を、ユーザの操作により、外部機器あるいは外部記憶部から読み込み、記憶部19に書き込んで記憶させる。
また、ビジネスプロセス定義解析部11は、このビジネスプロセス定義体ファイル301を記憶部19から順次読み出し、業務処理を構成するプロセス毎に、プログラム生成情報を構成するプロセス識別情報、プロセス名、項目種別、操作項目情報、操作情報、操作対象、ルール識別情報の各々を抽出して読み出す。
ビジネスプロセス定義解析部11は、読み出したプロセス毎のプログラム生成情報に対し、対応するプロセスのプロセス識別情報を付加し、プロセス毎に記憶部19に一旦書き込んで記憶させる。
また、ビジネスプロセス定義解析部11は、ビジネスプロセス定義体ファイル301のテーブルにおいて、予め入力データが必要と設定されている項目に、ユーザからの入力データが記述がされていない場合、あるいは、プロセス名、項目種別、アトリビュート名などがビジネスプロセス実行エンジン及びビジネスルール実行エンジンで使用されている記述でない場合、ビジネスプロセス定義体ファイル301の記述に不備があることを図示しない、表示部などの出力部を介して作業者に対して通知する。
Returning to FIG. 8, 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におけるビジネスプロセス定義体ファイルテンプレート記憶領域から、ビジネスプロセス定義体ファイルテンプレートを読み出す。
このビジネスプロセス定義体ファイルテンプレート記憶領域には、プロセス識別情報、項目種別、操作項目情報及び操作情報の組み合わせ毎に、図9に示すビジネスプロセス定義体ファイルにおけるプロセス単位で、ビジネスプロセス実行エンジン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に書き込んで記憶させ、後にウェブサーバー2のサーバー記憶部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
次に、図10を用いて、本実施形態のプログラム生成装置1によるビジネスプロセス/ビジネスルール実行システムに用いるプログラムを生成する処理を説明する。図10は、本実施形態のプログラム生成装置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
次に、図11は、ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加されていないプロセスに対応して生成される各種プログラムを示す概念図である。
この図11に示されているように、ビジネスプロセス定義体ファイル301において、ルール識別情報が付加されていないプロセス識別情報「1」のプロセス(プロセス識別情報「3」のプロセスも同様)に対応するテーブルの記述を、ビジネスプロセス実行エンジン21の解読可能な形式としたビジネスプロセス定義体(XML)ファイル101が生成される。
同様に、ビジネスプロセス定義体(XML)ファイル101と同様に、サーブレットファイル102がサーブレット生成部13により、またビジネスプロセスラッパーファイル104がビジネスプロセスラッパー生成部15により、プロセス毎に生成される。
Next, FIG. 11 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. 11, in the business
Similarly, similarly to the business process definition body (XML) file 101, the
また、図12は、ビジネスプロセス定義体ファイル301から抽出したプログラム生成情報により、ルール識別情報が付加されているプロセスに対応して生成される各種プログラムを示す概念図である。
この図12に示されているように、ビジネスプロセス定義体ファイル301において、ルール識別情報が付加されているプロセス識別情報「2」のプロセスに対応するプログラム生成情報から、サーブレットファイル102がサーブレット生成部13により、またビジネスプロセスラッパーファイル104がビジネスプロセスラッパー生成部15により、プロセス毎に生成される。
また、図11及び図12に記載されているサービスアダプタファイル103は、既に説明したように、ルール識別情報が付加されていない、あるいは付加されているに係わらず、記憶部19に記憶されているビジネスプロセス定義体ファイル302の全てに含まれる全プロセスに対して1つ生成される。
FIG. 12 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. 12, in the business
Further, as described above, the
次に、図13は、プロセス識別情報「1」、「2」及び「3」のプロセスから構成される業務処理から生成される各種プログラムを示す概念図である。
既に、図11及び図12において説明したように、サーブレットファイル102は、ルール識別情報が付加されているか否かによらず、プロセスに対して1個生成される。このため、図13の業務処理のビジネスプロセス定義体ファイル301のプロセスが3個のため、このビジネスプロセス定義体ファイル301の場合に、サーブレットファイル102はサーブレット生成部13によって3個生成される。
また、ビジネスプロセス定義体(XML)ファイル101は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図13のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「1」及び「3」の2個であり、ビジネスプロセス定義体(XML)ファイル101は、ビジネスプロセス定義体ファイル変換部12により2個生成される。
Next, FIG. 13 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. 11 and 12, 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. 13, there are two processes with no rule identification information, process identification information “1” and “3”. Two 101 are generated by the business process definition
また、ビジネスプロセスラッパーファイル104は、ルール識別情報が付加されていないプロセスのみに対して生成される。このため、図13のビジネスプロセス定義体ファイル301には、ルール識別情報が付加されていないプロセスは、プロセス識別情報「1」及び「3」の2個であり、ビジネスプロセスラッパーファイル104は、ビジネスプロセスラッパー生成部15により2個生成される。
また、ビジネスルールラッパーファイル105は、ルール識別情報が付加されているプロセスのみに対して生成される。このため、図13のビジネスプロセス定義体ファイル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におけるウェブサーバー2、また図8におけるウェブサーバー2の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりプログラムの生成処理、ビジネスプロセス及びビジネスルールの処理の管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
Further, the program for realizing the functions of 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
24,24A,24B…サーブレット
25…サービスアダプタ
26…ビジネスプロセスラッパー
27…ビジネスルールラッパー
101…ビジネスプロセス定義体(XML)ファイル
102…サーブレットファイル
103…サービスアダプタファイル
104…ビジネスプロセスラッパーファイル
105…ビジネスルールラッパーファイル
200…ビジネスルール定義体ファイル記憶部
301…ビジネスプロセス定義体ファイル
302…ビジネスルール定義体ファイル
DESCRIPTION OF
24, 24A, 24B ...
Claims (8)
前記プロセス毎に設けられ、当該プロセスの処理を実行するサーブレットと、
前記サーブレットに前記ビジネスルールを識別するルール識別情報が記述されている場合、当該サーブレットの処理の委譲先をビジネスルール実行エンジンとし、一方、前記サーブレットに前記ビジネスルール識別情報が記述されていない場合、当該サーブレットの処理の委譲先をビジネスプロセス実行エンジンとするサービスアダプタと
を備えることを特徴とするビジネスプロセス/ビジネスルール実行システム。 One or a plurality of business process execution engines that perform processing according to business process description information that indicates business process processing procedures, and business rule execution engines that perform processing according to business rule description information that indicates business rule processing procedures Business process / business rule execution system that executes web service processing corresponding to the business process definition file that defines the business process or business rule process
A servlet that is provided for each process and executes the process of the process;
When rule identification information for identifying the business rule is described in the servlet, the delegation destination of processing of the servlet is a business rule execution engine. On the other hand, when the business rule identification information is not described in the servlet, A business process / business rule execution system comprising: a service adapter having a business process execution engine as a delegation destination of the servlet process.
前記サーブレットと前記ビジネスプロセス実行エンジンとの間において、相互に処理を委譲する際、委譲元のインターフェースの形式及びデータの形式を、委譲先のインターフェースの形式及びデータの形式に変換するビジネスプロセスラッパーと
をさらに有することを特徴とする請求項1に記載のビジネスプロセス/ビジネスルール実行システム。 A business rule wrapper for converting the format of the delegation source interface and the data format into the format of the delegation destination interface and the data format when delegating processing between the servlet and the business rule execution engine; ,
A business process wrapper that converts the format of the delegation source interface and the data format to the format of the delegation destination interface and the data format when delegating processing between the servlet and the business process execution engine; The business process / business rule execution system according to claim 1, further comprising:
前記ビジネスルール実行エンジンが、前記サーブレットから処理を委譲される際、サーブレットに記述された前記ルール識別情報を検索キーとし、前記ビジネスルール定義体ファイル記憶部を検索し、前記検索キーと同一のルール識別情報と対応して記憶されている前記ビジネスルール記述情報を読み出し、当該ビジネスルール記述情報の手順に従ってビジネスルール処理を実行することを特徴とする請求項1から請求項4のいずれか一項に記載のビジネスプロセス/ビジネスルール実行システム。 A business rule definition file storage unit in which the business rule description information and the rule identification information indicating the business rule description information are stored correspondingly;
When the business rule execution engine delegates processing from the servlet, the rule identification information described in the servlet is used as a search key, the business rule definition file storage unit is searched, and the same rule as the search key The business rule description information stored in correspondence with the identification information is read, and business rule processing is executed according to the procedure of the business rule description information. The business process / business rule execution system described.
前記プロセス毎に設けられたサーブレットの各々が当該プロセスの処理を実行する過程と、
サービスアダプタが、前記サーブレットに前記ビジネスルールを識別するルール識別情報が記述されている場合、当該サーブレットの処理の委譲先をビジネスルール実行エンジンとし、一方、前記サーブレットに前記ビジネスルール識別情報が記述されていない場合、当該サーブレットの処理の委譲先をビジネスプロセス実行エンジンとする過程と
を有することを特徴とするビジネスプロセス/ビジネスルール実行方法。 One or a plurality of business process execution engines that perform processing according to business process description information that indicates business process processing procedures, and business rule execution engines that perform processing according to business rule description information that indicates business rule processing procedures Business process / business rule execution method that executes web service processing corresponding to the business process definition file that defines the business process or business rule process of
Each of the servlets provided for each process executes the process of the process;
When the service adapter describes rule identification information for identifying the business rule in the servlet, the delegation destination of the processing of the servlet is a business rule execution engine, while the business rule identification information is described in the servlet. If not, a business process / business rule execution method characterized by having a process of using a business process execution engine as a business process execution engine.
前記プロセス毎に設けられ、当該プロセスの処理を実行するサーブレット手段、
前記サーブレットに前記ビジネスルールを識別するルール識別情報が記述されている場合、当該サーブレットの処理の委譲先をビジネスルール実行エンジンとし、一方、前記サーブレットに前記ビジネスルール識別情報が記述されていない場合、当該サーブレットの処理の委譲先をビジネスプロセス実行エンジンとするサービスアダプタ手段、
として機能させるためのプログラム。 One or a plurality of business process execution engines that perform processing according to business process description information that indicates business process processing procedures, and business rule execution engines that perform processing according to business rule description information that indicates business rule processing procedures To a computer that is a business process / business rule execution system that executes web service processing corresponding to the business process definition file that defines the business process or business rule process of
Servlet means that is provided for each process and executes processing of the process;
When rule identification information for identifying the business rule is described in the servlet, the delegation destination of processing of the servlet is a business rule execution engine. On the other hand, when the business rule identification information is not described in the servlet, Service adapter means that uses the business process execution engine as the delegation destination of the servlet processing,
Program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011168315A JP5715905B2 (en) | 2011-08-01 | 2011-08-01 | Business process / business rule execution system, business process / business rule execution method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011168315A JP5715905B2 (en) | 2011-08-01 | 2011-08-01 | Business process / business rule execution system, business process / business rule execution method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013033333A true JP2013033333A (en) | 2013-02-14 |
JP5715905B2 JP5715905B2 (en) | 2015-05-13 |
Family
ID=47789182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011168315A Active JP5715905B2 (en) | 2011-08-01 | 2011-08-01 | Business process / business rule execution system, business process / business rule execution method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5715905B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015137641A3 (en) * | 2014-03-11 | 2017-05-18 | (주)이노룰스 | Business rule management system having hierarchical rule structure and representation method thereof |
KR102217937B1 (en) * | 2020-02-27 | 2021-02-23 | 주식회사 이노룰스 | System for business rule management |
WO2021172953A1 (en) * | 2020-02-27 | 2021-09-02 | 주식회사 이노룰스 | Business rule management system |
CN118363751A (en) * | 2024-04-16 | 2024-07-19 | 深圳艾融科技有限公司 | Rule matching method, device and medium based on high concurrency decision engine |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521931A (en) * | 2002-03-28 | 2005-07-21 | エスアーペー アクチエンゲゼルシャフト | Exchange infrastructure system and method |
JP2009099133A (en) * | 2007-10-15 | 2009-05-07 | Sap Ag | Enhanced rule engine |
-
2011
- 2011-08-01 JP JP2011168315A patent/JP5715905B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521931A (en) * | 2002-03-28 | 2005-07-21 | エスアーペー アクチエンゲゼルシャフト | Exchange infrastructure system and method |
JP2009099133A (en) * | 2007-10-15 | 2009-05-07 | Sap Ag | Enhanced rule engine |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015137641A3 (en) * | 2014-03-11 | 2017-05-18 | (주)이노룰스 | Business rule management system having hierarchical rule structure and representation method thereof |
KR102217937B1 (en) * | 2020-02-27 | 2021-02-23 | 주식회사 이노룰스 | System for business rule management |
WO2021172953A1 (en) * | 2020-02-27 | 2021-09-02 | 주식회사 이노룰스 | Business rule management system |
CN118363751A (en) * | 2024-04-16 | 2024-07-19 | 深圳艾融科技有限公司 | Rule matching method, device and medium based on high concurrency decision engine |
CN118363751B (en) * | 2024-04-16 | 2024-10-18 | 深圳艾融科技有限公司 | Rule matching method, device and medium based on high concurrency decision engine |
Also Published As
Publication number | Publication date |
---|---|
JP5715905B2 (en) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6218057B1 (en) | Automatic response server device, terminal device, response system, response method, and program | |
US10540636B2 (en) | Method and apparatus for providing process guidance | |
EP2426609B1 (en) | Context-based user interface, search, and navigation | |
US7313552B2 (en) | Boolean network rule engine | |
US7437703B2 (en) | Enterprise multi-agent software system with services able to call multiple engines and scheduling capability | |
JP7044893B2 (en) | Business analysis method | |
EP3069268A1 (en) | Transforming natural language requirement descriptions into analysis models | |
CN104915413A (en) | Health monitoring method and health monitoring system | |
JP2019502981A (en) | Automatic voice interaction script discovery | |
JP5715905B2 (en) | Business process / business rule execution system, business process / business rule execution method and program | |
CN104679642A (en) | Language independent processing of logs in a log analytics system | |
US10109214B2 (en) | Cognitive bias determination and modeling | |
JP5703165B2 (en) | Program generating apparatus, method and program | |
JP2010282241A (en) | File management device, file management system, file management method, and program | |
JP2003345697A (en) | Method, apparatus, and storage medium for providing integrated interface | |
Rizzi et al. | Nirdizati: an advanced predictive process monitoring toolkit | |
JP3987018B2 (en) | Integrated business software introduction and operation support system | |
US20220269744A1 (en) | Methods and systems for enabling dynamic filters for software search optimization | |
US20140089898A1 (en) | Using multiple technical writers to produce a specified software documentation package | |
JP7188461B2 (en) | SECURITY INFORMATION ANALYZER, SYSTEM, METHOD AND PROGRAM | |
Mitzig et al. | SciELO suggester: An intelligent support tool for cataloging library resources | |
Hirchoua et al. | Topic hierarchies for knowledge capitalization using hierarchical Dirichlet processes in big data context | |
JP7256562B1 (en) | Intelligence generation system, method and program | |
Xiao et al. | Syntactic file and semantic file alignment for E-Business document editing and exchange | |
JP7482335B1 (en) | Search support system, search support method and program |
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: 20140930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141222 |
|
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: 20150217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5715905 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 |