JP2010026695A - Business process execution method, business process execution device and business process execution program - Google Patents
Business process execution method, business process execution device and business process execution program Download PDFInfo
- Publication number
- JP2010026695A JP2010026695A JP2008185935A JP2008185935A JP2010026695A JP 2010026695 A JP2010026695 A JP 2010026695A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2010026695 A JP2010026695 A JP 2010026695A
- Authority
- JP
- Japan
- Prior art keywords
- business process
- execution
- activity
- business
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 606
- 230000000694 effects Effects 0.000 claims abstract description 231
- 238000012545 processing Methods 0.000 claims description 46
- 230000010354 integration Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 9
- 230000002688 persistence Effects 0.000 description 68
- 238000011165 process development Methods 0.000 description 52
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、ビジネスプロセス実行時に消費されるリソースを低減する技術に関する。 The present invention relates to a technique for reducing resources consumed when executing a business process.
近年、企業の統廃合及び市場競争の激化といった企業をとりまくビジネス環境の激しい変化に対し、短期間で柔軟に対応可能なシステムが求められている。そこで、SOA(Service Oriented Architecture)の考え方に基づいたシステムが注目を集めている。SOAとは、業務において独立した機能を有するソフトウェアをサービスと呼ばれる単位で構築し、サービスの名前及び入出力メッセージの形式が定義されたサービスのインターフェース情報を公開することによって、当該サービスの機能を提供するソフトウェア構築手法の一つである。ここでは、SOAに基づいて構築されたシステムを、SOAシステムと呼ぶこととする。 In recent years, there has been a demand for a system that can flexibly respond in a short period of time to drastic changes in the business environment surrounding a company, such as the consolidation of companies and intensifying market competition. Thus, a system based on the concept of SOA (Service Oriented Architecture) has attracted attention. The SOA provides software functions that have independent functions in the business in units called services, and provides service functions by publishing service interface information in which service names and input / output message formats are defined. It is one of the software construction techniques. Here, a system constructed based on the SOA is referred to as an SOA system.
SOAシステムでは、可能な限り既存のサービスを再利用し、また、必要に応じて新たなサービスを開発し、これらのサービスを組み合わせて新たな機能を提供することによって、業務の変化に柔軟に対応することができる。以上のように複数のサービスを組み合わせることによって提供される新たなサービスは、ビジネスプロセスと呼ばれる。 In the SOA system, we can flexibly respond to business changes by reusing existing services as much as possible, developing new services as needed, and combining these services to provide new functions. can do. A new service provided by combining a plurality of services as described above is called a business process.
ビジネスプロセスは、BPEL(Business Process Execution Language)などのビジネスプロセス記述言語を用いて、複数のサービスを組み合わせて新たな機能を提供する。ビジネスプロセスは、自身もサービスとなりうる。したがって、ビジネスプロセスを組み合わせて新たなビジネスプロセスを構成することも可能である。 The business process provides a new function by combining a plurality of services using a business process description language such as BPEL (Business Process Execution Language). A business process can itself be a service. Therefore, a new business process can be configured by combining business processes.
ビジネスプロセスは、独立した機能を有するサービスを組み合わせて機能を提供するため、機能の変更が必要になった際には、サービスの組み合わせを変更するだけで対応することが可能であり、ビジネスの変化に柔軟に対応することができる。ビジネスプロセスには、サービス呼び出しの他、分岐処理及びフォーマット編集処理などのフロー制御を記述することが可能である。このようなビジネスプロセスを構成する要素をアクティビティと呼ぶ。また、ビジネスプロセスにおいて、各アクティビティで使用されるメッセージインスタンスを格納するための領域を変数と呼ぶ。変数は、サービス呼び出しの入出力メッセージの格納及び分岐処理の分岐条件などに用いることができる。 Since business processes provide functions by combining services with independent functions, when changes in functions become necessary, it is possible to respond by simply changing the combination of services. Can respond flexibly. In the business process, it is possible to describe flow control such as branch processing and format editing processing in addition to service call. Elements that constitute such a business process are called activities. In the business process, an area for storing a message instance used in each activity is called a variable. The variable can be used for storing an input / output message of a service call and a branch condition of a branch process.
ビジネスプロセスの記述方式としては、前述したBPELなどのビジネスプロセス定義言語が用いられる。ビジネスプロセス及びサービスの実装方式としては、各種のコンポーネントモデルなどが用いられる。また、ビジネスプロセス及びサービスの実行基盤プログラムとしては、実装されたコンポーネントを実行する各種プログラムが用いられる。ここでは、サービスの実行基盤プログラムをサービス実行基盤プログラムと呼ぶ。 As a business process description method, the business process definition language such as BPEL described above is used. Various component models are used as business process and service implementation methods. Various programs for executing the implemented components are used as business process and service execution platform programs. Here, the service execution platform program is referred to as a service execution platform program.
業務フローが記述されたビジネスプロセスを実行すると、非常に長い時間を要する場合がある。例えば、人手を介した作業を含む場合などは、数日から数週間に渡る場合もある。ビジネスプロセスの実行は、一般的にインスタンスをメモリ上に配備して実行するが、ビジネスプロセスにおいて人手作業の完了を待機するなど、待ち状態になっている間もメモリ上に配備しておくことは非効率的である。そこで、待ち状態となったビジネスプロセスの実行時情報をデータベース(DB)などに永続化して実行を一時的に中断し、人手作業が完了した時点で、ビジネスプロセスを活性化して処理を継続することによって、メモリの利用効率を向上させる手法が一般的に用いられている。ここで、永続化とは、ビジネスプロセスのフロー定義、フローに含まれる各アクティビティの実行状態、変数の定義情報及び変数の値といった、ビジネスプロセスの実行時情報をDBなどに格納することである。また、活性化とは、DBに永続化した情報を取得し、メモリ上に展開することである。 When a business process in which a business flow is described is executed, it may take a very long time. For example, when work involving human intervention is involved, it may take several days to several weeks. Business process execution is generally executed by deploying an instance in memory, but it is not possible to deploy it in memory while it is in a wait state, such as waiting for completion of a manual operation in a business process. Inefficient. Therefore, the execution time information of the waiting business process is made permanent in a database (DB) and the execution is temporarily interrupted, and when the manual work is completed, the business process is activated and processing is continued. Therefore, a technique for improving the memory utilization efficiency is generally used. Here, the persistence means storing business process runtime information such as a business process flow definition, an execution state of each activity included in the flow, variable definition information, and variable values in a DB or the like. In addition, activation refers to acquiring information that is made permanent in the DB and deploying it on the memory.
特許文献1には、ビジネスプロセス実行時に必要なメモリ量を削減するために、ビジネスプロセスの実行時に必要に応じて変数をメモリ上に作成し、不要になった時点で変数をメモリ上から削除することによって、メモリ上に必要以上の変数がロードされないようにする技術が開示されている。
ビジネスプロセスが長大化すると、ビジネスプロセスの実行時間も長時間に渡る傾向がり、ビジネスプロセスが永続化及び活性化される頻度が増加する。また、ビジネスプロセスを構成する業務ステップ数及びビジネスプロセスが利用する変数の数が増加することから、ビジネスプロセスを永続化又は活性化する際に操作される情報量も増加する。 When a business process becomes longer, the execution time of the business process tends to be longer, and the frequency with which the business process is made permanent and activated increases. Further, since the number of business steps constituting the business process and the number of variables used by the business process increase, the amount of information manipulated when the business process is made permanent or activated also increases.
従来の技術では、ビジネスプロセス全体を一括して活性化又は永続化するため、ビジネスプロセスを活性化した際に実行されない業務ステップの定義情報及び実行状態、活性化時に利用されない変数定義及び値なども常に活性化又は永続化されていた。このように、実行されないアクティビティ及び利用されない変数情報を活性化することは、メモリなどのリソースを不要に消費してしまうため、メモリの効率的な利用を妨げていた。 In the conventional technology, since the entire business process is activated or made permanent, the definition information and execution state of business steps that are not executed when the business process is activated, variable definitions and values that are not used at the time of activation, etc. It was always activated or permanent. As described above, activating an activity that is not executed and variable information that is not used consumes resources such as a memory unnecessarily, which hinders efficient use of the memory.
また、特許文献1に開示された技術は、ビジネスプロセスで定義された変数が必要になった時点で変数をメモリ上に作成し、不要になった時点で変数をメモリから破棄することによって、メモリ利用効率を向上させている。しかし、変数を必要に応じて生成するため、新たな変数が必要になるたびにDBから情報を読み込んで、メモリ領域を割り当てる必要があるため、実行性能が悪化するおそれがある。また、ビジネスプロセスのフロー定義を解析していないため、フロー定義に基づいた効率的なリソースの利用が実現されていない。
Further, the technique disclosed in
本発明は、ビジネスプロセスの実行性能を向上させ、ビジネスプロセスの実行に必要なリソース量を削減することを目的とする。 An object of the present invention is to improve the execution performance of a business process and reduce the amount of resources necessary for executing the business process.
本発明の代表的な一形態では、サービスを提供するサービス実行装置と、前記サービスを組み合わせて業務処理が定義されたビジネスプロセスを実行するビジネスプロセス実行装置と、を備える計算機システムにおけるビジネスプロセス実行方法であって、前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、前記方法は、前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、前記特定されたアクティビティを含む領域を抽出し、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する。 In a typical embodiment of the present invention, a business process execution method in a computer system comprising: a service execution device that provides a service; and a business process execution device that executes a business process in which business processing is defined by combining the services. The business process execution device includes an interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor, and the business process is the business process Is divided into areas including at least one activity, and the memory stores process execution state information for storing execution information including execution progress of the business process, and correspondence between the area and the activity The Process division information, and when the method accepts execution of the business process, the method identifies an activity to be executed based on the process execution state information and the process division information, and the identified An area including an activity is extracted, execution information corresponding to the extracted area is acquired from the process execution state information, and an activity included in the extracted area is executed based on the acquired execution information. When execution of all activities included in the extracted area is completed, execution information corresponding to the extracted area is stored in the process execution state information.
本発明の一形態によれば、ビジネスプロセスを分割して実行することによって、ビジネスプロセスの実行単位を縮小し、ビジネスプロセス実行時に必要なリソース量を削減することができる。 According to an aspect of the present invention, by dividing and executing a business process, the execution unit of the business process can be reduced, and the amount of resources required when executing the business process can be reduced.
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施の形態のSOAシステムの構成の一例を示す図である。 FIG. 1 is a diagram showing an example of the configuration of the SOA system according to the embodiment of this invention.
本発明の実施の形態のSOAシステムは、ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701を含む。ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701は、互いにネットワークによって接続される。
The SOA system according to the embodiment of this invention includes a business
ビジネスプロセス実行計算機201は、ビジネスプロセスを実行する。ビジネスプロセス実行計算機201は、パーソナルコンピュータ(以下、パソコンと呼ぶ)などの汎用の計算機である。ビジネスプロセス実行計算機201の構成の詳細については、図3にて後述する。
The business
ビジネスプロセス実行計算機201は、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、変数参照関係格納テーブル240、プロセス実行状態格納テーブル250、及び変数状態格納テーブル260を含む。本発明の実施の形態では、ビジネスプロセス実行部221及びロード領域判定部222はソフトウェアとして実現されているが、これに限定されるものではなく、専用の半導体回路などによって実現されてもよい。
The business
ビジネスプロセス実行部221は、プロセス実行状態格納テーブル250及び変数状態格納テーブル260などを利用してビジネスプロセスの実行を制御する。ビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムなどを利用して実現可能であるため、詳細の説明を省略する。なお、本発明の実施の形態におけるビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムの機能に加え、ビジネスプロセスを活性化するタイミングで、ロード領域判定部222に処理を要求する機能を有する。
The business
プロセス実行状態格納テーブル250は、ビジネスプロセスの実行状況を格納する。プロセス実行状態格納テーブル250の詳細については、図4にて後述する。変数状態格納テーブル260は、ビジネスプロセス実行時に設定される変数を格納する。変数状態格納テーブル260の詳細については、図5にて後述する。 The process execution state storage table 250 stores the execution status of business processes. Details of the process execution state storage table 250 will be described later with reference to FIG. The variable state storage table 260 stores variables that are set when the business process is executed. Details of the variable state storage table 260 will be described later with reference to FIG.
ロード領域判定部222は、ビジネスプロセス実行部221からの要求に基づいて、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240からビジネスプロセスの実行に必要な情報を取得し、結果をビジネスプロセス実行部221に応答する。
Based on the request from the business
プロセス分割結果格納テーブル230は、分割されたビジネスプロセスを領域ごとに格納する。プロセス分割結果格納テーブル230の詳細については、図6にて後述する。変数参照関係格納テーブル240は、分割されたビジネスプロセスの領域ごとに使用される変数を格納する。変数参照関係格納テーブル240の詳細については、図7にて後述する。 The process division result storage table 230 stores the divided business processes for each area. Details of the process division result storage table 230 will be described later with reference to FIG. The variable reference relationship storage table 240 stores variables used for each divided business process area. Details of the variable reference relationship storage table 240 will be described later with reference to FIG.
ビジネスプロセス開発用計算機300は、ビジネスプロセス開発者800がビジネスプロセスを定義するための計算機である。ビジネスプロセス開発用計算機300は、ビジネスプロセス実行計算機201と同様に、パソコンなどの汎用の計算機である。ビジネスプロセス開発用計算機300の構成の詳細については、図2にて後述する。
The business
ビジネスプロセス開発用計算機300は、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330を含む。本発明の実施の形態では、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330はソフトウェアとして実現されているが、専用の半導体回路などによって実現されてもよい。
The business
ビジネスプロセス開発部310は、ビジネスプロセス開発者800がビジネスプロセスを定義するためのアプリケーションである。ビジネスプロセス開発部310は、GUI(Graphical User Interface)ツールであることが多いが、これに限定されるものではない。ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどによって実現可能であるため、詳細の説明は省略する。
The business
ビジネスプロセス開発者800によって定義されたビジネスプロセスは、BPELなどのプロセス定義記述言語によって記述される。ビジネスプロセスの定義情報は、XML(eXtensible Markup Language)などの形式で記述されるが、これに限定されるものではない。ビジネスプロセスの定義例については、図8にて後述する。 The business process defined by the business process developer 800 is described in a process definition description language such as BPEL. The business process definition information is described in a format such as XML (extensible Markup Language), but is not limited thereto. A definition example of the business process will be described later with reference to FIG.
本発明の実施の形態では、ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどに加え、ビジネスプロセス永続化ポイント提示部311及びビジネスプロセス永続化ポイント指定部312を含む。
In the embodiment of the present invention, the business
ビジネスプロセス永続化ポイント提示部311は、後述するフロー定義解析部320によるビジネスプロセスの解析結果に基づいて抽出されたビジネスプロセスの永続化ポイントをビジネスプロセス開発者800に提示する。また、ビジネスプロセス永続化ポイント指定部312は、ビジネスプロセス開発者800から、ビジネスプロセスを永続化するポイントの入力を受け付ける。
The business process persistence
フロー定義解析部320は、ビジネスプロセス開発者800が開発したビジネスプロセスのフローを後述のアルゴリズムに従って解析し、ビジネスプロセスの永続化ポイントを抽出する。さらにフロー定義解析部320は、抽出された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。
The flow
なお、フロー定義解析部320は、抽出したビジネスプロセスの永続化ポイントを、ビジネスプロセス永続化ポイント提示部311を用いて、ビジネスプロセス開発者800に提示してもよい。ビジネスプロセス開発者800は、ビジネスプロセス永続化ポイント指定部312を用いて、提示されたビジネスプロセスの永続化ポイントを削除したり、新たな永続化ポイントを指定するなどの編集処理を行うことができる。ビジネスプロセス開発者800に解析結果を提示した場合には、フロー定義解析部320は、ビジネスプロセス開発者800によって指定された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。
The flow
変数参照関係解析部330は、フロー定義解析部320による分割結果に対して後述のアルゴリズムを適用することによって、分割された各領域から参照される変数を抽出し、結果を変数参照関係格納テーブル240に格納する。
The variable reference
なお、本発明の実施の形態では、ビジネスプロセス実行計算機201のみがプロセス分割結果格納テーブル230及び変数参照関係格納テーブル240を保持しているが、ビジネスプロセス開発用計算機300が同等の情報を保持していてもよい。また、ビジネスプロセス実行計算機201がビジネスプロセス開発用計算機300に保持されているテーブルを参照する構成としてもよい。さらに、本発明の実施の形態ではビジネスプロセス実行計算機201とビジネスプロセス開発用計算機300を異なる計算機としているが、これに限定されることはなく、単一の計算機で実現することも可能である。
In the embodiment of the present invention, only the business
クライアント用計算機701は、ビジネスプロセス実行計算機201にビジネスプロセスの実行を要求するための計算機である。クライアント用計算機701は、パソコンなどの汎用の計算機である。クライアント用計算機701は、サービス呼び出しプログラム710を含む。
The
クライアント用計算機701は、クライアント820からの要求を受け付け、サービス呼び出しプログラム710を実行し、ビジネスプロセス実行計算機201のビジネスプロセス実行部221にサービスの実行要求を送信することによって、サービスを利用する。サービス呼び出しプログラム710は、各種のプログラム言語によって実現可能であり、詳細な説明は省略する。本発明の実施の形態では、サービス呼び出しプログラム710はソフトウェアとして実現されているが、半導体回路などの専用ハードウェアとして実装してもよい。
The
サービス実行計算機501及び502は、ビジネスプロセスによって呼び出されるサービスが実行される計算機である。サービス実行計算機501及び502は、パソコンなどの汎用の計算機である。サービス実行計算機501及び502は、サービスを実行するためのサーバプログラムであるサービス実行基盤プログラム510を含む。
サービスは、各種のコンポーネントモデルによって実装可能である。また、サービス実行基盤プログラム510は、実装されたコンポーネントを実行する各種プログラムによって実現可能であるため、その実現方式の詳細な説明は省略する。なお、本発明の実施の形態では、サービス及びサービス実行基盤プログラム510はソフトウェアとして実現されているが、半導体回路などの専用のハードウェアとして実現してもよい。
Services can be implemented by various component models. Further, since the service
図2は、本発明の実施の形態のビジネスプロセス開発用計算機300の構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of the configuration of the business
ビジネスプロセス開発用計算機300は、CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950を備える。CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950は、システムバス960によって接続される。
The business
CPU900は、主記憶装置940に記憶されたプログラムを処理することによって、各種業務処理を実行する。ネットワークインタフェース910は、CPU900の指示に従って、ネットワーク1000介して接続されている他の計算機などと通信する。
The
ユーザ入力インターフェース930は、マウス又はキーボードなどの入力装置から、利用者の入力を受け付ける。グラフィックインタフェース920は、ディスプレイなどの画像表示装置921に表示する画像の処理を行う。
The
主記憶装置940は、CPU900によって処理されるプログラム及び当該プログラムの処理に必要なデータを記憶する。主記憶装置940に記憶されるプログラムは、ビジネスプロセス開発部310、フロー定義解析部320、変数参照関係解析部330、OS(Operating System)970である。主記憶装置940は、揮発性記憶媒体である。
The
二次記憶装置950は、CPU900からの指示に基づいて、データを入出力する。二次記憶装置950は、ハードディスクなどの磁気記憶装置、又はCD、DVDドライブなどの光学記憶装置などの不揮発性記憶媒体であるが、これらに限定されるものではない。
The
ビジネスプロセス実行計算機201、サービス実行計算機(501、502)、及びクライアント用計算機701のハードウェア構成は、図2に示したビジネスプロセス開発用計算機300と同様である。ビジネスプロセス開発用計算機300と相違する点は、主記憶装置940に記憶されるプログラム及びデータの内容である。
The hardware configurations of the business
図3は、本発明の実施の形態のビジネスプロセス実行計算機201の構成の一例を示す図である。
FIG. 3 is a diagram illustrating an example of the configuration of the business
ビジネスプロセス実行計算機201のハードウェア構成は、前述したように、ビジネスプロセス開発用計算機300と同様である。
The hardware configuration of the business
ビジネスプロセス実行計算機201の主記憶装置940には、OS970、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、及び変数参照関係格納テーブル240が記憶される。なお、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240は、ビジネスプロセス実行部221又はロード領域判定部222に包含されてもよい。また、二次記憶装置950に格納されていてもよい。
The
サービス実行計算機(501、502)の主記憶装置940には、OS970、サービス実行基盤プログラム510、及びサービス実行基盤プログラムに配備されているサービスが記憶される。また、クライアント用計算機701の主記憶装置940には、OS970及びサービス呼び出しプログラム710が記憶される。
The
図4は、本発明の実施の形態のプロセス実行状態格納テーブル250の構成の一例を示す図である。 FIG. 4 is a diagram illustrating an example of a configuration of the process execution state storage table 250 according to the embodiment of this invention.
プロセス実行状態格納テーブル250は、ビジネスプロセス(BP)名251、アクティビティ名252、状態253、開始時刻254、及び終了時刻255を含む。プロセス実行状態格納テーブル250は、ビジネスプロセス実行部221によってレコードが格納及び更新される。プロセス実行状態格納テーブル250の各レコードは、実行されたビジネスプロセスについてアクティビティごとに格納される。
The process execution state storage table 250 includes a business process (BP)
ビジネスプロセス名251は、ビジネスプロセスの名称である。アクティビティ名252は、ビジネスプロセスに属するアクティビティの名称である。なお、ビジネスプロセス名251及びアクティビティ名252は、それぞれを一意に特定できる情報であればよく、名称に限定されるものではなく、識別コードなどであってもよい。
The
また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、実行されたビジネスプロセスを識別する情報がさらに追加される。 In addition, when a plurality of business processes are executed by the same business process definition, information for identifying the executed business process is further added.
状態253は、アクティビティの実行状態である。状態253には、例えば、実行が完了している場合には「完了」、実行されていない場合には「未実行」と記録される。開始時刻254は、ビジネスプロセスの実行時にアクティビティが開始された時刻である。終了時刻255は、アクティビティの実行終了時刻である。
The
図5は、本発明の実施の形態の変数状態格納テーブル260の構成の一例を示す図である。 FIG. 5 is a diagram illustrating an example of a configuration of the variable state storage table 260 according to the embodiment of this invention.
変数状態格納テーブル260は、ビジネスプロセス(BP)名261、変数名262及び変数値263を含む。変数状態格納テーブル260は、ビジネスプロセス実行部221によって格納及び更新される。変数状態格納テーブル260は、実行されたビジネスプロセスについて、当該ビジネスプロセスで使用される変数ごとにレコードが格納される。
The variable state storage table 260 includes a business process (BP)
ビジネスプロセス名261は、ビジネスプロセスの名称である。変数名262は、ビジネスプロセスで使用される変数の名称である。変数値263は、変数名262によって特定される変数に格納される値である。なお、ビジネスプロセス名261及び変数名262はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
The
また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、プロセス実行状態格納テーブル250と同様に、実行されたビジネスプロセスを識別する情報がさらに追加される。 Further, when a plurality of business processes are executed with the same business process definition, information for identifying the executed business process is further added as in the process execution state storage table 250.
図6は、本発明の実施の形態のプロセス分割結果格納テーブル230の構成の一例を示す図である。 FIG. 6 is a diagram illustrating an example of the configuration of the process division result storage table 230 according to the embodiment of this invention.
プロセス分割結果格納テーブル230は、ビジネスプロセス(BP)名231、領域名232、及びアクティビティ名233を含む。プロセス分割結果格納テーブル230は、フロー定義解析部320によって格納される。プロセス分割結果格納テーブル230は、ビジネスプロセスを構成するアクティビティごとにレコードが格納され、フロー定義解析部320による解析結果に基づいて領域が設定される。
The process division result storage table 230 includes a business process (BP)
ビジネスプロセス名231は、ビジネスプロセスの名称である。領域名232は、ビジネスプロセスを構成する領域の名称である。アクティビティ名233は、ビジネスプロセスを構成するアクティビティである。なお、ビジネスプロセス名、領域名、及びアクティビティ名はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
The
図7は、本発明の実施の形態の変数参照関係格納テーブル240の構成の一例を示す図である。 FIG. 7 is a diagram illustrating an example of the configuration of the variable reference relationship storage table 240 according to the embodiment of this invention.
変数参照関係格納テーブル240は、領域名241及び変数名242を含む。変数参照関係格納テーブル240は、変数参照関係解析部330によって格納される。変数参照関係格納テーブル240の各レコードは、各領域で使用される変数ごとに格納される。
The variable reference relationship storage table 240 includes an
領域名241は、ビジネスプロセスを構成する領域の名称である。変数名242は、ビジネスプロセスに属する変数の名称である。なお、領域名241及び変数名242はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
The
図8は、本発明の実施の形態のビジネスプロセスの定義(XML形式)の一例を示す図である。 FIG. 8 is a diagram illustrating an example of a business process definition (XML format) according to the embodiment of this invention.
図8に示すビジネスプロセスBP−A1700は、XML形式のBPELによって記述されている。図8に示すビジネスプロセスでは、<variable>タグにサービスを呼び出す際に送受信されるメッセージを格納する変数の宣言が記述され、<sequence>タグには、サービスを呼び出すアクティビティの記述、サービスを呼び出す際に送信されるメッセージを格納する変数の指定、サービスの実行によって受信したメッセージを格納する変数の指定など、ビジネスプロセスを構成するアクティビティと、そのアクティビティで利用される変数などの関連情報が記述されている。
A business process BP-
ビジネスプロセスは、図8に示すようなXML形式で記述することも可能であるが、図15に示すように、フローチャート形式で表現することも可能である。 The business process can be described in an XML format as shown in FIG. 8, but can also be expressed in a flowchart format as shown in FIG.
図15は、本発明の実施の形態のビジネスプロセスの定義(フローチャート形式)の一例を示す図である。 FIG. 15 is a diagram illustrating an example of a business process definition (flow chart format) according to the embodiment of this invention.
本発明の実施の形態では、ビジネスプロセス開発者800がビジネスプロセス開発用計算機300を利用してビジネスプロセスを定義する。
In the embodiment of the present invention, a business process developer 800 uses a business
図15に示すフローチャート形式のビジネスプロセスの定義は、図8に示したXML形式のビジネスプロセスの定義に対応している。したがって、汎用のビジネスプロセス開発プログラムなどを利用して、図8に示すXML形式のビジネスプロセスの定義と図15に示すビジネスプロセスの定義を相互に変換することが可能である。 The business process definition in the flowchart format shown in FIG. 15 corresponds to the business process definition in the XML format shown in FIG. Therefore, it is possible to mutually convert the business process definition in the XML format shown in FIG. 8 and the business process definition shown in FIG. 15 using a general-purpose business process development program or the like.
ここで、図8及び図15に示したビジネスプロセスの振る舞いについて、図8及び図15を参照しながら説明する。 Here, the behavior of the business process shown in FIGS. 8 and 15 will be described with reference to FIGS.
ビジネスプロセスBP−A1700は、まず、外部からのリクエストを受信するアクティビティ(受付アクティビティ)であるreceive−A1アクティビティが定義されている。receive−A1アクティビティでは、受信したリクエストを変数in−A1に格納する。
In the business process BP-
続いて、invoke−A1アクティビティにおいて、変数in−A1を入力として外部サービスを呼び出し、結果を変数var−A1に格納する。invokeアクティビティは、外部(例えば、サービス実行計算機501)で提供されているサービスを呼び出すアクティビティである。 Subsequently, in the invoke-A1 activity, an external service is called with the variable in-A1 as an input, and the result is stored in the variable var-A1. The invoke activity is an activity for calling a service provided externally (for example, the service execution computer 501).
次に、dt−A1アクティビティ(assignアクティビティ)において、変数var−A1の値を変換して変数out−A1に設定し、reply−A1アクティビティ(replyアクティビティ)において変換結果を外部に出力している。 Next, in the dt-A1 activity (assign activity), the value of the variable var-A1 is converted and set to the variable out-A1, and the conversion result is output to the outside in the reply-A1 activity (reply activity).
さらに、ビジネスプロセスBP−A1700には、再び外部からのリクエストを受信し、受信した内容を変数in−A2に格納するアクティビティreceive−A2が定義されている。その後、変数var−A1及び変数in−A2に基づいて変数var−A2を生成するdt−A2アクティビティが定義されている。 Further, the business process BP-A1700 defines an activity receive-A2 that receives an external request again and stores the received content in a variable in-A2. Thereafter, a dt-A2 activity for generating the variable var-A2 based on the variable var-A1 and the variable in-A2 is defined.
続いて、ビジネスプロセスBP−A1700には、生成された変数var−A2の値を入力として外部サービスを呼び出すinvoke−A2アクティビティが定義されている。invoke−A2アクティビティでは、呼び出した外部サービスからの応答を変数out−A2に格納し、reply−A2アクティビティによって外部に結果を出力する。 Subsequently, in the business process BP-A1700, an invoke-A2 activity that calls an external service with the value of the generated variable var-A2 as an input is defined. In the invoke-A2 activity, the response from the called external service is stored in the variable out-A2, and the result is output to the outside by the reply-A2 activity.
以降、本発明の実施の形態のビジネスプロセスの開発及び実行手順の詳細について説明する。まず、ビジネスプロセス開発者800によってビジネスプロセスが開発(定義)された際に、ビジネスプロセスを解析する手順について説明し、その後、解析結果に基づいてビジネスプロセスを実行する手順について説明する。なお、ビジネスプロセス開発者800によって定義されたビジネスプロセスを図8及び図15に示したBP−A1700として各手順について説明する。
The details of the business process development and execution procedure according to the embodiment of the present invention will be described below. First, a procedure for analyzing a business process when a business process is developed (defined) by the business process developer 800 will be described, and then a procedure for executing the business process based on the analysis result will be described. Note that each procedure will be described assuming that the business process defined by the business process developer 800 is BP-
以下、本発明の実施の形態におけるビジネスプロセスを解析する手順について説明する。なお、図16には、図8及び図15に示したビジネスプロセス定義を、図9に示す手順によって解析した結果を示し、適宜参照しながらビジネスプロセスを解析する手順について説明する。 Hereinafter, the procedure for analyzing the business process in the embodiment of the present invention will be described. FIG. 16 shows the result of analyzing the business process definition shown in FIGS. 8 and 15 according to the procedure shown in FIG. 9, and the procedure for analyzing the business process will be described with reference to it as appropriate.
図9は、本発明の実施の形態におけるビジネスプロセスを解析する手順を示すフローチャートである。 FIG. 9 is a flowchart showing a procedure for analyzing a business process in the embodiment of the present invention.
ビジネスプロセス開発者800は、ビジネスプロセス開発用計算機300で実行されるビジネスプロセス開発部310によってビジネスプロセスを定義すると、開発されたビジネスプロセス定義情報を入力情報として、フロー定義解析部320を実行する。
When the business process developer 800 defines a business process by the business
ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、入力されたビジネスプロセスを解析し、ビジネスプロセスが永続化されるポイント(以下、「永続化ポイント」と呼ぶ)をすべて抽出する。そして、ビジネスプロセス永続化ポイント提示部311によって、抽出された永続化ポイントをビジネスプロセス開発者800に提示する(ステップ1103)。なお、フロー定義解析処理(ステップ1103)の詳細については、図10にて後述する。
The
ここで、永続化とは、前述したように、ビジネスプロセスが長時間待ち状態になる場合などにビジネスプロセスの実行情報をDBなどに格納することである。永続化ポイントとは、永続化される可能性の高いポイント(タイミング)である。 Here, the persistence is to store business process execution information in a DB or the like when the business process is in a waiting state for a long time, as described above. The persistence point is a point (timing) that is likely to be persisted.
ビジネスプロセスが長時間待ち状態となる場合とは、例えば、ビジネスプロセスが外部からの入力を受け付ける場合、すなわち、受付アクティビティにおいて外部からの入力を待機している場合である。したがって、受付アクティビティの直前をビジネスプロセスが永続化される可能性が高い永続化ポイントと判定することができる。 The case where the business process is in a waiting state for a long time is, for example, a case where the business process accepts an input from the outside, that is, a case where the business process waits for an input from outside. Therefore, it is possible to determine that the business process is likely to be persisted immediately before the reception activity as a persistence point.
ここで、入力されたビジネスプロセスを解析し、永続化ポイントを抽出する永続化ポイント抽出処理について説明する。なお、本発明の実施の形態では、ビジネスプロセスに含まれる受付アクティビティの直前を永続化ポイントとして判定しているが、これに限定されることはなく、その他のポイントを永続化ポイントとして判定してもよい。 Here, a persistence point extraction process for analyzing an input business process and extracting a persistence point will be described. In the embodiment of the present invention, the immediately preceding reception activity included in the business process is determined as the persistence point. However, the present invention is not limited to this, and other points are determined as the persistence points. Also good.
図10は、本発明の実施の形態のビジネスプロセスを分割する永続化ポイントを抽出する永続化ポイント抽出処理の手順を示すフローチャートである。 FIG. 10 is a flowchart showing the procedure of the persistence point extraction process for extracting the persistence points for dividing the business process according to the embodiment of this invention.
永続化ポイント抽出処理は、前述したように、フロー定義解析部320によって実行される。
The permanent point extraction processing is executed by the flow
ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセス開発者800によって定義されたビジネスプロセスの最初に定義されているアクティビティをSに設定する(ステップ11031)。アクティビティSは、直前が永続化ポイントに設定されるか否かを判定する対象のアクティビティである。
The
次に、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであるか否かを判定する(ステップ11032)。アクティビティSが受付アクティビティでない場合には(ステップ11032の結果が「No」)、アクティビティSは永続化ポイントの候補ではないため、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。
Next, the
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであった場合には(ステップ11032の結果が「Yes」)、アクティビティSが永続化ポイントの候補となりうるため、さらに、アクティビティSがビジネスプロセスの最初のアクティビティであるか否かを判定する(ステップ11033)。アクティビティSがビジネスプロセスの最初のアクティビティである場合には(ステップ11033の結果が「Yes」)、永続化ポイントがビジネスプロセスの最初に設定されることはないため、アクティビティSが永続化ポイントになることはない。この場合には、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。
If the activity S is a received activity (the result of
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最初のアクティビティでない場合には(ステップ11033の結果が「No」)、アクティビティSの直前を永続化ポイントに設定する(ステップ11034)。
If the activity S is not the first activity of the business process (the result of
続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11035)。アクティビティSが最後のアクティビティであった場合には(ステップ11035の結果が「Yes」)、本処理を終了する。
Subsequently, the
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが最後のアクティビティでない場合には(ステップ11035の結果が「No」)、アクティビティSの次に処理されるアクティビティを新たにアクティビティSに設定し(ステップ11036)、ステップ11032の処理に戻る。
If the activity S is not the last activity (the result of
以上の手順によって、ビジネスプロセス定義に含まれる受付アクティビティのうち、ビジネスプロセスの先頭に定義されたアクティビティ以外の受付アクティビティをすべて抽出し、抽出された受付アクティビティの直前を永続化ポイントとして設定することが可能となる。図15に示すビジネスプロセス定義例BP−A1700に図10に示した手順を適用した場合、BP−A1700にはreceive−A1及びreceive−A2の二つの受付アクティビティが定義されているが、receive−A1アクティビティはBP−A1700の最初のアクティビティであるため、receive−A2の直前にのみ永続化ポイント1720が1つ抽出される(図16参照)。
With the above procedure, all the received activities other than the activity defined at the head of the business process can be extracted from the received activities included in the business process definition, and the point immediately before the extracted received activity can be set as the persistence point. It becomes possible. When the procedure shown in FIG. 10 is applied to the business process definition example BP-A1700 shown in FIG. 15, two reception activities of receive-A1 and receive-A2 are defined in BP-A1700, but receive-A1. Since the activity is the first activity of BP-
ここで、図9のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
続いて、ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320による解析結果に対する修正又は確認を受け付ける(ステップ1104)。具体的には、ステップ1103の処理で抽出された永続化ポイントの中から不要なポイントの削除、又は任意の永続化ポイントの追加を受け付ける。
Subsequently, the
なお、フロー定義解析部320による解析結果は、必ずしもビジネスプロセス開発者800に提示される必要はなく、ステップ1104の処理を実行することなく、ステップ1105以降の処理を実行するようにしてもよい。
It should be noted that the analysis result by the flow
ビジネスプロセス開発者800に対するビジネスプロセスの提示は、ビジネスプロセス永続化ポイント提示部311によって実行される。ビジネスプロセス永続化ポイント指定部312によって提示されるビジネスプロセスの形式としては、例えば、図8に示すXML形式、又は図15に示すフローチャート形式があるが、これに限定されるものではない。
Presentation of the business process to the business process developer 800 is executed by the business process persistence
また、ビジネスプロセス開発者800に提示する永続化ポイントの形式としては、例えば、XML形式において特殊なタグを挿入する形式、図16に示した永続化ポイント1720のようにフローチャートに特別な記号を挿入して表す形式などがあるが、これに限定されるものではない。 In addition, as a format of the persistence point to be presented to the business process developer 800, for example, a format in which a special tag is inserted in the XML format, or a special symbol is inserted in the flowchart like the persistence point 1720 shown in FIG. However, the present invention is not limited to this.
本発明の実施の形態では、ビジネスプロセス永続化ポイント指定部312によって、ビジネスプロセスに対する永続化ポイントの追加又は永続化ポイントの削除をビジネスプロセス開発者800から受け付けることが可能である。図17にて永続化ポイントを追加又は削除する画面の一例を示す。
In the embodiment of the present invention, the business process persistence
ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス永続化ポイント指定部312によって、追加又は削除された永続化ポイントの情報をビジネスプロセス定義に反映する。例えば、図8に示すXML形式のビジネスプロセス定義情報に永続化ポイントを示すタグを挿入又は削除する。
The
図17は、本発明の実施の形態のビジネスプロセス開発者800に提示される永続化ポイント編集画面の一例を示す図である。 FIG. 17 is a diagram showing an example of a permanent point edit screen presented to the business process developer 800 according to the embodiment of this invention.
図17には、ステップ1103の処理でフロー定義解析部320によって抽出された永続化ポイント1720に加え、ビジネスプロセス開発者800によって新たな永続化ポイント1730が追加された場合の例が示されている。
FIG. 17 shows an example in which a new persistence point 1730 is added by the business process developer 800 in addition to the persistence points 1720 extracted by the flow
永続化ポイントを追加又は削除する手順について具体的に説明すると、永続化ポイントの追加は、フローチャートを構成する2つのアクティビティを連結する線を選択し、選択された線上に永続化ポイントを追加することを指定すればよい。永続化ポイントを追加する指示は、例えば、線をダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されない。 The procedure for adding or deleting a persistence point will be described in detail. To add a persistence point, select a line connecting the two activities that make up the flowchart, and add a persistence point on the selected line. Can be specified. The instruction to add a permanent point may be, for example, a method of double-clicking a line or a method of selecting an instruction from a menu, and is not limited thereto.
また、永続化ポイントの削除は、フローチャート上に表示されている永続化ポイントを指定し、削除を指示すればよい。永続化ポイントを削除する指示は、例えば、永続化ポイントをダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されるものではない。 The deletion of the permanent points may be performed by specifying the permanent points displayed on the flowchart and instructing the deletion. The instruction to delete the persistence point may be, for example, a method of double-clicking the persistence point or a method of selecting an instruction from a menu, and is not limited thereto.
また、ビジネスプロセス永続化ポイント提示部311は、図17に示すように、フロー定義解析部320によって抽出された永続化ポイントとビジネスプロセス開発者800によって追加された永続化ポイントを区別して表示するようにしてもよい。また、フロー定義解析部320によって抽出された永続化ポイントのうち、ビジネスプロセス開発者800によって削除された永続化ポイントについては、例えば、黒塗りの菱形などを用いて、他の永続化ポイントと区別して表示してもよい。
Further, as shown in FIG. 17, the business process persistence
ビジネスプロセス開発者800によって編集されたビジネスプロセスは、再度フロー定義解析部320に入力される。なお、ビジネスプロセス開発者800による永続化ポイントの指定(追加)は、フロー定義解析部320を実行する前に実施してもよい。
The business process edited by the business process developer 800 is input to the flow
ここで、図9のフローチャートの説明に戻る。本発明の実施の形態では、ビジネスプロセス開発者800によって永続化ポイントが追加又は削除されていないものとして、以降の説明を行う。 Now, the description returns to the flowchart of FIG. In the embodiment of the present invention, the following description will be made assuming that the persistence point has not been added or deleted by the business process developer 800.
ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、ステップ1104の処理で編集されたビジネスプロセスをさらに解析する(ステップ1105)。具体的には、ビジネスプロセスを領域ごとに分割し、各領域に含まれているアクティビティを抽出する。さらに、解析結果をプロセス分割結果格納テーブル230に格納する。
The
ビジネスプロセスの領域分割は、ステップ1103及びステップ1104の処理によって指定された永続化ポイント、ビジネスプロセスの先頭及び最後尾を基点として、各基点間を一つの領域として切り出すことによって行われる。
The area division of the business process is performed by cutting out each of the base points as one area with the perpetuation points designated by the processing of
以下、ステップ1105の処理でフロー定義解析部320によって実行されるビジネスプロセス領域分割処理の詳細を、図11を参照しながら説明する。
The details of the business process area dividing process executed by the flow
図11は、本発明の実施の形態のフロー定義解析部320によるビジネスプロセス領域分割処理の手順を示すフローチャートである。
FIG. 11 is a flowchart showing a procedure of business process area division processing by the flow
ビジネスプロセス領域分割処理は、前述のように、フロー定義解析部320によって実行される。
The business process area dividing process is executed by the flow
ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセスの最初に定義されているアクティビティをS及びLに設定する(ステップ11051)。アクティビティSは、分割する領域の先頭に対応するアクティビティである。一方、アクティビティLは、分割する領域の最後尾に対応するアクティビティである。
The
ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティLの直後が永続化ポイントとして設定されているか否かを判定する(ステップ11052)。アクティビティLの直後が永続化ポイントとして設定されていない場合には(ステップ11052の結果が「No」)、アクティビティLの次のアクティビティを新たなLとして設定し(ステップ11053)、ステップ11052の処理に戻る。
The
ビジネスプロセス開発用計算機300のCPU900は、アクティビティLの直後が永続化ポイントとして設定されている場合には(ステップ11052の結果が「Yes」)、アクティビティSからLまでを新たな領域として抽出し、領域に一意な名称を付与する(ステップ11054)。
When the
ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティSからLまでの間に含まれるすべてのアクティビティの情報を抽出し、ビジネスプロセス名、及びステップ11054の処理で付与した領域名と関連付けてプロセス分割結果格納テーブル230に格納する(ステップ11055)。
Next, the
図6に示したプロセス分割結果格納テーブル230を参照すると、例えば、「receive−A1」アクティビティが、ビジネスプロセスBP−A及び領域realm−A1に関連付けられている。このことは、領域realm−A1がビジネスプロセスBP−Aに含まれており、かつ、receive−A1アクティビティが領域realm−A1に含まれていることを示している。 Referring to the process division result storage table 230 illustrated in FIG. 6, for example, a “receive-A1” activity is associated with the business process BP-A and the area realm-A1. This indicates that the area realm-A1 is included in the business process BP-A, and the receive-A1 activity is included in the area realm-A1.
続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティLがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11056)。アクティビティLがビジネスプロセスの最後のアクティビティであった場合には(ステップ11056の結果が「Yes」)、本処理を終了する。アクティビティLが最後のアクティビティでない場合には(ステップ11056の結果が「No」)、アクティビティLの次のアクティビティを新たにS及びLに設定し(ステップ11057)、ステップ11052の処理に戻る。
Subsequently, the
以上の手順によって、ステップ1103及びステップ1104の処理で指定された永続化ポイントに基づいてビジネスプロセスを領域ごとに分割し、結果をプロセス分割結果格納テーブル230に格納することができる。
According to the above procedure, the business process can be divided into regions based on the persistence points designated in the processing of
本発明の実施の形態では、ステップ1105までの処理の結果として、図16に示すように、領域realm−A1(1710)及び領域realm−A2(1711)が抽出される。領域realm−A1(1710)には、アクティビティreceive−A1、invoke−A1、dt−A1、及びreply−A1が含まれる。また、領域realm−A2(1711)には、アクティビティreceive−A2、dt−A2、invoke−A2、及びreply−A2が含まれる。 In the embodiment of the present invention, as a result of the processing up to step 1105, the area realm-A1 (1710) and the area realm-A2 (1711) are extracted as shown in FIG. The area realm-A1 (1710) includes activities receive-A1, invoke-A1, dt-A1, and reply-A1. Also, the area realm-A2 (1711) includes activities receive-A2, dt-A2, invoke-A2, and reply-A2.
また、ステップ1105までの処理の結果は、図6に示すように、プロセス分割結果格納テーブル230に格納される。図6に示したプロセス分割結果格納テーブル230を参照すると、前述したように、ビジネスプロセスBP−Aには領域realm−A1が含まれており、更に領域realm−A1にはreceive−A1アクティビティが含まれていることが1行目のレコードに表されている。以降のレコードについても同様である。 Further, the processing results up to step 1105 are stored in the process division result storage table 230 as shown in FIG. Referring to the process division result storage table 230 shown in FIG. 6, as described above, the business process BP-A includes the area realm-A1, and the area realm-A1 includes the receive-A1 activity. This is shown in the record on the first line. The same applies to subsequent records.
ここで、図9のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
ビジネスプロセス開発用計算機300のCPU900は、次に、変数参照関係解析部330によって、ステップ1105の処理で抽出された各領域で参照される変数を解析し、結果を変数参照関係格納テーブル240に格納する(ステップ1106)。
Next, the
以下、ステップ1106の処理で変数参照関係解析部330によって実行される変数参照関係解析処理の詳細を、図12を参照しながら説明する。
Details of the variable reference relationship analysis processing executed by the variable reference
図12は、本発明の実施の形態の変数参照関係解析部330による変数参照関係解析処理の手順を示すフローチャートである。
FIG. 12 is a flowchart illustrating a procedure of variable reference relationship analysis processing by the variable reference
変数参照関係解析処理は、前述のように、変数参照関係解析部330によって実行される。また、変数参照関係解析処理は、分割された領域ごとに実行される。
The variable reference relationship analysis process is executed by the variable reference
ビジネスプロセス開発用計算機300のCPU900は、まず、領域の最初に定義されているアクティビティをSに設定する(ステップ11061)。
The
次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス定義を参照し、アクティビティSによって参照されるすべての変数名を抽出する(ステップ11062)。アクティビティによって参照される変数の抽出は、例えば、図15に示したBP−Aにおけるreceive−A1では、受信したリクエストを変数in−A1に割り当てていることから、receive−A1は変数in−A1を参照すると判定することができる。他のアクティビティについても同様に、ビジネスプロセスの定義から各アクティビティから参照される変数を特定することが可能である。
Next, the
次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセスから抽出された各変数について、ステップ11064、11065及び11066の処理を実行する(ステップ11063、11067)。
Next, the
ビジネスプロセス開発用計算機300のCPU900は、まず、抽出された変数について領域名及び変数名に基づいて変数参照関係格納テーブル240を検索し、領域名241が一致し、かつ、変数名242が一致するレコードを抽出する(ステップ11064)。領域内でアクティビティSよりも前に定義されたアクティビティで既に処理対象の変数が参照されている場合には、同一の変数を重複して変数参照関係格納テーブル240に登録する必要がないため、あらかじめ登録済みの変数を検索する。
The
ビジネスプロセス開発用計算機300のCPU900は、ステップ11064の処理で該当するレコードが存在したか否かを判定する(ステップ11065)。該当するレコードが存在する場合には(ステップ11065の結果が「Yes」)、処理対象の変数が変数参照関係格納テーブル240に既に登録されているため、当該変数については登録せずに他の変数について処理を継続する。
The
ビジネスプロセス開発用計算機300のCPU900は、該当するレコードが存在しない場合(ステップ11065の結果が「No」)、すなわち、領域内で処理対象の変数を利用することが登録されていない場合には、変数参照関係格納テーブル240に当該変数に対応するレコードを追加する(ステップ11066)。変数参照関係格納テーブル240にレコードを追加することによって、領域内で当該変数を利用することが登録される。図7に示した変数参照関係格納テーブル240を参照すると、1行目のレコードには、領域realm−A1(1701)で変数in−A1が参照されることが表されている。以降のレコードについても同様である。
If the corresponding record does not exist (the result of
ビジネスプロセス開発用計算機300のCPU900は、ステップ11062の処理で抽出されたすべての変数についてステップ11064、11065及び11066の処理を実行した後、アクティビティSが領域中の最後のアクティビティであるか否かを判定する(ステップ11068)。アクティビティSが領域の最後のアクティビティの場合には(ステップ11068の結果が「Yes」)、本処理を終了する。アクティビティSが最後のアクティビティでない場合には(ステップ11068の結果が「No」)、アクティビティSの次のアクティビティを新たなSに設定し(ステップ11069)、ステップ11062の処理に戻る。
The
以上の手順によって、各領域に含まれるアクティビティによって参照されるすべての変数を抽出し、抽出された変数の名称を領域名と関連付けた結果を変数参照関係格納テーブル240に格納することができる。 Through the above procedure, all variables referred to by activities included in each area can be extracted, and the result of associating the extracted variable names with the area names can be stored in the variable reference relation storage table 240.
ビジネスプロセス開発用計算機300のCPU900は、ステップ1106の処理が終了すると、ビジネスプロセスの解析処理を終了する。
When the processing of
本発明の実施の形態では、ステップ1106の処理の結果として、図16に示すように、領域realm−A1(1710)では変数in−A1、var−A1及びout−A1が参照される。また、領域realm−A2(1711)では変数in−A2、var−A1、var−A2及びout−A2が参照される。
In the embodiment of the present invention, as a result of the processing in
また、図7に示すように、領域realm−A1では変数in−A1、var−A1及びout−A1が参照され、領域realm−A2では変数in−A2、var−A1、var−A2及びout−A2が参照されることが、変数参照関係格納テーブル240に格納される。 Further, as shown in FIG. 7, variables in-A1, var-A1, and out-A1 are referred to in the area realm-A1, and variables in-A2, var-A1, var-A2, and out-- are referred to in the area realm-A2. Reference to A2 is stored in the variable reference relation storage table 240.
図13は、本発明の実施の形態のビジネスプロセス実行時の手順を示すフローチャートである。 FIG. 13 is a flowchart illustrating a procedure when executing a business process according to the embodiment of this invention.
クライアント用計算機701は、クライアント820によって送信されたサービス実行要求を受け付け、サービス呼び出しプログラム710によって、ビジネスプロセス実行計算機201にサービス(ビジネスプロセス)の実行を要求する(ステップ1201)。ステップ1201の処理は、クライアント820からサービス実行要求を受け付けるまで待機する処理とみなすこともできる。なお、ビジネスプロセスの実行要求は、外部システムから要求されてもよい。また、プログラムなどのソフトウェアが実行されることによって要求されてもよいし、当該機能を備えたハードウェアによって要求されてもよい。
The
ビジネスプロセス実行計算機201のCPU900は、クライアント用計算機701によって送信されたサービス実行要求を受け付け、ビジネスプロセス実行部221によって、指定されたビジネスプロセスの実行を開始する。なお、ビジネスプロセスが永続化されていた場合には、ビジネスプロセスが活性化される。
The
なお、受付アクティビティ以外のアクティビティの前に永続化ポイントが指定された場合には、ビジネスプロセスを活性化するタイミングはリクエストの受信以外の場合も含まれるが、本発明の実施の形態では受付アクティビティの前にのみ永続化ポイントが指定されている場合について説明する。 Note that when a persistence point is specified before an activity other than the reception activity, the timing for activating the business process is included in cases other than the reception of the request. However, in the embodiment of the present invention, The case where the persistence point is specified only before will be described.
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、クライアント820からビジネスプロセスの実行要求を受信すると、まず、最初に実行すべきアクティビティを特定する。そして、特定されたビジネスプロセスの名称及びアクティビティの名称をロード領域判定部222に通知する(ステップ1202)。なお、受信したビジネスプロセスの実行要求に基づいて、次に実行すべきビジネスプロセス及びアクティビティを特定する技術は、従来技術である汎用のビジネスプロセス実行プログラムなどによって実現されている機能であるため、詳細を省略する。
When the business
ビジネスプロセス実行計算機201のCPU900は、ロード領域判定部222によって、ステップ1202の処理で通知されたビジネスプロセス名及びアクティビティ名に基づいて、次に実行すべき領域を特定する。さらに、特定された領域に含まれるアクティビティ及び変数をビジネスプロセス実行部221に応答する(ステップ1203)。
The
以下、ステップ1203の処理でロード領域判定部222によって実行されるロード領域特定処理の詳細を、図14を参照しながら説明する。
Details of the load area specifying process executed by the load
図14は、本発明の実施の形態のロードされる領域に含まれるアクティビティと当該領域で使用される変数を取得する手順を示すフローチャートである。 FIG. 14 is a flowchart showing a procedure for acquiring an activity included in an area to be loaded and a variable used in the area according to the embodiment of this invention.
ビジネスプロセス実行計算機201のCPU900は、まず、ビジネスプロセス実行部221から通知されたアクティビティ名が含まれる領域を特定する(ステップ1401)。具体的には、通知されたビジネスプロセス名及びアクティビティ名に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、アクティビティ名233が一致するレコードを抽出する。
First, the
次に、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域に含まれるアクティビティを抽出する(ステップ1402)。具体的には、ビジネスプロセス名及びステップ1401の処理で特定された領域の名称に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、領域名232が一致するすべてのアクティビティ名を取得する。
Next, the
さらに、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域で使用される変数を抽出する(ステップ1403)。具体的には、ステップ1401の処理で特定された領域の名称に基づいて、変数参照関係格納テーブル240を検索し、領域名241が一致するすべての変数名を取得する。
Further, the
最後に、ビジネスプロセス実行計算機201のCPU900は、ステップ1402の処理で抽出されたすべてのアクティビティ名、及びステップ1403の処理で抽出されたすべての変数名をビジネスプロセス実行部221に通知する(ステップ1404)。
Finally, the
ここで、図13のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1203の処理で応答されたアクティビティを含むフロー定義と変数の定義情報及びその値をメモリ上にロードし、領域内に定義されたビジネスプロセス(アクティビティ)を実行する。さらに、実行結果をプロセス実行状態格納テーブル250及び変数状態格納テーブル260に格納することによってビジネスプロセスを永続化し、非活性状態とする(ステップ1204)。
The
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1204の処理で実行された領域がビジネスプロセスに含まれる最後の領域であるか否かを判定する(ステップ1205)。最後の領域である場合には(ステップ1205の結果が「Yes」)、ビジネスプロセスの実行を終了する。最後の領域でない場合には(ステップ1205の結果が「No」)、ビジネスプロセスが活性化されるまで待機するために、ステップ1201の処理に戻る。
The
以上、図13に示した手順によって、分割されたビジネスプロセスを領域ごとに実行することができる。 As described above, the divided business processes can be executed for each region by the procedure shown in FIG.
次に、ビジネスプロセスが制御構造を含む場合の解析手順について、図18を参照しながら説明する。制御構造は、ビジネスプロセスにおいて、分岐処理又は並列処理などのフロー制御を行う構造である。具体的には、制御構造に対応するアクティビティがビジネスプロセスに含まれる。 Next, an analysis procedure when the business process includes a control structure will be described with reference to FIG. The control structure is a structure that performs flow control such as branch processing or parallel processing in a business process. Specifically, an activity corresponding to the control structure is included in the business process.
分岐処理は、ビジネスプロセスに定義された変数の値などに基づいて、ビジネスプロセス実行時のフローを選択(制御)するための制御構造である。また、並列処理は、複数の処理フローを並行して処理するための制御構造である。 The branch process is a control structure for selecting (controlling) a flow at the time of executing a business process based on a value of a variable defined in the business process. Parallel processing is a control structure for processing a plurality of processing flows in parallel.
図18は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。 FIG. 18 is a diagram illustrating an example of a business process including the control structure according to the embodiment of this invention.
図18に示すビジネスプロセスBP−B1800の一例では、「invoke−A1」の後に制御構造1850が含まれている。 In the example of the business process BP-B1800 shown in FIG. 18, a control structure 1850 is included after “invoke-A1”.
まず、制御構造1850が分岐処理であった場合について説明する。制御構造1850は、所定の条件が満たされた場合にはinvoke−A2からreply−A3の4つのアクティビティが実行される。また、条件が満たされない場合にはinvoke−A4からreply−A5までの4つのアクティビティが実行される。 First, a case where the control structure 1850 is a branch process will be described. The control structure 1850 executes four activities from invoke-A2 to reply-A3 when a predetermined condition is satisfied. When the condition is not satisfied, four activities from invoke-A4 to reply-A5 are executed.
一方、制御構造1850が並列処理であった場合には、reply−A1アクティビティが実行された後、invoke−A2からreply−A3の4つのアクティビティとinvoke−A4からreply−A5までの4つのアクティビティが並行して実行される。そして、reply−A3及びreply−A5の両方の処理が終了した後、invoke−A7以降の処理が実行される。 On the other hand, when the control structure 1850 is parallel processing, after the reply-A1 activity is executed, there are four activities from invoke-A2 to reply-A3 and four activities from invoke-A4 to reply-A5. Run in parallel. Then, after both the reply-A3 and reply-A5 processes are completed, the processes after invoke-A7 are executed.
ここで、制御構造を含むビジネスプロセスの解析処理について説明すると、ビジネスプロセスに制御構造が含まれる場合には、あらかじめビジネスプロセスを制御構造の前後で分割し、制御構造を含まないビジネスプロセスに分割する。そして、分割された各フローについて図9に示した処理手順を適用することによって、さらに領域を分割する。すなわち、図9に示したフロー定義解析部320によってビジネスプロセスの解析処理を実行する前に、制御構造の前後に永続化ポイントを付加する前処理を実行すればよい。
Here, the analysis process of a business process including a control structure will be explained. When a business process includes a control structure, the business process is divided in advance before and after the control structure, and is divided into business processes not including the control structure. . Then, the region is further divided by applying the processing procedure shown in FIG. 9 to each divided flow. In other words, before the business process analysis process is executed by the flow
図18に示すビジネスプロセスBP−B1800は、ビジネスプロセスの開始から制御構造の開始までをフロー1801、制御構造に含まれる各フローをフロー1810及び1811、制御構造終了後からビジネスプロセスの終了までをフロー1802として分割される。 The business process BP-B1800 shown in FIG. 18 has a flow 1801 from the start of the business process to the start of the control structure, flows 1810 and 1811 for each flow included in the control structure, and flows from the end of the control structure to the end of the business process. It is divided as 1802.
さらに、ビジネスプロセスが制御構造を含む場合の別の解析手順について、図19を参照しながら説明する。 Further, another analysis procedure when the business process includes a control structure will be described with reference to FIG.
図19は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。ビジネスプロセスの構造自体は、図18に示した構造と同じである。 FIG. 19 is a diagram illustrating an example of a business process including the control structure according to the embodiment of this invention. The structure of the business process itself is the same as that shown in FIG.
図19に示した解析結果は、制御構造を特別に区別することなく、領域を分割した結果である。このため、制御構造開始前の領域1901には制御構造内のフローで抽出された最初の永続化ポイントである1910及び1911よりも前に定義されているアクティビティinvoke−A2及びinvoke−A5が含まれている。
The analysis result shown in FIG. 19 is a result of dividing the region without specially distinguishing the control structure. For this reason, the
また、制御構造内のフローを含む領域1902及び1903は、制御構造終了後の最初の永続化ポイント1912までに定義されているアクティビティinvoke−A7を含んでいることを示している。すなわち、図19の例は、制御構造に含まれる個々のフローについて、最初の永続化ポイントまでを制御構造の開始前の領域に含まれるものとし、また、各フローの最後の領域は、制御構造終了後の最初の永続化ポイントまでに定義されたアクティビティを含むことを示している。
In addition, the
なお、制御構造が並列の場合には、invoke−A7が領域1902及び1903に重複して含まれるため、領域ごとにアクティビティを実行すると、同期せずにinvoke−A7が実行されてしまうおそれがある。したがって、制御構造が並列の場合には、制御構造を区別せずに領域を分割すると問題が生じる可能性がある。
Note that when the control structures are parallel, the invoke-A7 is included in the
以上、図18及び図19に示した方法などによって、制御構造を含むビジネスプロセスを領域ごとに分割することが可能となる。 As described above, the business process including the control structure can be divided for each region by the method shown in FIGS.
次に、図9にて前述した手順によってビジネスプロセスが解析され、当該ビジネスプロセスが実行された後、当該ビジネスプロセスの稼動統計に基づいて、ビジネスプロセスの各領域を再構成する方法について説明する。なお、本発明の実施の形態では、稼動統計として平均値を用いるが、これ以外のものであってもよい。 Next, a method for reconfiguring each area of the business process based on the operation statistics of the business process after the business process is analyzed by the procedure described above with reference to FIG. 9 and the business process is executed will be described. In the embodiment of the present invention, an average value is used as the operation statistics, but other values may be used.
ビジネスプロセスの各領域を再構成する手順は、図9に示した手順とほぼ同様であり、フロー定義解析部320によって実行される。
The procedure for reconfiguring each area of the business process is substantially the same as the procedure shown in FIG. 9 and is executed by the flow
ビジネスプロセスの再構成時において追加される手順は、永続化ポイントを抽出するアルゴリズム(図10参照)において、ビジネスプロセスの稼動状況に基づいて、永続化ポイントを設定する。 The procedure added when reconfiguring the business process sets a persistence point based on the operating status of the business process in an algorithm (see FIG. 10) for extracting the persistence point.
具体的には、まず、図10におけるアクティビティSの開始時刻とアクティビティSの前に実行されるアクティビティの終了時刻の差の平均値を算出する。そして、算出された値が基準となる値(所定の閾値)よりも大きい場合、アクティビティSの前に実行されるアクティビティの終了からSの実行が開始されるまでの時間が長いと判定し、アクティビティSの前を永続化ポイントに指定する。 Specifically, first, an average value of the difference between the start time of the activity S in FIG. 10 and the end time of the activity executed before the activity S is calculated. If the calculated value is larger than a reference value (predetermined threshold), it is determined that the time from the end of the activity executed before the activity S to the start of the execution of S is long, and the activity The point before S is designated as the persistence point.
一方、算出された値が基準となる値よりも小さい場合には、アクティビティSの前に実行されたアクティビティの終了からアクティビティSの実行開始までの時間が短いと判定し、アクティビティSが受付アクティビティであっても、アクティビティSの直前を永続化ポイントとして設定しないようにする。 On the other hand, when the calculated value is smaller than the reference value, it is determined that the time from the end of the activity executed before the activity S to the start of the execution of the activity S is short, and the activity S is a reception activity. Even in such a case, the point immediately before the activity S is not set as a permanent point.
なお、アクティビティSの開始時刻及びアクティビティSの前に実行されるアクティビティの終了時刻は、プロセス実行状態格納テーブル250から取得することができる。具体的には、ビジネスプロセス名と、アクティビティS及びアクティビティSの前に実行されるアクティビティ名に基づいて、プロセス実行状態格納テーブル250を検索する。そして、ビジネスプロセス名251が一致し、かつ、アクティビティ名252が一致するレコードを抽出し、開始時刻254又は終了時刻255を取得する。
The start time of the activity S and the end time of the activity executed before the activity S can be acquired from the process execution state storage table 250. Specifically, the process execution state storage table 250 is searched based on the business process name and the activity S and the activity name executed before the activity S. Then, a record in which the
また、基準となる値は、固定された数値情報(例えば30秒など)であってもよいし、ビジネスプロセス開発者800が指定した特定の数値データであってもよい。さらに、ビジネスプロセス全体の実行時間から算出された数値であってもよいし、ビジネスプロセスによって提供されるサービスに依存する値でもよい。 Further, the reference value may be fixed numerical information (for example, 30 seconds) or may be specific numerical data designated by the business process developer 800. Further, it may be a numerical value calculated from the execution time of the entire business process, or may be a value depending on a service provided by the business process.
以上の手順によって、ビジネスプロセスの実行時に稼動統計に基づいて動的に領域を分割することが可能となり、より効率的なビジネスプロセスの実行を実現できる。なお、ビジネスプロセス実行時の再構成は、必ずしも実施される必要はなく、ビジネスプロセスを定義した場合にのみ領域を分割するようにしてもよい。 By the above procedure, it becomes possible to dynamically divide the area based on the operation statistics at the time of executing the business process, and more efficient execution of the business process can be realized. Note that the reconfiguration at the time of executing the business process is not necessarily performed, and the area may be divided only when the business process is defined.
最後に、図15に示すビジネスプロセスBP−A1700に対し、本発明の実施の形態によるビジネスプロセスの解析及び実行方法を適用した場合の効果について、図20及び図21を参照しながら説明する。
Finally, the effect when the business process analysis and execution method according to the embodiment of the present invention is applied to the business process BP-
前述のように、ビジネスプロセスBP−A1700をフロー定義解析部320によって解析すると、ビジネスプロセスBP−A1700は二つの領域に分割される(図16における領域1710及び1720)。
As described above, when the business process BP-
図20及び図21は、本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。 20 and 21 are diagrams for explaining the effects of the division and execution of business processes according to the embodiment of this invention.
図20は、ビジネスプロセスBP−A1700の最初のアクティビティであるreceive−A1が実行されるタイミングでメモリ上に展開される情報を説明する図である。図20の表において太枠で囲まれた各レコードが、receive−A1アクティビティが実行されるタイミングで読み込まれる。 FIG. 20 is a diagram for explaining information developed on the memory at the timing when receive-A1 which is the first activity of the business process BP-A1700 is executed. In the table of FIG. 20, each record surrounded by a thick frame is read at the timing when the receive-A1 activity is executed.
ビジネスプロセスBP−A1700は、図16に示した領域realm−A1(1710)に示すように、receive−A1アクティビティからreply−A1アクティビティまでが一つの領域として分割される。したがって、メモリ上にはreceive−A1アクティビティからreply−A1アクティビティまでのフロー定義と、recive−A1アクティビティからreply−A1アクティビティの実行中に参照される変数であるin−A1、var−A1及びout−A1が展開される。
In the business process BP-
従来は、領域realm−A1に含まれるアクティビティを実行するために必要のないフロー定義情報(receive−A2アクティビティからreply−A2アクティビティまでの)及び変数(in−A2、var−A2及びout−A2)、すなわち、図20の表に格納されているすべてのレコードがメモリに読み込まれていた。 Conventionally, flow definition information (from receive-A2 activity to reply-A2 activity) and variables (in-A2, var-A2, and out-A2) that are not necessary for executing the activity included in the area realm-A1 That is, all the records stored in the table of FIG. 20 have been read into the memory.
本発明の実施の形態では、図20中の表において太枠で囲まれているレコードのみがメモリに読み込まれるため、従来と比較して、データの読み込み量、及びメモリ上に展開される情報量を削減することができる。 In the embodiment of the present invention, only records surrounded by a thick frame in the table in FIG. 20 are read into the memory, so that the amount of data read and the amount of information developed on the memory are compared with the conventional case. Can be reduced.
図21は、receive−A1アクティビティの実行が完了したタイミングで各テーブルに書き込まれる情報を示している。 FIG. 21 shows information written in each table at the timing when the execution of the receive-A1 activity is completed.
receive−A1アクティビティの実行が完了すると、ビジネスプロセスBP−A1700が永続化され、各テーブルにビジネスプロセスの実行状態及び各変数の状態が格納される。図21中の表において太枠で囲まれているレコードは、receive−A1アクティビティの実行完了時に書き込まれるレコードである。 When the execution of the receive-A1 activity is completed, the business process BP-A1700 is made permanent, and the execution state of the business process and the state of each variable are stored in each table. In the table in FIG. 21, records surrounded by a thick frame are records that are written when the execution of the receive-A1 activity is completed.
従来は、ビジネスプロセスBP−A1700の永続化時に、図21中の表に格納されているすべてのレコードが書き込まれていたが、本発明の実施の形態では、太枠内の情報のみが書き込まれるため、書き込まれるデータ量を削減することができる。
Conventionally, when the business process BP-
本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割して実行することによって、ビジネスプロセス実行時に必要なリソース量、特にメモリ使用量を削減することができる。 According to the embodiment of the present invention, by dividing and executing a business process for each region, it is possible to reduce the amount of resources necessary for executing the business process, particularly the amount of memory used.
また、本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割することによって、ビジネスプロセスの永続化時に書き込まれるデータ量、及び活性化時に読み出されるデータ量を削減することによって、ビジネスプロセスの実行性能を向上させることができる。 Further, according to the embodiment of the present invention, the business process is divided into regions, thereby reducing the amount of data written when the business process is made permanent and the amount of data read when the business process is activated. Execution performance can be improved.
201 ビジネスプロセス実行計算機
221 ビジネスプロセス実行部
222 ロード領域判定部
230 プロセス分割結果格納テーブル
240 変数参照関係格納テーブル
250 プロセス実行状態格納テーブル
260 変数状態格納テーブル
300 ビジネスプロセス開発用計算機
310 ビジネスプロセス開発部
311 ビジネスプロセス永続化ポイント提示部
312 ビジネスプロセス永続化ポイント指定部
320 フロー定義解析部
330 変数参照関係解析部
501 サービス実行計算機
510 サービス実行基盤プログラム
701 クライアント用計算機
710 サービス呼び出しプログラム
800 ビジネスプロセス開発者
820 クライアント
900 CPU
910 ネットワークインタフェース
920 グラフィックインタフェース
921 画像表示装置
930 ユーザ入力インターフェース
940 主記憶装置
950 二次記憶装置
960 システムバス
1000 ネットワーク
201 business
910
Claims (20)
前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記方法は、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
前記特定されたアクティビティを含む領域を抽出し、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行方法。 A business process execution method in a computer system comprising: a service execution device that provides a service; and a business process execution device that executes a business process that defines a business process by combining the services,
The business process execution device includes an interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The memory stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The method
When the execution of the business process is accepted, the activity to be executed is identified based on the process execution state information and the process division information,
Extracting an area containing the identified activity;
Obtaining execution information corresponding to the extracted area from the process execution state information;
Based on the acquired execution information, the activity included in the extracted area is executed,
When the execution of all activities included in the extracted area is completed, the execution information corresponding to the extracted area is stored in the process execution state information.
前記ビジネスプロセスが定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。 The method
If the business process is defined, identify activities that are likely to interrupt the execution of the business process,
The business process execution method according to claim 1, wherein the business process is divided based on the identified activity.
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。 The method
Measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution method according to claim 1, wherein the business process is divided based on the measured time information.
前記時間情報に基づいて、前記アクティビティの実行間隔を算出し、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項7に記載のビジネスプロセス実行方法。 The method
Based on the time information, calculate the execution interval of the activity,
The business process execution method according to claim 7, wherein the business process is divided between activities in which the calculated execution interval is longer than a predetermined threshold.
前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記プロセッサは、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
前記特定されたアクティビティを含む領域を抽出し、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行装置。 A business process execution device that connects to a service execution device that provides a service and executes a business process that defines business processing by combining the services,
An interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The memory stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The processor is
When the execution of the business process is accepted, the activity to be executed is identified based on the process execution state information and the process division information,
Extracting an area containing the identified activity;
Obtaining execution information corresponding to the extracted area from the process execution state information;
Based on the acquired execution information, the activity included in the extracted area is executed,
A business process execution apparatus characterized in that, when execution of all activities included in the extracted area is completed, execution information corresponding to the extracted area is stored in the process execution state information.
前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。 The processor is
If the business process is newly defined, identify activities that are likely to interrupt the execution of the business process,
The business process execution device according to claim 11, wherein the business process is divided based on the identified activity.
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。 The processor is
Measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution device according to claim 11, wherein the business process is divided based on the measured time information.
前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出し、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項15に記載のビジネスプロセス実行装置。 The processor is
Based on the measured time information, the execution interval of the activity is calculated,
The business process execution device according to claim 15, wherein the business process is divided between activities in which the calculated execution interval is longer than a predetermined threshold.
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記ビジネスプロセス実行装置は、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記プログラムは、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定する手順と、
前記特定されたアクティビティを含む領域を抽出する手順と、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得する手順と、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行する手順と、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する手順と、を含むことを特徴とするビジネスプロセス実行プログラム。 A program executed by a business process execution device that connects to a service execution device that provides a service and executes a business process that defines a business process by combining the services,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The business process execution device stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The program is
When the execution of the business process is accepted, a procedure for identifying an activity to be executed based on the process execution state information and the process division information;
Extracting an area containing the identified activity;
A procedure for acquiring execution information corresponding to the extracted area from the process execution state information;
A procedure for executing an activity included in the extracted area based on the acquired execution information;
A procedure for storing execution information corresponding to the extracted area in the process execution state information when execution of all activities included in the extracted area is completed. Process execution program.
前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティする手順と、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。 The program is
If the business process is newly defined, an activity procedure that is likely to interrupt the execution of the business process; and
The business process execution program according to claim 17, further comprising a step of dividing the business process based on the identified activity.
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定する手順と、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割する手順と、さらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。 The program is
A procedure for measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution program according to claim 17, further comprising a step of dividing the business process based on the measured time information.
前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出する手順と、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項19に記載のビジネスプロセス実行プログラム。 The program is
A procedure for calculating an execution interval of the activity based on the measured time information;
The business process execution program according to claim 19, further comprising a step of dividing the business process among activities whose calculated execution interval is longer than a predetermined threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008185935A JP2010026695A (en) | 2008-07-17 | 2008-07-17 | Business process execution method, business process execution device and business process execution program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008185935A JP2010026695A (en) | 2008-07-17 | 2008-07-17 | Business process execution method, business process execution device and business process execution program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010026695A true JP2010026695A (en) | 2010-02-04 |
Family
ID=41732488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008185935A Pending JP2010026695A (en) | 2008-07-17 | 2008-07-17 | Business process execution method, business process execution device and business process execution program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010026695A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276681A (en) * | 2019-06-17 | 2019-09-24 | 深圳前海微众银行股份有限公司 | A kind of method and device commenced business |
WO2023153491A1 (en) * | 2022-02-10 | 2023-08-17 | Ibc一番町弁理士法人 | Process execution system, data structure, and process execution program |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10177568A (en) * | 1996-12-17 | 1998-06-30 | Hitachi Ltd | Document management system and storing medium for managing document |
JP2000250967A (en) * | 1999-02-26 | 2000-09-14 | Fujitsu Ltd | Work flow control system, control method, and recording medium recorded with work flow control program |
JP2001014389A (en) * | 1999-06-25 | 2001-01-19 | Hitachi Ltd | Workflow server and client terminal |
JP2002517831A (en) * | 1998-06-05 | 2002-06-18 | アイ2・テクノロジーズ・インコーポレイテッド | Systems and processes for multi-enterprise collaboration |
JP2002334194A (en) * | 2001-02-09 | 2002-11-22 | Internatl Business Mach Corp <Ibm> | Method, system and program for providing selective command control in workflow management system |
JP2004280821A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Software business process model |
JP2004280820A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Framework for supporting business software application |
JP2007156859A (en) * | 2005-12-06 | 2007-06-21 | Hitachi Ltd | Business process design support method and system by modeling role relations |
-
2008
- 2008-07-17 JP JP2008185935A patent/JP2010026695A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10177568A (en) * | 1996-12-17 | 1998-06-30 | Hitachi Ltd | Document management system and storing medium for managing document |
JP2002517831A (en) * | 1998-06-05 | 2002-06-18 | アイ2・テクノロジーズ・インコーポレイテッド | Systems and processes for multi-enterprise collaboration |
JP2000250967A (en) * | 1999-02-26 | 2000-09-14 | Fujitsu Ltd | Work flow control system, control method, and recording medium recorded with work flow control program |
JP2001014389A (en) * | 1999-06-25 | 2001-01-19 | Hitachi Ltd | Workflow server and client terminal |
JP2002334194A (en) * | 2001-02-09 | 2002-11-22 | Internatl Business Mach Corp <Ibm> | Method, system and program for providing selective command control in workflow management system |
JP2004280821A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Software business process model |
JP2004280820A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Framework for supporting business software application |
JP2007156859A (en) * | 2005-12-06 | 2007-06-21 | Hitachi Ltd | Business process design support method and system by modeling role relations |
Non-Patent Citations (2)
Title |
---|
CSNG200701196007; 加藤 英之 Hideyuki KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価 Simulation E' 日本データベース学会Letters Vol.4 No.2 DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会 The Database Society of Japa * |
JPN6011062956; 加藤 英之 Hideyuki KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価 Simulation E' 日本データベース学会Letters Vol.4 No.2 DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会 The Database Society of Japa * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276681A (en) * | 2019-06-17 | 2019-09-24 | 深圳前海微众银行股份有限公司 | A kind of method and device commenced business |
CN110276681B (en) * | 2019-06-17 | 2024-05-17 | 深圳前海微众银行股份有限公司 | Method and device for developing business |
WO2023153491A1 (en) * | 2022-02-10 | 2023-08-17 | Ibc一番町弁理士法人 | Process execution system, data structure, and process execution program |
JP7429941B2 (en) | 2022-02-10 | 2024-02-09 | Ibc一番町弁理士法人 | Process execution system and process execution program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304201B (en) | Object updating method, device and equipment | |
CN110244942B (en) | Page generation method, device and system | |
CN111045655A (en) | Page rendering method and device, rendering server and storage medium | |
WO2018036342A1 (en) | Csar-based template design visualization method and device | |
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
US20080183479A1 (en) | Business process reconstruction method, and its program and computer | |
US20130346992A1 (en) | Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof | |
CN113971037A (en) | Application processing method and device, electronic equipment and storage medium | |
JP2013518321A (en) | Pattern-based user interface | |
US7502967B1 (en) | Identifying an object in a data file that causes an error in an application | |
US20200241850A1 (en) | Code Management System and Code Management Method | |
CN113568614A (en) | Task issuing method, electronic device and storage medium | |
JP4493269B2 (en) | Program editing apparatus and program | |
JP4702835B2 (en) | Web service customization system | |
JP2010026695A (en) | Business process execution method, business process execution device and business process execution program | |
US20170228243A1 (en) | Non-transitory computer-readable recording medium storing control program, control device and control method | |
CN115469849B (en) | Service processing system, method, electronic equipment and storage medium | |
JP4686117B2 (en) | Source code conversion apparatus, source code conversion method, and program | |
JP3449256B2 (en) | Method and apparatus for creating client / server application and information recording medium | |
JP2005141641A (en) | Information processing system, information processor for information registration, information processor for information retrieval, information processing method for information registration, information processing method for information retrieval, program, and recording medium | |
JP2008135054A (en) | Workflow managing method, and its execution system | |
JP7502216B2 (en) | PROGRAM GENERATION SUPPORT DEVICE, PROGRAM GENERATION SUPPORT METHOD, AND PROGRAM GENERATION SUPPORT PROGRAM | |
JP6221305B2 (en) | Information processing device | |
JP2006171913A (en) | Information processor, information processing method, program and storage medium | |
JP7322964B2 (en) | Test information extraction device, test information extraction method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121002 |