JP2007279861A - Business process management device, method and program - Google Patents
Business process management device, method and program Download PDFInfo
- Publication number
- JP2007279861A JP2007279861A JP2006102633A JP2006102633A JP2007279861A JP 2007279861 A JP2007279861 A JP 2007279861A JP 2006102633 A JP2006102633 A JP 2006102633A JP 2006102633 A JP2006102633 A JP 2006102633A JP 2007279861 A JP2007279861 A JP 2007279861A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- information
- business
- business process
- unit
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
この発明は、ビジネスプロセス管理装置に関する。 The present invention relates to a business process management apparatus.
従来、ワークフローなどのビジネスプロセス定義情報に基づいてアプリケーション間の連携を行うシステムでは、プロセスの中の処理にて一定時間を経過した場合に、その後の処理を変更するというものがある。すなわち、タイムアウトによるイベント発生にて、任意の処理を実行する(例えば、特許文献1など)。
特許文献1の方式では、タイムアウトによるイベントが発生した場合に、その後の処理を変更しているので、それ以外の様々な条件によって処理を変更することはできないという課題がある。
また、あるプロセスの状況によって、他のプロセスの処理を変更することもできないという課題がある。
In the method of
In addition, there is a problem that processing of another process cannot be changed depending on the situation of a certain process.
この発明は、例えば、上記のような課題を解決するためになされたものであり、同一または異なるビジネスプロセスの実行時における様々な情報に基づいて、処理を変更することができるようにすることを目的とする。 The present invention has been made, for example, in order to solve the above-described problems, and enables processing to be changed based on various information at the time of execution of the same or different business processes. Objective.
この発明にかかるビジネスプロセス管理装置は、
情報を記憶する記憶装置と、
情報を処理する処理装置と、
上記処理装置を用いて、業務と上記業務の実行手順とを示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶部と、
上記処理装置を用いて、上記ビジネスプロセス定義記憶部が記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記ビジネスプロセス定義情報によって示される業務を実行する業務実行部と、
上記処理装置を用いて、上記業務実行部が実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理部と、
上記処理装置を用いて、上記実行情報管理部が記憶した実行情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成し、上記処理装置を用いて、生成した上記解析情報を上記業務実行部に通知する実行情報解析部と、
を有することを特徴とする。
The business process management device according to the present invention is:
A storage device for storing information;
A processing device for processing information;
Using the processing device, a business process definition storage unit that stores business process definition information indicating a business and an execution procedure of the business in the storage device;
Using the processing device, the business process definition information stored in the business process definition storage unit is acquired from the storage device, and using the processing device, an execution procedure indicated by the acquired business process definition information and execution A business execution unit that executes the business indicated by the business process definition information according to the analysis information obtained by analyzing the information about the business performed,
An execution information management unit that stores information about a task executed by the task execution unit as execution information in the storage device using the processing device;
Using the processing device, the execution information stored by the execution information management unit is acquired from the storage device, and using the processing device, the acquired execution information is analyzed to generate analysis information, and the processing An execution information analysis unit that notifies the business execution unit of the generated analysis information using a device;
It is characterized by having.
この発明によれば、例えば、業務実行部200が実行した業務についての情報(実行情報230)を実行情報管理部210が記憶し、実行情報解析部220が実行情報230を解析して、解析情報282を生成し、生成した解析情報282にしたがって、業務実行部200が業務を実行するので、業務実行部200が実行した業務についての情報により、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the present invention, for example, the information (execution information 230) about the business executed by the
実施の形態1.
実施の形態1を、図1〜図20を用いて説明する。
The first embodiment will be described with reference to FIGS.
図1は、この実施の形態におけるビジネスプロセス管理システム100の全体的な構成の一例を示す概念図である。
FIG. 1 is a conceptual diagram showing an example of the overall configuration of a business
ビジネスプロセス管理システム100は、ビジネスプロセス定義情報130によって定義された実行手順にしたがって業務を実行するシステムである。
The business
ビジネスプロセス定義情報130は、一連の業務をプロセスとして定義し、互いに関連したプロセスが複数定義された情報である。
例えば、ビジネスプロセス定義情報130は、プロセスAを定義したプロセスA定義情報と、プロセスBを定義にしたプロセスB定義情報とを有する。プロセスA定義情報は、まず処理aを実行し、次に処理bを実行し、その次に処理cを実行し、最後に処理dを実行するということを定義する。また、プロセスB定義情報は、まず処理eを実行し、次に、プロセスAにおける処理bと処理cの実行時間にしたがって、ある条件を満たす場合には処理fを実行し、条件を満たさない場合には処理gを実行するということを定義する。
ビジネスプロセス定義作成装置120は、ビジネスプロセス定義情報130を、キーボードなどの入力装置から入力し、入力したビジネスプロセス定義情報130を、磁気ディスク装置などの記憶装置に記憶する。
The business
For example, the business
The business process
ビジネスプロセス管理装置110は、ビジネスプロセス定義情報130を、磁気ディスク装置などの記憶装置から取得し、取得したビジネスプロセス定義情報130にしたがって、業務を実行する。
ビジネスプロセス管理装置110は、業務実行部200、実行情報管理部210、実行情報解析部220を有する。
The business
The business
業務実行部200は、アプリケーションプログラム140などを呼び出して業務を実行する。
実行情報管理部210は、例えば処理bを実行した時刻などの実行情報230を、磁気ディスク装置などの記憶装置に記憶する。
実行情報解析部220は、実行情報管理部210が記憶した実行情報230に基づいて、処理の分岐条件の判断などに使われる解析情報282を生成し、業務実行部200に通知する。
The
The execution
Based on the
図2は、この実施の形態におけるビジネスプロセス管理装置110及びビジネスプロセス定義作成装置120の外観の一例を示す図である。
図2において、ビジネスプロセス管理装置110及びビジネスプロセス定義作成装置120は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)などの表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
なお、ビジネスプロセス管理装置110は、主として、LAN942などを介して、ビジネスプロセス定義作成装置120などの他のコンピュータとの間で情報を入出力するものであり、プリンタ装置906、スキャナ装置907、ファクシミリ機932、電話器931などの周辺機器と接続していなくてもよい。
FIG. 2 is a diagram showing an example of the appearance of the business
In FIG. 2, a business
The system unit 910 is a computer, and is connected to the
The business
図3は、この実施の形態におけるビジネスプロセス管理装置110及びビジネスプロセス定義作成装置120のハードウェア資源の一例を示す図である。
図3において、ビジネスプロセス管理装置110及びビジネスプロセス定義作成装置120は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 3 is a diagram illustrating an example of hardware resources of the business
In FIG. 3, a business
The
The communication board 915, the
Further, the communication board 915, the
通信ボード915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信ボード915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication board 915 is connected to the
The
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The
The
In addition, the arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals. The data and signal values are the
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “to part” and “to means” in the description of embodiments described below may be “to circuit”, “to apparatus”, “to apparatus”, and “means”. Also, “˜step”, “˜procedure”, and “˜processing” may be used. That is, what is described as “˜unit” and “˜means” may be realized by firmware stored in the
図4は、この実施の形態におけるビジネスプロセス管理装置110の機能ブロックの構成の一例を示すブロック構成図である。
ビジネスプロセス管理装置110は、ビジネスプロセス定義記憶部240、業務実行部200、実行情報管理部210、実行情報解析部220を有する。
FIG. 4 is a block configuration diagram showing an example of a functional block configuration of the business
The business
ビジネスプロセス定義記憶部240は、CPU911などの処理装置を用いて、ビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置に記憶する。
The business process
業務実行部200(解析実行部ともいう)は、CPU911などの処理装置を用いて、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報を、磁気ディスク装置920などの記憶装置から取得する。
業務実行部200は、CPU911などの処理装置を用いて、取得したビジネスプロセス定義情報によって示される実行手順にしたがって、取得したビジネスプロセス定義情報によって示される業務を実行する。
The business execution unit 200 (also referred to as an analysis execution unit) acquires business process definition information stored in the business process
The
業務実行部200は、CPU911などの処理装置を用いて、その業務の内容にしたがって、業務を実行した実行結果を、例えば、磁気ディスク装置920などの記憶装置に記憶し、または、CRTなどの表示装置901やその他の出力装置に出力する。
The
業務実行部200は、また、CPU911などの処理装置を用いて、実行情報230を、実行情報管理部210に通知する。
ここで、実行情報とは、業務実行部200が実行した業務についての情報である。実行情報230には、例えば、業務実行部200がある業務を開始した時刻や終了した時刻などがある。
The
Here, the execution information is information about the business executed by the
ビジネスプロセス定義情報130によって示される実行手順には、所定の条件を満たすか否かによって分岐し、実行手順が変更になる場合がある。
条件分岐がある場合、業務実行部200は、CPU911などの処理装置を用いて、分岐条件を満たすか否かを判断し、判断結果にしたがって、実行手順を変更しながら、業務を実行する。
The execution procedure indicated by the business
When there is a conditional branch, the
業務実行部200が判断する分岐条件には、解析情報282に基づいて判断される分岐条件がある。
ここで、解析情報とは、実行情報解析部220が実行情報230を解析して得た情報である。
The branch condition determined by the
Here, the analysis information is information obtained by the execution
解析情報282に基づいて分岐条件を判断する場合、業務実行部200は、CPU911などの処理装置を用いて、分岐条件情報281を実行情報解析部220に通知する。
ここで、分岐条件情報とは、判断すべき分岐条件についての情報である。例えば、判断すべき分岐条件が、ある処理の実行にかかった時間が所定の時間よりも長いか短いかという条件であるとすれば、分岐条件情報は、例えば、その処理の実行にかかった時間の算出を求める内容を示す情報である。
実行情報解析部220が、業務実行部200から通知された分岐条件情報281に基づいて解析情報282を生成し、生成した解析情報282を業務実行部200に通知する。
業務実行部200は、CPU911などの処理装置を用いて、実行情報解析部220から通知された解析情報282を取得する。
業務実行部200は、CPU911などの処理装置を用いて、取得した解析情報282に基づいて、分岐条件を満たすか否かを判断し、判断結果にしたがって、業務を実行する。
When determining the branch condition based on the analysis information 282, the
Here, the branch condition information is information about the branch condition to be determined. For example, if the branch condition to be determined is a condition that the time taken to execute a certain process is longer or shorter than a predetermined time, the branch condition information includes, for example, the time taken to execute the process. It is information which shows the content which calculates | requires calculation.
The execution
The
The
実行情報管理部210は、CPU911などの処理装置を用いて、業務実行部200から通知された実行情報230を取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行情報230を、例えばファイルやデータベースなどの形式で、磁気ディスク装置920などの記憶装置に記憶する。
The execution
The execution
実行情報解析部220は、CPU911などの処理装置を用いて、業務実行部200から通知された分岐条件情報281を取得する。
実行情報解析部220は、CPU911などの処理装置を用いて、取得した分岐条件情報281を解読し、解析情報282を生成するために必要な実行情報230を求める。
実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行情報230のなかから、解析情報282を生成するために必要な実行情報230を取得する。
実行情報解析部220は、CPU911などの処理装置を用いて、取得した実行情報230を解析し、解析情報282を生成する。
実行情報解析部220は、CPU911などの処理装置を用いて、生成した解析情報282を、業務実行部200に通知する。
The execution
The execution
The execution
The execution
The execution
例えば、ある処理の実行にかかった時間を算出する場合であれば、実行情報解析部220は、実行情報管理部210が記憶した実行情報230のなかから、その処理の実行を開始した時刻についての情報と、その処理の実行を終了した時刻についての情報を取得し、2つの時刻の差を計算し、計算結果を解析情報282として、業務実行部200に通知する。
For example, in the case of calculating the time taken to execute a certain process, the execution
なお、ビジネスプロセス管理装置110は、物理的に1つの装置である必要はなく、例えば、業務実行部200を備えた装置(例えばサーバ)と、実行情報管理部210を備えた装置と、実行情報解析部220を備えた装置とが、LAN942やインターネット940などのネットワークを介して接続し、互いに協働して動作するものであってもよい。
Note that the business
次に、ビジネスプロセス定義情報について、詳しく説明する。 Next, the business process definition information will be described in detail.
図5は、この実施の形態におけるビジネスプロセス定義作成装置120によるビジネスプロセス定義情報入力処理の流れの一例を示すフローチャート図である。
FIG. 5 is a flowchart showing an example of the flow of business process definition information input processing by the business process
なお、ビジネスプロセス定義作成装置120は、図2及び図3で説明したビジネスプロセス管理装置110と同様のハードウェア構成をもつコンピュータなどであってもよいし、他の構成をもつ装置であってもよい。また、ビジネスプロセス定義作成装置120は、ビジネスプロセス管理装置110と一体の装置であってもよいし、ビジネスプロセス管理装置110とは異なる装置であってもよい。
The business process
モデル入力工程S101において、ビジネスプロセス定義作成装置120は、アプリケーション連携のモデルを作成する。
ここで、アプリケーション連携のモデルとは、アプリケーションプログラム140を呼び出すことによって実行される業務を、所定の実行手順にしたがって順序よく実行することにより、全体として1つのビジネスプロセスを実行するため、各業務で呼び出すアプリケーションプログラム140や、業務の実行手順を定義したものである。
業務の実行手順には、例えば、逐次実行(ある業務が終了したら、次の業務を開始する)、条件分岐(ある条件を満たすか否かによって、複数の業務のなかから選択した業務を実行する)、並列処理(複数の業務を並行して実行する)、合流(複数の業務が全部終了するのを待つ)などがある。
In the model input step S101, the business process
Here, the application linkage model is called in each business in order to execute one business process as a whole by executing the business executed by calling the
Examples of business execution procedures include sequential execution (starting the next business when a certain business is completed), conditional branching (execution of a business selected from multiple businesses depending on whether a certain condition is met or not) ), Parallel processing (execution of a plurality of tasks in parallel), merging (waiting for the completion of all the tasks).
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、例えば、アプリケーション連携のモデルを示す図形を、マウス903などの入力装置から入力する。あるいは、ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、アプリケーション連携のモデルを示すテキストを、キーボード902などの入力装置から入力する。
The business process
測定点入力工程S102において、ビジネスプロセス定義作成装置120は、測定点を指定する。
ここで、測定点とは、ビジネスプロセスを構成する一連の業務のなかで、ある業務を実行した時刻を測定するところを示すものである。業務の実行には通常ある程度の時間がかかるので、実行を開始した時刻を測定するのか、あるいは、実行を終了した時刻を測定するのかも示す。
In the measurement point input step S102, the business process
Here, the measurement point indicates that a time at which a certain business is executed is measured in a series of business constituting the business process. Since the execution of business usually takes a certain amount of time, it also indicates whether to measure the time when the execution is started or the time when the execution is completed.
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、例えば、S101で入力したアプリケーション連携のモデルを示す図形やテキストを、CRTなどの表示装置901に表示し、その図形上で測定点を示す場所を、マウス903などの入力装置から入力する。
The business process
定義情報出力工程S103において、ビジネスプロセス定義作成装置120は、ビジネスプロセス定義情報130を出力する。
In the definition information output step S103, the business process
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、S101で入力したアプリケーション連携のモデルを示す図形やテキストと、S102で入力した測定点についての情報とに基づいて、ビジネスプロセス定義情報130を生成する。
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、生成したビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置に記憶する。
The business process
The business process
このように、ユーザがビジネスプロセス定義作成装置120を操作することにより、ビジネスプロセス定義情報130を作成する。
In this way, the business
なお、この例では、業務を実行した時刻を測定して、実行情報とする場合のビジネスプロセス定義情報130について説明したが、実行情報は、業務を実行した時刻だけでなく、実行した業務についての他の情報であってもよい。
また、この例では、ビジネスプロセス定義情報130において、業務を実行した時刻を測定する測定点を指定したが、ビジネスプロセス定義情報130において測定点を指定せず、ビジネスプロセスを構成する一連の業務すべてについて、開始時刻、終了時刻を測定することとしてもよい。
In this example, the business
In this example, the measurement point for measuring the time at which the business is executed is specified in the business
その後、ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、記憶したビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置から取得する。
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、取得したビジネスプロセス定義情報130を、ビジネスプロセス管理装置110に通知する。
Thereafter, the business process
The business process
図6は、この実施の形態におけるビジネスプロセス定義作成装置120が入力するビジネスプロセスのモデルの一例を示す図である。
ここで、長方形は、サービス呼び出しなどの業務を示す。
FIG. 6 is a diagram showing an example of a business process model input by the business process
Here, the rectangles indicate services such as service calls.
プロセスAは、4つの業務からなる。
1つ目の業務は、アプリケーションプログラムであるアプリケーションAP1を呼び出すことにより、実行する。
2つ目の業務は、アプリケーションAP1による業務の実行が終了した後、アプリケーションAP2を呼び出すことにより、実行する。
3つ目の業務は、アプリケーションAP2による業務の実行が終了した後、アプリケーションAP3を呼び出すことにより、実行する。
4つ目の業務は、アプリケーションAP3による業務の実行が終了した後、アプリケーションAP4を呼び出すことにより、実行する。
アプリケーションAP4による業務の実行が終了すると、プロセスA全体が終了する。
Process A consists of four tasks.
The first task is executed by calling the application AP1, which is an application program.
The second task is executed by calling the application AP2 after the task AP1 has finished executing the task.
The third task is executed by calling the application AP3 after the task AP2 has finished executing the task.
The fourth task is executed by calling the application AP4 after the task execution by the application AP3 is completed.
When the execution of the business by the application AP4 is finished, the entire process A is finished.
ビジネスプロセス定義作成装置120は、モデル入力工程S101において、例えば、図6に示した図形を入力する。
The business process
図7は、この実施の形態におけるビジネスプロセス定義作成装置120が入力するビジネスプロセスのモデルの一例を示す図である。
これは、図6のモデルに測定点P1と測定点P2とを追加したものである。
FIG. 7 is a diagram illustrating an example of a business process model input by the business process
This is obtained by adding measurement points P1 and P2 to the model of FIG.
測定点P1は、2つ目の業務の開始時刻、すなわち、アプリケーションAP2を呼び出す直前の時刻を測定するための測定点である。
測定点P2は、3つ目の業務の終了時刻、すなわち、アプリケーションAP3の業務実行が終わった時刻を測定するための測定点である。
The measurement point P1 is a measurement point for measuring the start time of the second job, that is, the time immediately before calling the application AP2.
The measurement point P2 is a measurement point for measuring the end time of the third business, that is, the time when the business execution of the application AP3 is finished.
ビジネスプロセス定義作成装置120は、測定点入力工程S102において、例えば、S101で入力した図6の図形を表示し、測定点P1と測定点P2とについての図形(吹き出し)を入力して、図7の図形を完成させる。
In the measurement point input step S102, the business process
ビジネスプロセス定義作成装置120は、定義情報出力工程S103において、S101とS102とで入力した図形を分析して、ビジネスプロセス定義情報130を生成する。
In the definition information output step S103, the business process
ビジネスプロセス管理装置110では、ビジネスプロセス定義記憶部240が、CPU911などの処理装置を用いて、ビジネスプロセス定義作成装置120から通知されたビジネスプロセス定義情報を取得する。
ビジネスプロセス定義記憶部240は、CPU911などの処理装置を用いて、取得したビジネスプロセス定義情報を、磁気ディスク装置920などの記憶装置に記憶する。
In the business
The business process
図8は、この実施の形態におけるビジネスプロセス定義作成装置120が生成し、ビジネスプロセス定義記憶部240が記憶するビジネスプロセス定義情報130の一例を示す図である。
ここに示したビジネスプロセス定義情報130は、ビジネスプロセス定義作成装置120が、図7に示した図形を分析して生成するものである。
FIG. 8 is a diagram showing an example of the business
The business
なお、この例では、BPEL(Bisiness Process Execution Language)形式を拡張した形式を用いて、ビジネスプロセス定義情報130を記述しているが、他の形式で記述したビジネスプロセス定義情報130を生成しても構わない。
また、BPELはXML(Extensible Markup Language)ベースのビジネスプロセス記述言語であるため、この例の記述はXML形式となっているが、他の形式であってもかまわない。
In this example, the business
Since BPEL is an XML (Extensible Markup Language) -based business process description language, the description in this example is in the XML format, but may be in other formats.
また、ビジネスプロセス定義作成装置120が、図7のような図形を入力するのではなく、図8のようなテキストを、キーボード902などの入力装置から入力してもよい。
Further, the business process
ノード「Process」は、1つのビジネスプロセス(一連の業務)を示す。ここでは、プロセスAについての定義情報として、「proc_A」という名前のノード「Process」を定義している。
ノード「sequence」は、複数の業務を逐次実行することを示す。
ノード「invoke」は、属性「partnerLink」によって示されるアプリケーションプログラムを呼び出すことにより、業務を実行することを示す。
ここでは、プロセスAについての定義情報として、アプリケーションプログラム「app_AP1」、アプリケーションプログラム「app_AP2」、アプリケーションプログラム「app_AP3」、アプリケーションプログラム「app_AP4」を順番に呼び出すことを定義している。
それぞれの業務を参照する識別情報として、ノード「invoke」には、属性「Id」が定義されている。
The node “Process” indicates one business process (a series of tasks). Here, as definition information for the process A, a node “Process” named “proc_A” is defined.
The node “sequence” indicates that a plurality of tasks are sequentially executed.
The node “invoke” indicates that a business is executed by calling an application program indicated by the attribute “partnerLink”.
Here, as the definition information for the process A, it is defined that the application program “app_AP1”, the application program “app_AP2”, the application program “app_AP3”, and the application program “app_AP4” are called in order.
An attribute “Id” is defined in the node “invoke” as identification information for referring to each business.
ノード「WatchList」は、そのビジネスプロセスにおける測定点を示す。
ノード「Reference」は、各測定点についての情報を示す。ここでは、属性「Id」の値が「id002」である業務(アプリケーションプログラム「app_b」の呼び出し)の実行開始(属性「Type」の値が「begin」)の時刻を測定する測定点を定義し、測定点「WP1」としている。同様に、属性「Id」の値が「id003」である業務(アプリケーションプログラム「app_c」の呼び出し)の実行終了(属性「Type」の値が「end」)の時刻を測定する測定点を定義し、測定点「WP2」としている。
ノード「WatchList」及びその子ノードであるノード「Reference」は、測定点情報の一例である。
The node “WatchList” indicates a measurement point in the business process.
The node “Reference” indicates information about each measurement point. Here, the measurement point for measuring the time of the start of the operation (calling of the application program “app_b”) having the attribute “Id” value “id002” (the attribute “Type” value is “begin”) is defined. The measurement point is “WP1”. Similarly, a measurement point for measuring the time of the end of execution (call of the application program “app_c”) having the attribute “Id” value “id003” (the attribute “Type” value is “end”) is defined. The measurement point is “WP2”.
The node “WatchList” and its child node “Reference” are examples of measurement point information.
図9は、この実施の形態におけるビジネスプロセス定義作成装置120によるビジネスプロセス定義情報入力処理の流れの別の例を示すフローチャート図である。
FIG. 9 is a flowchart showing another example of the flow of business process definition information input processing by the business process
モデル入力工程S201において、ビジネスプロセス定義作成装置120は、アプリケーション連携のモデルを作成する。モデル入力工程S201は、図5で説明したモデル入力工程S101と同様である。
In the model input step S201, the business process
分岐条件入力工程S202において、ビジネスプロセス定義作成装置120は、分岐条件を指定する。
場合によって実行する業務を変えたい場合には、条件分岐を用いる。ここでは、条件分岐した業務のどれを実行するかを判断するために必要な分岐条件を入力する。
In the branch condition input step S202, the business process
Use conditional branching when you want to change the task to be executed. Here, a branch condition necessary for determining which of the branched business is executed is input.
ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、分岐条件を、キーボード902などの入力装置から入力する。
このとき、実行情報230を解析した解析情報に基づいて判断する分岐条件を入力することができる。
The business process
At this time, a branch condition to be determined based on analysis information obtained by analyzing the
定義情報出力工程S203において、ビジネスプロセス定義作成装置120は、ビジネスプロセス定義情報130を出力する。定義情報出力工程S203は、図5で説明した定義情報出力工程S103と同様である。
In the definition information output step S203, the business process
図10は、この実施の形態におけるビジネスプロセス定義作成装置120が入力するビジネスプロセスのモデルの一例を示す図である。
ここで、菱形は、条件分岐を示す。
FIG. 10 is a diagram illustrating an example of a business process model input by the business process
Here, the rhombus indicates a conditional branch.
プロセスBは、3つの業務からなる。
1つ目の業務は、アプリケーションプログラムであるアプリケーションAP5を呼び出すことにより、実行する。
2つ目の業務と3つ目の業務は、アプリケーションAP5による業務の実行が終了した後に実行する。ただし、ある条件を満たす場合には、2つ目の業務を実行し、3つ目の業務を実行しない。条件を満たさない場合には、逆に、3つ目の業務を実行し、2つ目の業務を実行しない。すなわち、条件分岐が存在する。
2つ目の業務は、アプリケーションAP6を呼び出すことにより、実行する。
3つ目の業務は、アプリケーションAP7を呼び出すことにより、実行する。
Process B consists of three tasks.
The first task is executed by calling an application AP5 that is an application program.
The second job and the third job are executed after the execution of the job by the application AP5 is completed. However, if a certain condition is satisfied, the second job is executed and the third job is not executed. If the condition is not satisfied, the third job is executed and the second job is not executed. That is, there is a conditional branch.
The second task is executed by calling the application AP6.
The third task is executed by calling the application AP7.
ビジネスプロセス定義作成装置120は、モデル入力工程S201において、例えば、図10に示した図形を入力する。
The business process
この図形だけでは、分岐条件がわからないので、ビジネスプロセスを実行できない。そこで、ビジネスプロセス定義作成装置120は、分岐条件入力工程S202において、分岐条件を入力する。
The business process cannot be executed with this figure alone because the branch condition is not known. Therefore, the business process
ビジネスプロセス定義作成装置120は、定義情報出力工程S103において、S101とS102とで入力した図形や情報を分析して、ビジネスプロセス定義情報130を生成する。
In the definition information output step S103, the business process
図11は、この実施の形態におけるビジネスプロセス定義作成装置120が生成し、ビジネスプロセス定義記憶部240が記憶するビジネスプロセス定義情報130の一例を示す図である。
ここに示したビジネスプロセス定義情報130は、ビジネスプロセス定義作成装置120が、図10に示した図形を分析して生成するものである。
FIG. 11 is a diagram showing an example of the business
The business
ここで、ノード「switch」は、複数の業務のなかから選択した業務を実行することを示す。
ノード「case」は、分岐条件を示し、その分岐条件を満たす場合に、以下の業務(アプリケーションプログラム「app_AP6」の呼び出し)を実行することを示す。
ノード「othrewise」は、ノード「case」で示した分岐条件に当てはまらない場合に、以下の業務(アプリケーションプログラム「app_AP7」の呼び出し)を実行することを示す。
Here, the node “switch” indicates that a task selected from a plurality of tasks is executed.
The node “case” indicates a branch condition, and indicates that the following work (calling of the application program “app_AP6”) is executed when the branch condition is satisfied.
The node “othrewise” indicates that the following work (calling of the application program “app_AP7”) is executed when the branch condition indicated by the node “case” does not apply.
この例では、ノード「case」の属性「condition」の値「time(proc_A.WP2−proc_A.WP1)>100”が分岐条件を示している。
すなわち、プロセスAの測定点WP2の時刻と、プロセスAの測定点WP1の時刻との差が100ミリ秒超である場合に、アプリケーション「app_AP6」を呼び出し、それ以外の場合に、アプリケーション「app_AP7」を呼び出すというビジネスプロセスを定義している。
属性「condition」の値は、分岐条件情報の一例である。
In this example, the value “time (proc_A.WP2-proc_A.WP1)> 100” of the attribute “condition” of the node “case” indicates the branch condition.
That is, when the difference between the time of the measurement point WP2 of the process A and the time of the measurement point WP1 of the process A exceeds 100 milliseconds, the application “app_AP6” is called, and otherwise, the application “app_AP7” is called. Business process to call is defined.
The value of the attribute “condition” is an example of branch condition information.
ここで、プロセスAの測定点WP1は、アプリケーション「app_AP2」による業務の開始時刻を測定し、プロセスAの測定点WP2は、アプリケーション「app_AP3」による業務の終了時刻を測定することを示しているので、アプリケーション「app_WP2」とアプリケーション「app_WP3」との実行時間の合計を、分岐条件に用いている。 Here, the measurement point WP1 of the process A measures the start time of the business by the application “app_AP2”, and the measurement point WP2 of the process A indicates that the end time of the business by the application “app_AP3” is measured. The total execution time of the application “app_WP2” and the application “app_WP3” is used as the branch condition.
なお、この例では、プロセスBのなかで、プロセスAの業務についての実行情報を分岐条件に用いているが、自らのビジネスプロセスにおける実行情報を参照することとしてもよい。 In this example, in the process B, the execution information about the business of the process A is used as the branch condition, but the execution information in its own business process may be referred to.
図12は、この実施の形態におけるビジネスプロセス定義作成装置120が入力するビジネスプロセスのモデルの一例を示す図である。
FIG. 12 is a diagram showing an example of a business process model input by the business process
分岐条件として使用したい処理時間には、図12に示すように様々なものがある。
例えば、条件分岐がある場合(この例では処理3と処理4)に、どちらかの業務(処理3または処理4)にかかった処理時間に基づいて、条件分岐したい場合がある。
あるいは、並列実行(並行動作)がある場合(この例では処理6と処理7)に、どちらかの業務(処理6または処理7)が終了するまでの処理時間、または、両方の業務(処理6及び処理7)が終了するまでの処理時間に基づいて、条件分岐したい場合がある。
あるいは、繰り返し実行がある場合(この例では処理9)、その業務を最初に実行した時刻、あるいは、その業務を最後に実行した時刻に基づいて、条件分岐したい場合がある。
There are various processing times desired to be used as branching conditions as shown in FIG.
For example, when there is a conditional branch (in this example, processing 3 and processing 4), there is a case where conditional branching is desired based on the processing time taken for one of the tasks (processing 3 or processing 4).
Alternatively, when there is parallel execution (parallel operation) (in this example,
Alternatively, when there is repeated execution (
図13は、この実施の形態におけるビジネスプロセス定義作成装置120が生成し、ビジネスプロセス定義記憶部240が記憶するビジネスプロセス定義情報130の一例を示す図である。
ここに示したビジネスプロセス定義情報130は、ビジネスプロセス定義作成装置120が、図12に示した図形を分析して生成するものである。
FIG. 13 is a diagram showing an example of the business
The business
ここで、ノード「flow」は、複数の業務を並列実行することを示す。
ノード「while」は、条件を満たす間、業務を繰り返すことを示す。
Here, the node “flow” indicates that a plurality of tasks are executed in parallel.
The node “while” indicates that the job is repeated while the condition is satisfied.
このように、様々な場面での時間を測定したい場合には、それに対応する測定点を定義しておく。
この例では、測定点「WP1b」,「WP2e」,「WPsb」,「WPse」,「WP5b」,「WP6e」,「WP7e」,「WP8s」,「WP9s」,「WP9e」の10個の測定点を定義している。
測定点「WP1b」は、「id001」で示される、アプリケーションプログラム「app_AP1」を呼び出す業務の開始時刻を測定することを示す。
測定点「WP2e」は、「id002」で示される、アプリケーションプログラム「app_AP2」を呼び出す業務の終了時刻を測定することを示す。
測定点「WPsb」は、「id101」で示される、条件分岐の開始時刻を測定することを示す。
測定点「WPse」は、「id101」で示される、条件分岐の終了時刻を測定することを示す。
測定点「WP5b」は、「id005」で示される、アプリケーションプログラム「app_AP5」を呼び出す業務の開始時刻を測定することを示す。
測定点「WP6e」は、「id006」で示される、アプリケーションプログラム「app_AP6」を呼び出す業務の終了時刻を測定することを示す。
測定点「WP7e」は、「id007」で示される、アプリケーションプログラム「app_AP7」を呼び出す業務の終了時刻を測定することを示す。
測定点「WP8s」は、「id008」で示される、アプリケーションプログラム「app_AP8」を呼び出す業務の開始時刻を測定することを示す。
測定点「WP9s」は、「id009」で示される、アプリケーションプログラム「app_AP9」を呼び出す業務の開始時刻を測定することを示す。
測定点「WP9e」は、「id009」で示される、アプリケーションプログラム「app_AP9」を呼び出す業務の終了時刻を測定することを示す。
As described above, when the time in various scenes is to be measured, the corresponding measurement points are defined.
In this example, 10 measurement points “WP1b”, “WP2e”, “WPsb”, “WPse”, “WP5b”, “WP6e”, “WP7e”, “WP8s”, “WP9s”, “WP9e” are measured. A point is defined.
The measurement point “WP1b” indicates that the start time of the work for calling the application program “app_AP1” indicated by “id001” is measured.
The measurement point “WP2e” indicates that the end time of the work for calling the application program “app_AP2” indicated by “id002” is measured.
The measurement point “WPsb” indicates that the start time of the conditional branch indicated by “id101” is measured.
The measurement point “WPse” indicates that the end time of the conditional branch indicated by “id101” is measured.
The measurement point “WP5b” indicates that the start time of a task for calling the application program “app_AP5” indicated by “id005” is measured.
The measurement point “WP6e” indicates that the end time of the work for calling the application program “app_AP6” indicated by “id006” is measured.
The measurement point “WP7e” indicates that the end time of the work for calling the application program “app_AP7” indicated by “id007” is measured.
The measurement point “WP8s” indicates that the start time of a task for calling the application program “app_AP8” indicated by “id008” is measured.
The measurement point “WP9s” indicates that the start time of the work for calling the application program “app_AP9” indicated by “id009” is measured.
The measurement point “WP9e” indicates that the end time of the work for calling the application program “app_AP9” indicated by “id009” is measured.
図14は、図13に示したビジネスプロセス定義情報130によって示される測定点において測定した実行時刻についての実行情報230を解析して、分岐条件を判断する場合に、ビジネスプロセス定義情報130において指定する分岐条件情報の一例を示す図である。
例えば、図12における処理1の処理時間と処理2の処理時間との合計時間を分岐条件に用いる場合には、ビジネスプロセス定義情報130のなかに、分岐条件情報として「proc_C.WP2e−procC.WP1b」と記述する。この記述は、ビジネスプロセス「proc_C」の測定点「WP2e」において測定した実行時刻と、ビジネスプロセス「proc_C」の測定点「WP1b」において測定した実行時刻との差(処理時間の一例)を計算して、解析情報とすべきことを示している。
FIG. 14 is specified in the business
For example, when the total time of the processing time of
同様に、図12における処理2の完了時刻から処理3または処理4の完了時刻までの処理時間を分岐条件に用いる場合には、分岐条件情報として「proc_C.WPse−proc_C.WP2e」と記述する。ここで、処理3と処理4とは、条件分岐により選択的に実行されるので、合流後の測定点「WPse」において測定した実行時刻と、処理2の終了後の測定点「WP2e」において測定した実行時刻との差(処理時間の一例)を計算して、解析情報とすべきことを示している。 Similarly, when the processing time from the completion time of process 2 to the completion time of process 3 or process 4 in FIG. 12 is used as the branch condition, “proc_C.WPse-proc_C.WP2e” is described as the branch condition information. Here, since the processing 3 and the processing 4 are selectively executed by conditional branching, the measurement is performed at the execution time measured at the measurement point “WPse” after the merge and at the measurement point “WP2e” after the completion of the processing 2. It shows that the difference from the execution time (an example of processing time) should be calculated and used as analysis information.
また、図12における処理5の処理時間と処理6または処理7の処理時間の合計のうち、長いほうまたは短いほうの時間を分岐条件に用いる場合には、分岐条件情報として「max(proc_C.WP6e,proc_C.WP7e)−proc_C.WP5b」または「min(proc_C.WP6e,proc_C.WP7e)−proc_C.WP5b」と記述する。ここで、「max(proc_C.WP6e,proc_C.WP7e)」は、測定点「WP6e」において測定した測定時刻と、測定点「WP7e」において測定した測定時刻とのうち、遅いほうの時刻(解析実行時刻の一例)を求めることを示す。「min(…)」は、逆に早いほうの時刻(解析実行時刻の一例)を求めることを示す。
In addition, when the longer or shorter time of the processing time of the process 5 and the processing time of the
また、図12における処理9の処理時間(1回目)を分岐条件に用いる場合には、分岐条件情報として「proc_C.WP9e[1]−proc_C.WP9b[1]」と記述する。ここで、「proc_C.WP9e[1]」は、測定点「WP9e」において測定した実行時刻のうち、1回目の実行時刻を示す。
同様に、図12における処理9の処理時間(最新)を分岐条件に用いる場合には、分岐条件情報として「proc_C.WP9e[last()]−proc_C.WP9b[last()]」と記述する。ここで、「last()」は、その測定点において実行時刻を測定した回数を示し、「proc_C.WP9e[last()]」は、測定点「WP9e」において測定した実行時刻のうち、{last()}回目、すなわち、最新の実行時刻を示す。
なお、1つの測定点について複数回実行時刻を測定した場合に、何回目の実行時刻かという記述(「[…]」の部分)がない場合には、最新の実行時刻を示すこととしてもよいし、1回目の実行時刻を示すこととしてもよい。
When the processing time (first time) of the
Similarly, when the processing time (latest) of the
In addition, when the execution time is measured a plurality of times at one measurement point and there is no description of the execution time (“[...]” Part), the latest execution time may be indicated. It is also possible to indicate the first execution time.
ビジネスプロセス定義作成装置120は、分岐条件入力工程S202において、CPU911などの処理装置を用いて、以上説明した記述を分岐条件情報として、キーボード902などの入力装置から入力してもよい。
あるいは、ビジネスプロセス定義作成装置120は、CPU911などの処理装置を用いて、例えば、図12のようなビジネスプロセスを示す図形を、CRTなどの表示装置901に表示し、測定すべき処理時間の範囲を、マウス903などの入力装置から入力し、入力した情報を分析して、以上説明した記述を分岐条件情報として、生成してもよい。
In the branch condition input step S202, the business process
Alternatively, the business process
次に、以上説明したビジネスプロセス定義情報130に基づいて、ビジネスプロセス管理装置110が、ビジネスプロセスを実行する動作について説明する。
Next, based on the business
図15は、この実施の形態におけるビジネスプロセス管理装置110によるビジネスプロセス管理処理(ビジネスプロセス管理方法)の全体の流れの一例を示すフローチャート図である。
FIG. 15 is a flowchart showing an example of the overall flow of business process management processing (business process management method) by the business
S301において、業務実行部200は、ビジネスプロセス定義情報130を取得する。
ビジネスプロセス定義記憶部240は、CPU911などの処理装置を用いて、ビジネスプロセス定義作成装置120が通知したビジネスプロセス定義情報130を取得する。
ビジネスプロセス定義記憶部240は、CPU911などの処理装置を用いて、取得したビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置に記憶する(ビジネスプロセス定義記憶工程)。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置から取得する。
業務実行部200は、CPU911などの処理装置を用いて、取得したビジネスプロセス定義情報130を分析する。
In S301, the
The business process
The business process
The
The
S302において、業務実行部200は、開始要求を待つ。
業務実行部200は、CPU911などの処理装置を用いて、例えば、ビジネスプロセスを構成する一連の業務の開始を要求する開始要求を、マウス903などの入力装置から入力するのを待つ。
あるいは、業務実行部200は、例えば、アプリケーションプログラム140からの開始要求を、例えば、API(Application Program Interface)やSOAP(Simple Object Access Protocol)などの各種プロトコルにより通知されるのを待ってもよい。
In S302, the
The
Alternatively, the
業務実行部200が開始要求を受けると、業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行を開始する。例えば、業務実行部200は、ビジネスプロセスをインスタンス化する。
When the
S303において、業務実行部200は、実行情報管理部210に開始を通知する。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行を開始したことを、実行情報管理部210に通知する。
実行情報管理部210は、CPU911などの処理装置を用いて、業務実行部200からの通知を取得する。
In step S <b> 303, the
The
The execution
S304において、業務実行部200は、モデルを解析する。
ここで「モデルを解析する」とは、ビジネスプロセス定義情報130によって示される業務手順にしたがって、次に実行すべき処理を決定することである。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセス定義情報130によって示される業務手順にしたがって、次に実行すべき処理を決定する。
次に実行すべき処理が実行時刻の測定である場合には、S305へ進む。
次に実行すべき処理が条件分岐による選択実行である場合には、S307へ進む。
次に実行すべき処理がその他の一般的な処理あるいは業務である場合には、S312へ進む。
In S304, the
Here, “analyzing the model” means determining a process to be executed next in accordance with the business procedure indicated by the business
The
If the next process to be executed is measurement of execution time, the process proceeds to S305.
If the next process to be executed is selection execution by conditional branching, the process proceeds to S307.
If the process to be executed next is another general process or business, the process proceeds to S312.
S305において、業務実行部200は、測定点の指定があるか否かを判断する。
業務実行部200は、CPU911などの処理装置を用いて、測定点の指定があるか否かを判断する。
測定点の指定がある場合には、S306へ進む。
測定点の指定がない場合には、S310へ進む。
In step S <b> 305, the
The
If a measurement point is designated, the process proceeds to S306.
If no measurement point is designated, the process proceeds to S310.
S306において、業務実行部200は、実行時刻情報を、実行情報管理部210に通知する。
業務実行部200は、CPU911などの処理装置を用いて、現在の時刻(実行時刻)を測定する。
業務実行部200は、CPU911などの処理装置を用いて、測定した実行時刻を実行情報230として、実行情報管理部210に通知する。
実行情報管理部210は、CPU911などの処理装置を用いて、業務実行部200が通知した実行情報を取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行情報を、磁気ディスク装置920などの記憶装置を用いて記憶する(実行情報管理工程)。
その後、S310へ進む。
In step S <b> 306, the
The
The
The execution
The execution
Thereafter, the process proceeds to S310.
S307において、業務実行部200は、解析情報の指定があるか否かを判断する。
業務実行部200は、CPU911などの処理装置を用いて、条件分岐のために判断すべき分岐条件を分析し、実行情報230を解析した解析情報282が必要か否かを判断する。
解析情報282が必要な場合には、S308へ進む。
解析情報282が必要ない場合には、S309へ進む。
In step S307, the
The
If the analysis information 282 is necessary, the process proceeds to S308.
If the analysis information 282 is not necessary, the process proceeds to S309.
S308において、業務実行部200は、実行情報解析部220が通知した解析情報282を取得する。
業務実行部200は、CPU911などの処理装置を用いて、分岐条件情報281を、実行情報解析部220に通知する。
実行情報解析部220は、CPU911などの処理装置を用いて、業務実行部200が通知した分岐条件情報281を取得し、解析情報282を生成する(実行情報解析工程)。
実行情報解析部220は、CPU911などの処理装置を用いて、生成した解析情報282を、業務実行部200に通知する。
業務実行部200は、CPU911などの処理装置を用いて、実行情報解析部220が通知した解析情報282を取得する。
In step S <b> 308, the
The
The execution
The execution
The
S309において、業務実行部200は、条件判定をする。
業務実行部200は、CPU911などの処理装置を用いて、分岐条件を満たすか否かを判断する。
このとき解析情報282が必要なら、業務実行部200は、S308で取得した解析情報282に基づいて、分岐条件を満たすか否かを判断する。
業務実行部200は、CPU911などの処理装置を用いて、判断結果に基づいて業務の実行手順を変更し、次に実行すべき処理を決定する。
In step S309, the
The
If the analysis information 282 is necessary at this time, the
The
S312において、業務実行部200は、モデルに応じた処理をする。
業務実行部200は、CPU911などの処理装置を用いて、例えば、アプリケーションプログラムの呼び出しなどの業務・処理を行う(業務実行工程)。
その後、S310へ進む。
In step S312, the
The
Thereafter, the process proceeds to S310.
S310において、業務実行部200は、ビジネスプロセスの実行が終了したか否かを判断する。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行が終了したか否かを判断する。
ビジネスプロセスを構成する一連の業務の実行が終了していない場合は、S304に戻る。
ビジネスプロセスを構成する一連の業務の実行が終了した場合は、S311へ進む。
In S310, the
The
If the execution of a series of tasks constituting the business process has not ended, the process returns to S304.
When the execution of a series of tasks constituting the business process is completed, the process proceeds to S311.
S311において、業務実行部200は、実行情報管理部210に終了を通知する。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行が終了したことを、実行情報管理部210に通知する。
実行情報管理部210は、CPU911などの処理装置を用いて、業務実行部200からの通知を取得する。
In step S <b> 311, the
The
The execution
次に、各処理における動作を、詳しく説明する。 Next, the operation in each process will be described in detail.
図16は、この実施の形態におけるビジネスプロセス管理装置110による定義情報解析処理の流れの一例を示すフローチャート図である。
定義情報解析処理は、図15におけるS301に相当する。
FIG. 16 is a flowchart showing an example of the flow of definition information analysis processing by the business
The definition information analysis process corresponds to S301 in FIG.
S511において、業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130を、磁気ディスク装置920などの記憶装置から取得する。
In step S <b> 511, the
S512において、業務実行部200は、CPU911などの処理装置を用いて、S511で取得したビジネスプロセス定義情報130を解析し、変換する。
この実施の形態におけるビジネスプロセス定義情報130は、例えば、図13に示したように、業務の流れを示す情報(ノード「sequence」)と、測定点を示す測定点情報(ノード「WatchList」)とが分離している。
ビジネスプロセスを構成する一連の業務を実行する場合には、業務を実行する処理の間に、実行時刻を測定する処理を行う必要があるので、処理の順序を整理して、業務を実行する処理の間に、測定点で実行時刻を測定する処理を行うよう、ビジネスプロセス定義情報130を変換する。
In S512, the
The business
When executing a series of tasks that make up a business process, it is necessary to perform a process that measures the execution time between the processes that execute the processes. In the meantime, the business
S513において、業務実行部200は、CPU911などの処理装置を用いて、S512で変換したビジネスプロセス定義情報131を、磁気ディスク装置920などの記憶装置に記憶する。
In S513, the
図17は、この実施の形態における業務実行部200による定義情報解析処理により、ビジネスプロセス定義情報130がどのように変換されるかの一例を示す図である。
なお、図17では、ノード間の階層関係がわかりやすように、階層構造形式で表現している。左側のビジネスプロセス定義情報130は、図13に示したビジネスプロセス定義情報130に対応する階層構造である。
FIG. 17 is a diagram showing an example of how the business
In FIG. 17, the hierarchical relationship between nodes is expressed in a hierarchical structure format so that the hierarchical relationship can be easily understood. The business
右側のビジネスプロセス定義情報131は、業務実行部200が左側のビジネスプロセス定義情報130を変換したものである。
業務実行部200は、CPU911などの処理装置を用いて、ビジネスプロセス定義情報130に含まれる測定点ノード(「reference」)を、時刻測定ノードに変換し、時刻を測定すべき位置に移動させることにより、ビジネスプロセス定義情報131を生成する。
The business process definition information 131 on the right side is obtained by converting the business
The
なお、業務実行部200は、このように事前にビジネスプロセス定義情報130を変換するのではなく、業務の実行時に測定点があるか否かを判断して、時刻の測定などをしてもよい。
The
図18は、この実施の形態におけるビジネスプロセス管理装置110による時刻測定処理の流れの一例を示すフローチャート図である。
時刻測定処理は、図15におけるS306に相当する。
FIG. 18 is a flowchart showing an example of the flow of time measurement processing by the business
The time measurement process corresponds to S306 in FIG.
S561において、業務実行部200は、CPU911などの処理装置を用いて、現在の時刻(実行時刻)を測定する。
In S561, the
S562において、業務実行部200は、CPU911などの処理装置を用いて、プロセスID・測定点ID・S561で測定した実行時刻についての情報(実行情報230)を、実行情報管理部210に通知する。
ここで、プロセスIDとは、業務実行部200が実行しているビジネスプロセスを識別するための識別情報である。図13のビジネスプロセス定義情報130で定義されたビジネスプロセスであれば、例えば、「proc_C」をプロセスIDとして用いることができる。
また、測定点IDとは、測定した実行時刻がどの測定点についてのものであるかを識別するための識別情報である。図13のビジネスプロセス定義情報130で定義されたビジネスプロセスであれば、例えば、「WP1b」、「WP2e」…などを測定点IDとして用いることができる。
In S <b> 562, the
Here, the process ID is identification information for identifying a business process executed by the
The measurement point ID is identification information for identifying which measurement point the measured execution time is for. For example, “WP1b”, “WP2e”,... Can be used as measurement point IDs as long as they are business processes defined by the business
S563において、実行情報管理部210は、CPU911などの処理装置を用いて、S562で業務実行部200が通知したプロセスID・測定点ID・実行時刻(実行情報230)を取得する。
In S563, the execution
S564において、実行情報管理部210は、CPU911などの処理装置を用いて、S563で取得したプロセスID・測定点ID・実行時刻(実行情報230)を、磁気ディスク装置920などの記憶装置に記憶する。
In S564, the execution
図19は、この実施の形態における実行情報管理部210が記憶する実行時刻情報231(実行情報230)の一例を示す図である。
FIG. 19 is a diagram showing an example of the execution time information 231 (execution information 230) stored in the execution
実行情報管理部210は、CPU911などの処理装置を用いて、プロセス名411・測定点ID413・実行時刻414を、磁気ディスク装置920などの記憶装置に記憶する。
なお、プロセス名411は、プロセスIDの一例である。
The execution
The process name 411 is an example of a process ID.
プロセス名411・測定点ID413・実行時刻414は、3つで1組の実行時刻情報231(実行情報)を構成する。
プロセス名411・測定点ID413は、どのビジネスプロセスの、どの測定点について測定した実行時刻414であるかを示す識別情報である。
実行時刻414は、例えば、月・日・時・分・秒を表わす情報である。
The process name 411, the measurement point ID 413, and the execution time 414 constitute a set of execution time information 231 (execution information).
The process name 411 and the measurement point ID 413 are identification information indicating which execution time 414 is measured for which measurement point of which business process.
The execution time 414 is information representing, for example, month / day / hour / minute / second.
1つのビジネスプロセスに、複数の測定点がある場合、測定点ID413により、どの測定点について測定した実行時刻414であるかを識別できる。
また、異なるビジネスプロセスには、同じIDを持つ測定点があってもよいので、その場合は、プロセス名411により、どのビジネスプロセスについて測定した実行時刻414であるかを識別できる。
また、同じ測定点について複数回、実行時刻414を測定した場合には、前の実行時刻情報231は消さずにおき、新たに実行時刻情報231を追加して記憶すれば、同じプロセス名411・同じ測定点ID413の実行時刻情報231を複数記憶することができる。これにより、n回目の実行時刻などの情報に基づく条件分岐も可能となる。
その場合、実行時刻情報231を記憶するための記憶領域がオーバーフローすることがないよう、実行時刻情報231の数の上限を設定しておいて、それを超えた場合には、実行情報管理部210が、CPU911などの処理装置を用いて、古いものから削除していくようにしてもよい。
When there are a plurality of measurement points in one business process, the measurement point ID 413 can identify which measurement point is the execution time 414 measured.
In addition, since different business processes may have measurement points having the same ID, in this case, it is possible to identify which business process is the execution time 414 measured by the process name 411.
Further, when the execution time 414 is measured a plurality of times at the same measurement point, the previous execution time information 231 is not erased, and if the execution time information 231 is newly added and stored, the same process name 411. A plurality of execution time information 231 of the same measurement point ID 413 can be stored. Thereby, conditional branching based on information such as the nth execution time is also possible.
In this case, an upper limit of the number of execution time information 231 is set so that the storage area for storing the execution time information 231 does not overflow, and if the upper limit is exceeded, the execution
図20は、この実施の形態におけるビジネスプロセス管理装置110による条件分岐処理の流れの一例を示すフローチャート図である。
条件分岐処理は、図15におけるS307〜S309に相当する。
FIG. 20 is a flowchart showing an example of the flow of conditional branch processing by the business
The conditional branch process corresponds to S307 to S309 in FIG.
S571において、業務実行部200は、CPU911などの処理装置を用いて、分岐条件の判断に、実行情報230を解析して得た解析情報282が必要か否かを判断する。 業務実行部200は、分岐条件情報281に、測定点を示す記述(例えば「proc_C.WP1b」など)があるか否かを判断することにより、解析情報282が必要か否かを判断する。
解析情報282が必要な場合には、S572へ進む。
解析情報282が必要ない場合には、S578へ進む。
In step S <b> 571, the
If the analysis information 282 is required, the process proceeds to S572.
If the analysis information 282 is not necessary, the process proceeds to S578.
S572において、業務実行部200は、CPU911などの処理装置を用いて、分岐条件情報281を実行情報解析部220に通知する。
ここで、実行情報解析部220に通知する分岐条件情報281は、分岐条件を判断するために必要な解析情報282についての情報であり、分岐条件と同一であってもよいし、異なっていてもよい。
例えば、図11の分岐条件情報281は「time(proc_A.WP2−proc_A.WP1)>100」であるが、これを実行情報解析部220に通知してもよい。その場合、実行情報解析部220が生成する解析情報282は、「真」か「偽」かを示す情報となる。
また、同じ例において、「time(proc_A.WP2−proc_A.WP1)」の部分を抽出して、分岐条件情報281として実行情報解析部220に通知してもよい。その場合、実行情報解析部220が生成する解析情報282は、処理時間を示す数値の情報なので、業務実行部200がその数値を「100」と比較して、分岐条件を満たすか否かを判断することになる。
In S <b> 572, the
Here, the branch condition information 281 notified to the execution
For example, the branch condition information 281 in FIG. 11 is “time (proc_A.WP2-proc_A.WP1)> 100”, but this may be notified to the execution
In the same example, a portion of “time (proc_A.WP2-proc_A.WP1)” may be extracted and notified to the execution
S573において、実行情報解析部220は、CPU911などの処理装置を用いて、S572で業務実行部200が通知した分岐条件情報281を取得する。
In step S573, the execution
S574において、実行情報解析部220は、CPU911などの処理装置を用いて、S573で取得した分岐条件情報281に基づいて、解析情報282を生成するのに必要な実行情報230を判別する。
例えば、図11の分岐条件情報281(「time(proc_A.WP2−proc_A.WP1)>100」)を通知された場合、ビジネスプロセス「proc_A」の測定点「WP2」について測定した実行時刻(「proc_A.WP2」)と、ビジネスプロセス「proc_A」の測定点「WP1」について測定した実行時刻(「proc_A.WP1」)とについての実行情報230(実行時刻情報231)が必要であると、実行情報解析部220は判断する。
実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行情報230のなかで、必要であると判断した実行情報230を、磁気ディスク装置920などの記憶装置から取得する。
In step S574, the execution
For example, when the branch condition information 281 (“time (proc_A.WP2-proc_A.WP1)> 100”) in FIG. 11 is notified, the execution time (“proc_A” measured for the measurement point “WP2” of the business process “proc_A”) is notified. .WP2 ") and execution information 230 (execution time information 231) for the execution time (" proc_A.WP1 ") measured for the measurement point" WP1 "of the business process" proc_A ". The
The execution
S575において、実行情報解析部220は、CPU911などの処理装置を用いて、S574で取得した実行情報230を解析して、解析情報282を生成する。
例えば、図11の分岐条件情報281(「time(proc_A.WP2−proc_A.WP1)>100」)を通知された場合、実行情報解析部220は、CPU911などの処理装置を用いて、ビジネスプロセス「proc_A」の測定点「WP2」について測定した実行時刻と、ビジネスプロセス「proc_A」の測定点「WP1」について測定した実行時刻との差を計算し、処理時間とする。次に、実行情報解析部220は、CPU911などの処理装置を用いて、計算した処理時間と「100」とを比較し、計算した処理時間のほうが「100」より大きい場合には「真」、「100」以下の場合には「偽」を内容とする情報を生成し、解析情報282とする。
In S575, the execution
For example, when the branch condition information 281 (“time (proc_A.WP2-proc_A.WP1)> 100”) in FIG. 11 is notified, the execution
S576において、実行情報解析部220は、CPU911などの処理装置を用いて、S575で生成した解析情報282を、業務実行部200に通知する。
In S576, the execution
S577において、業務実行部200は、CPU911などの処理装置を用いて、S576で実行情報解析部220が通知した解析情報282を取得する。
In step S577, the
S578において、業務実行部200は、CPU911などの処理装置を用いて、S577で取得した解析情報282や他の情報に基づいて、分岐条件を満たすか否かを判断し、判断結果に基づいて、次に実行する業務を決定する。
例えば、図11の場合であれば、分岐条件(「time(proc_A.WP2−proc_A.WP1)>100」)を満たすと判断した場合には、アプリケーションプログラム「app_AP6」を呼び出す業務を、次に実行する業務とし、分岐条件を満たさないと判断した場合には、アプリケーションプログラム「app_AP7」を呼び出す業務を、次に実行する業務とする。
In S578, the
For example, in the case of FIG. 11, when it is determined that the branch condition (“time (proc_A.WP2-proc_A.WP1)> 100”) is satisfied, the task of calling the application program “app_AP6” is executed next. If it is determined that the branch condition is not satisfied, the task that calls the application program “app_AP7” is the task to be executed next.
実行情報解析部220が生成する解析情報282は、以上説明したもののほか、例えば、以下のようなものであってもよい。
(1)複数の実行時刻のうち最先の実行時刻(解析実行時刻の一例)
例えば、並列実行される業務のうち、どれか1つが終了した時刻に基づいて、業務の実行手順を変更する場合である。
(2)複数の実行時刻のうち最後の実行時刻(解析実行時刻の一例)
例えば、並列実行される業務のすべてが終了した時刻に基づいて、業務の実行手順を変更する場合である。
(3)複数の実行時刻を平均した実行時刻(解析実行時刻の一例)
例えば、並列実行される業務が終了した時刻の平均に基づいて、業務の実行手順を変更する場合である。
(4)2つの実行時刻または解析実行時刻の差(処理時間の一例)
例えば、ある業務の実行にかかった時間が大きい場合に、業務負荷が高くなっていると判断して、業務の実行手順を変更する場合である。
(5)2つの実行時刻または解析実行時刻の差の絶対値(処理時間の一例)
例えば、並列実行される業務が終了した時刻の差が大きい場合に、業務負荷に偏りがあると判断して、業務の実行手順を変更する場合である。
(6)2つの処理時間の差(解析処理時間の一例)
例えば、他の業務と比較してある業務にかかった時間が大きい場合に、業務負荷が高くなっていると判断して、業務の実行手順を変更する場合である。
(7)2つの処理時間の差の絶対値(解析処理時間の一例)
例えば、並列実行される業務にかかった時間の差が大きい場合に、業務負荷に偏りがあると判断して、業務の実行手順を変更する場合である。
(8)複数の処理時間の合計(解析処理時間の一例)
例えば、別のビジネスプロセスにおいて、同じ人が行う業務にかかった時間を合計することにより、その人の業務負荷を判断して、業務の実行手順を変更する場合である。
(9)複数の処理時間のうち最短の時間(解析処理時間の一例)
例えば、同じ業務を繰り返して実行する場合に、一番速く処理が終わった場合に処理にかかった時間に基づいて、業務の実行手順を変更する場合である。
(10)複数の処理時間のうち最長の時間(解析処理時間の一例)
例えば、同じ業務を繰り返して実行する場合に、一番時間がかかった場合に処理にかかった時間に基づいて、業務の実行手順を変更する場合である。
(11)複数の処理時間を平均した時間(解析処理時間の一例)
例えば、同じ業務を繰り返して実行する場合に、かかった時間の平均に基づいて、業務の実行手順を変更する場合である。
The analysis information 282 generated by the execution
(1) The earliest execution time among a plurality of execution times (an example of analysis execution time)
For example, it is a case where the execution procedure of a job is changed based on the time when one of the jobs executed in parallel is completed.
(2) Last execution time among a plurality of execution times (an example of analysis execution time)
For example, the execution procedure of the business is changed based on the time when all of the business that is executed in parallel is completed.
(3) Execution time obtained by averaging a plurality of execution times (an example of analysis execution time)
For example, it is a case where the execution procedure of a business is changed based on the average time at which business operations executed in parallel are completed.
(4) Difference between two execution times or analysis execution times (an example of processing time)
For example, when the time taken to execute a certain business is large, it is determined that the business load is high, and the business execution procedure is changed.
(5) Absolute value of difference between two execution times or analysis execution times (an example of processing time)
For example, when there is a large difference in the time at which the tasks that are executed in parallel are completed, it is determined that the task load is biased and the task execution procedure is changed.
(6) Difference between two processing times (an example of analysis processing time)
For example, when the time taken for a certain business is large compared to other business, it is determined that the business load is high and the execution procedure of the business is changed.
(7) Absolute value of difference between two processing times (an example of analysis processing time)
For example, when there is a large time difference between tasks executed in parallel, it is determined that the task load is biased and the task execution procedure is changed.
(8) Total of multiple processing times (an example of analysis processing time)
For example, in another business process, by summing up the time taken for work performed by the same person, the work load of the person is judged, and the execution procedure of the work is changed.
(9) Shortest time among a plurality of processing times (an example of analysis processing time)
For example, when the same job is repeatedly executed, the execution procedure of the job is changed based on the time taken for the processing when the processing is completed most quickly.
(10) Longest time among a plurality of processing times (an example of analysis processing time)
For example, in the case where the same job is repeatedly executed, the job execution procedure is changed based on the time required for processing when the most time is required.
(11) Time obtained by averaging a plurality of processing times (an example of analysis processing time)
For example, when the same job is repeatedly executed, the job execution procedure is changed based on the average time taken.
図21は、この実施の形態におけるビジネスプロセス定義記憶部240が記憶するビジネスプロセス定義情報130における分岐条件情報281の記述の一例を示す図である。
この図に示す分岐条件情報281を、業務実行部200から通知されると、実行情報解析部220は、通知された分岐条件情報281に基づいて、以上説明した解析情報を生成する。
FIG. 21 is a diagram illustrating an example of the description of the branch condition information 281 in the business
When the branch condition information 281 shown in this figure is notified from the
これにより、業務実行部200が実行した業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができる。
Thereby, based on the information about the business executed by the
次に、以上説明した動作の具体例として、図8に示したビジネスプロセス定義情報130によって定義されるビジネスプロセス「proc_A」を実行する場合について説明する。
Next, as a specific example of the operation described above, a case where the business process “proc_A” defined by the business
まず、業務実行部200は、図8に示したビジネスプロセス定義情報130を読み込み(図15のS301。以下同じ)、アプリケーションプログラム140からの開始要求待ちをする(S302)。
次に、アプリケーションプログラム140からの開始要求がきたら、業務実行部200は、開始通知(インスタンスのID,開始時刻など)を実行情報管理部210に通知する(S303)。
First, the
Next, when a start request is received from the
次に、業務実行部200は、ビジネスプロセス定義情報130にしたがって、アプリケーションプログラム「app_AP1」の呼び出しを実行する(S312)。
Next, the
次に、業務実行部200は、ビジネスプロセス定義情報130にしたがって、アプリケーションプログラム「app_AP2」を呼び出す。ただし、測定点「WP1」の指定(開始時)があるので、呼び出しの前に、実行情報管理部210に対して、インスタンスのID、測定点の情報、時刻などを通知する(S306)。その後、業務実行部200は、アプリケーションプログラム「app_AP2」を呼び出す(S312)。
Next, the
次に、業務実行部200は、ビジネスプロセス定義情報130にしたがって、アプリケーションプログラム「app_AP3」の呼び出しを実行する(S312)。測定点「WP2」の指定(終了時)があるので、呼び出したアプリケーションプログラム「app_AP3」による業務が終了したのち、実行情報管理部210に対して、インスタンスのID、測定点の情報、時刻などを通知する(S306)。
Next, the
次に、業務実行部200は、アプリケーションプログラム「app_AP4」を呼び出す(S312)。
Next, the
最後に、業務実行部200は、実行情報管理部210に対して、終了通知(インスタンスのID、終了時刻など)を通知し(S311)、ビジネスプロセスの実行を終了する。
Finally, the
別の具体例として、図11に示したビジネスプロセス定義情報130によって定義されるビジネスプロセス「proc_B」を実行する場合について説明する。
As another specific example, a case where a business process “proc_B” defined by the business
まず、業務実行部200は、図11に示したビジネスプロセス定義情報130を読み込み(S301)、アプリケーションプログラム140からの開始要求待ちをする(S302)。
First, the
次に、アプリケーションプログラム140からの開始要求がきたら、業務実行部200は、開始通知(インスタンスのID、開始時刻など)を実行情報管理部210に通知する(S303)。
Next, when a start request is received from the
次に、業務実行部200は、ビジネスプロセス定義情報130にしたがって、アプリケーションプログラム「app_AP5」の呼び出しを実行する(S312)。
Next, the
次に、業務実行部200は、ビジネスプロセス定義情報130にしたがって、条件分岐の処理を実行する。分岐条件情報281によって示される分岐条件が、実行情報によって指定されているので、業務実行部200は、実行情報解析部220に対して分岐条件情報281を通知し、処理時間の取得要求を行う。実行情報解析部220は、実行情報管理部210が記憶した実行情報から処理時間の算出に必要な測定点の実行時刻情報を取得し、処理時間を算出して、業務実行部200に通知する(S308)。
業務実行部200は、処理時間による条件判定を行い(S309)、判定結果に応じて、アプリケーションプログラム「app_AP6」またはアプリケーションプログラム「app_AP7」を呼び出す(S312)。
Next, the
The
最後に、業務実行部200は、実行情報管理部210に対して、終了通知(インスタンスのID、終了時刻など)を通知し(S311)、ビジネスプロセスを終了する。
Finally, the
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が実行した業務についての情報(実行情報230)を実行情報管理部210が記憶し、実行情報解析部220が実行情報230を解析して、解析情報282を生成し、生成した解析情報282にしたがって、業務実行部200が業務を実行するので、業務実行部200が実行した業務についての情報により、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が実行した業務についての情報として、業務実行部200が業務を実行した時刻についての情報を、実行情報管理部210が記憶するので、業務を実行した時刻に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務を実行した時刻を測定する測定点を示す情報(測定点情報)を、ビジネスプロセス定義情報の一部として、ビジネスプロセス定義記憶部240が記憶し、業務実行部200が、測定点情報によって示される測定点において、業務を実行した時刻を測定し、実行情報管理部210が記憶するので、測定する必要のない業務を実行した時刻は測定せず、実行情報を記憶するための記憶領域の容量を節約することができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、業務の実行を開始した時刻を測定して実行時刻とするので、例えば、ある業務の開始から次の業務の開始までにかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、業務の実行を終了した時刻を測定して実行時刻とするので、例えば、ある業務の終了から次の業務の終了までにかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、業務の実行を開始した時刻と、業務の実行を終了した時刻とを測定して実行時刻とするので、例えば、ある業務の開始からその業務の終了までにかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、ある業務を最初に実行した時刻を測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最初に実行するまでにかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、ある業務を最後に実行した時刻を測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最後に実行してからの経過時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、ある業務を最初に実行した時刻と、最後に実行した時刻とを測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最初に実行してから最後に実行するまでの時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の実行時刻のうち最先の時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報282として業務実行部200に通知するので、例えば、複数の業務のうちどれか1つが終了した時刻に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の実行時刻のうち最後の時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報282として業務実行部200に通知するので、例えば、複数の業務のすべてが終了した時刻に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の実行時刻を平均した時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報282として業務実行部200に通知するので、例えば、複数の業務が終了した時刻の平均に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の実行時刻または解析実行時刻の差を計算して処理時間とし、計算した処理時間を解析情報282として業務実行部200に通知するので、例えば、1または複数の業務の実行にかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の実行時刻または解析実行時刻の差の絶対値を計算して処理時間とし、計算した処理時間を解析情報282として業務実行部200に通知するので、例えば、複数の業務の終了時刻の差が大きい場合に、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、2つの処理時間の差を計算して解析処理時間とし、計算した解析処理時間を解析情報282として業務実行部200に通知するので、例えば、ある業務の実行にかかった時間が、他の業務の実行にかかった時間と比較して大きい場合に、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の処理時間の合計を計算して解析処理時間とし、計算した解析処理時間を解析情報282として業務実行部200に通知するので、例えば、ある業務の実行にかかった時間と、他の業務の実行にかかった時間との合計に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の処理時間のうち、最短の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報282として業務実行部200に通知するので、例えば、複数の業務のうち、一番速く処理が終了した業務にかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の処理時間のうち、最短の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報282として業務実行部200に通知するので、例えば、複数の業務のうち、一番速く処理が終了した業務にかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の処理時間のうち、最長の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報282として業務実行部200に通知するので、例えば、複数の業務のうち、一番時間がかかった業務にかかった時間に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、複数の処理時間を平均した時間を求めて解析処理時間とし、求めた解析処理時間を解析情報282として業務実行部200に通知するので、例えば、複数の業務にかかった時間の平均に基づいて、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、実行情報解析部220が通知した解析情報282に基づいて、ビジネスプロセス定義情報130によって示される業務の実行手順を変更するので、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務の実行手順を変更する条件を示す情報(分岐条件情報281)を、ビジネスプロセス定義情報130の一部として、ビジネスプロセス定義記憶部240が記憶し、業務実行部200が、分岐条件情報281によって示される条件を満たすか否かを判断し、判断結果に基づいて、ビジネスプロセス定義情報130によって示される業務の実行手順を変更するので、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が、業務を実行するアプリケーションプログラム140を呼び出すことにより、ビジネスプロセス定義情報130によって示される業務を実行するので、多数のアプリケーションプログラム140が複雑に連携することによって実行されるビジネスプロセスを実行することができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110がビジネスプロセスを管理するビジネスプロセス管理方法によれば、業務実行部200が実行した業務についての情報(実行情報230)を実行情報管理部210が記憶し、実行情報解析部220が実行情報230を解析して、解析情報282を生成し、生成した解析情報282にしたがって、業務実行部200が業務を実行するので、業務実行部200が実行した業務についての情報により、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business process management method in which the business
この実施の形態で説明したビジネスプロセス管理装置110は、コンピュータを上記説明したビジネスプロセス管理装置110として機能させるプログラムを、コンピュータに実行させることにより、実現することが可能である。
The business
この実施の形態におけるビジネスプロセス管理装置110としてコンピュータを機能させるビジネスプロセス管理プログラムによれば、業務実行部200が実行した業務についての情報(実行情報230)を実行情報管理部210が記憶し、実行情報解析部220が実行情報230を解析して、解析情報282を生成し、生成した解析情報282にしたがって、業務実行部200が業務を実行するので、業務実行部200が実行した業務についての情報により、業務実行部200が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business process management program that causes the computer to function as the business
ここで説明したビジネスプロセス管理装置110は、
ビジネスプロセス定義情報130の処理フローを解析実行して、外部のアプリケーションプログラム140の実行などを制御する解析実行部(業務実行部200)と、
解析実行部より通知される実行時情報を記録し、要求に応じて必要な実行時情報を抽出する実行情報管理部210と、
実行情報管理部210より取得した実行時情報を解析して、定義されたビジネスプロセスにおける分岐条件に用いる情報(解析情報282)を作成する実行情報解析部220と、
を備え、ビジネスプロセス定義を実行している複数のインスタンスに係る実行時情報を分岐条件として参照することを特徴とする。
The business
An analysis execution unit (business execution unit 200) that analyzes and executes the processing flow of the business
An execution
An execution
And the execution time information related to a plurality of instances executing the business process definition is referred to as a branch condition.
ここで説明したビジネスプロセス管理装置110は、
複数の業務プロセス定義に基づいてアプリケーションの連携(呼び出し/データ交換)を実施するビジネスプロセス管理装置において、業務プロセスの実行情報を管理する実行情報管理部210を持つことを特徴とする。
The business
A business process management apparatus for executing application linkage (calling / data exchange) based on a plurality of business process definitions is characterized by having an execution
ここで説明したビジネスプロセス管理装置110は、
実行情報管理部210の管理する実行情報230を、複数の業務プロセス定義を実行したインスタンスにて共有できることを特徴とする。
The business
The
ここで説明したビジネスプロセス管理装置110は、
ビジネスプロセス定義情報におけるフロー分岐の条件として、実行情報管理部210によって管理される、他プロセスの実行時情報を利用できることを特徴とする。
The business
As a flow branching condition in the business process definition information, it is possible to use runtime information of another process managed by the execution
ここで説明したビジネスプロセス管理装置110は、
実行情報管理部210から、他プロセスの実行時情報を取得して条件判定を実施する実行情報解析部220を持つことを特徴とする。
The business
It has an execution
これにより、アプリケーションの実行結果やタイムアウトにより処理の分岐を行うだけでなく、定義されたビジネスプロセスの特定範囲に対する処理時間など計測が必要となるプロセス実行時情報を用いた条件分岐ができる。 As a result, not only can the processing be branched depending on the execution result of the application or a timeout, but also conditional branching using process runtime information that requires measurement, such as processing time for a specific range of a defined business process.
また、ビジネスプロセス定義情報において処理時間などの測定ポイントを指定し、測定した値をビジネスプロセス定義の条件分岐に利用できるビジネスプロセス定義が可能となる。 In addition, it is possible to define a business process that can specify a measurement point such as processing time in the business process definition information and use the measured value for conditional branching of the business process definition.
これにより、ビジネスプロセス管理装置110が備える実行情報管理部210が記録したビジネスプロセスのインスタンスの実行情報をビジネスプロセスの条件分岐として利用可能となる。また、実行情報としては、他インスタンスの実行情報を利用することも可能となる。
Thereby, the execution information of the business process instance recorded by the execution
実施の形態2.
実施の形態2を、図22〜図31を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム100の全体構成、ビジネスプロセス管理装置110のハードウェア構成及びブロック構成は、実施の形態1で説明したものと同様であるので、ここでは説明を省略する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.
Since the overall configuration of the business
図22は、この実施の形態におけるビジネスプロセス管理装置110の動作を概念的に示す概念図である。
FIG. 22 is a conceptual diagram conceptually showing the operation of the business
業務実行部200は、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示される1つのビジネスプロセス(一連の業務)に対して、複数のインスタンスを並行して実行する場合がある。
ここで、インスタンスとは、具体的に実行されるビジネスプロセスのことである。ビジネスプロセス定義情報130によって示されるビジネスプロセスは、業務及び業務の実行手順を定義したものであるから、具体的に実行される業務とは離れて、抽象的に存在するものであるのに対し、インスタンスは、その手順にしたがって実行される1つ1つの具体的なビジネスプロセスである。
The
Here, an instance is a business process that is specifically executed. The business process indicated by the business
例えば、伝票を入力する業務と、入力した伝票を承認する業務との2つの業務からなるビジネスプロセスが、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130により定義されているものとする。
業務実行部200がビジネスプロセス定義情報130にしたがって、業務を実行する。すなわち、まず、伝票を入力する業務を実行し、次に、入力した伝票を承認する業務を実行する。これが1つのインスタンスである。
ここで、入力した伝票が承認される前に、別の伝票を入力する場合がある。これは、同じビジネスプロセス定義情報130によって定義されたビジネスプロセスではあるが、先のビジネスプロセスとは異なる別のインスタンスである。
For example, it is assumed that a business process including two tasks, a task for inputting a slip and a task for approving the input slip, is defined by the business
The
Here, before the entered slip is approved, another slip may be entered. This is a business process defined by the same business
このように、ビジネスプロセス定義情報130によって示される1つのビジネスプロセスに対して、複数のインスタンスを並行して実行する場合がある。
As described above, a plurality of instances may be executed in parallel for one business process indicated by the business
図23は、この実施の形態におけるビジネスプロセス管理装置110の動作を概念的に示す概念図である。
FIG. 23 is a conceptual diagram conceptually showing the operation of the business
ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示されるビジネスプロセスが複数ある場合には、それぞれのビジネスプロセスに対して複数のインスタンスを、業務実行部200が実行する場合がある。
When there are a plurality of business processes indicated by the business
例えば、ビジネスプロセスAについて、業務実行部200がn個のインスタンスを実行し、ビジネスプロセスBについて、業務実行部200がm個のインスタンスを実行する場合、業務実行部200は、(n+m)個のインスタンスを並行して実行する。
For example, when the
図24は、この実施の形態における実行情報管理部210が記憶する実行時刻情報231(実行情報230)の一例を示す図である。
なお、実施の形態1で図19を用いて説明した実行情報230と共通する部分については共通する符号を付し、説明を省略する。
FIG. 24 is a diagram showing an example of the execution time information 231 (execution information 230) stored in the execution
Note that portions common to the
時刻測定処理(図18)において、業務実行部200は、CPU911などの処理装置を用いて、プロセスIDとして、プロセス名411だけでなく、インスタンスID412を実行情報管理部210に通知する(S562)。
ここで、インスタンスIDとは、インスタンスを識別するための識別情報である。
インスタンスIDは、業務実行部200が開始要求を受けて、新たなビジネスプロセスの実行を開始するとき(図15のS303)に、業務実行部200が、CPU911などの処理装置を用いて生成し、磁気ディスク装置920などの記憶装置に記憶する。
インスタンスIDは、インスタンスごとに異なる値をとる。したがって、インスタンスIDを用いることにより、同じビジネスプロセスを実行するインスタンスであっても区別することができる。
In the time measurement process (FIG. 18), the
Here, the instance ID is identification information for identifying an instance.
The instance ID is generated by the
The instance ID takes a different value for each instance. Therefore, by using the instance ID, even instances that execute the same business process can be distinguished.
実行情報管理部210は、CPU911などの処理装置を用いて、実行情報管理部210が通知したプロセス名411・インスタンスID412・測定点ID413・実行時刻414(実行情報230)を取得する(S563)。
実行情報管理部210は、CPU911などの処理装置を用いて、取得したプロセス名411・インスタンスID412・測定点ID413・実行時刻414(実行情報230)を、磁気ディスク装置920などの記憶装置に記憶する。
The execution
The execution
図24の例では、ビジネスプロセス「proc_A」のインスタンスとして、インスタンスID「1234」のビジネスプロセスと、インスタンスID「1398」のビジネスプロセスとを、業務実行部200が実行している。
実行情報管理部210は、実行情報230としてインスタンスID412を記憶しているので、実行時刻414が、どちらのインスタンスについて測定したものであるかを識別できる。
In the example of FIG. 24, the
Since the execution
なお、この例では、業務実行部200が、時刻測定処理において、プロセスIDとして、プロセス名411とインスタンスID412とを実行情報管理部210に通知しているが、インスタンスID412だけでもよい。別途、プロセス名411とインスタンスID412との対応関係を実行情報管理部210に通知しておけば、実行情報管理部210が、CPU911などの処理装置を用いて、インスタンスID412からプロセス名411を求めることができるからである。
In this example, the
次に、実行情報管理部210が、プロセス名とインスタンスIDとの対応を管理する動作について説明する。
Next, an operation in which the execution
図25は、この実施の形態における実行情報管理部210が記憶する実行業務情報232(実行情報230)の一例を示す図である。
FIG. 25 is a diagram showing an example of the execution job information 232 (execution information 230) stored in the execution
実行情報管理部210は、CPU911などの処理装置を用いて、実行情報230として、プロセス名421・インスタンスID422・実行中の業務ID423を、磁気ディスク装置920などの記憶装置に記憶する。
The execution
プロセス名421・インスタンスID422・業務ID423は、3つで1組の実行業務情報232(実行情報230)を構成する。 Three process names 421, instance IDs 422, and business IDs 423 constitute a set of execution business information 232 (execution information 230).
プロセス名421・業務ID423は、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって定義されているものであり、インスタンスID422によって識別されるインスタンスが、どのビジネスプロセスを実行するものであるか、そのビジネスプロセスのなかで、業務実行部200が実行している業務はどれか、を示す。
The process name 421 and the business ID 423 are defined by the business
図26は、この実施の形態における実行情報管理部210が記憶する実行インスタンス数情報233(実行情報230)の一例を示す図である。
FIG. 26 is a diagram showing an example of the execution instance number information 233 (execution information 230) stored in the execution
実行情報管理部210は、CPU911などの処理装置を用いて、実行情報230として、プロセス名431・実行中のインスタンス数432を、磁気ディスク装置920などの記憶装置に記憶する。
The execution
プロセス名431・インスタンス数432は、2つで1組の実行インスタンス数情報233(実行情報230)を構成する。 The process name 431 and the instance number 432 constitute two sets of execution instance number information 233 (execution information 230).
インスタンス数432は、プロセス名431によって識別されるビジネスプロセスについて、業務実行部200が実行中のインスタンスの数を示す。
The instance number 432 indicates the number of instances that the
図27は、この実施の形態におけるビジネスプロセス管理装置110によるプロセス開始処理の流れの一例を示すフローチャート図である。
プロセス開始処理は、図15のS303に相当する。
FIG. 27 is a flowchart showing an example of the flow of process start processing by the business
The process start process corresponds to S303 in FIG.
S531において、業務実行部200は、CPU911などの処理装置を用いて、開始するインスタンスを識別するインスタンスIDを生成する。
業務実行部200は、CPU911などの処理装置を用いて、生成したインスタンスIDを、磁気ディスク装置920などの記憶装置に記憶する。
In step S531, the
The
S532において、業務実行部200は、CPU911などの処理装置を用いて、開始するビジネスプロセスのプロセス名421・S531で生成したインスタンスID422・「プロセス開始」を示す情報(実行開始終了情報の一例)を、実行情報管理部210に通知する。
In S532, the
S533において、実行情報管理部210は、CPU911などの処理装置を用いて、S532で業務実行部200が通知したプロセス名421・インスタンスID422・「プロセス開始」を示す情報を取得する。
In step S533, the execution
S534において、実行情報管理部210は、CPU911などの処理装置を用いて、S533で取得したプロセス名421・インスタンスID422を、実行業務情報232として、磁気ディスク装置920などの記憶装置に記憶する。
In step S534, the execution
S535において、実行情報管理部210は、CPU911などの処理装置を用いて、記憶した実行インスタンス数情報233のなかで、S533で取得したプロセス名421についての実行インスタンス数情報233(プロセス名431・インスタンス数432)を、磁気ディスク装置920などの記憶装置から取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行インスタンス数情報のインスタンス数432に1を加える。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行インスタンス数情報233を新たな実行インスタンス数情報233に書き換えて、磁気ディスク装置920などの記憶装置に記憶する。
なお、実行情報管理部210が、S533で取得したプロセス名421についての実行インスタンス数情報233を記憶していない場合には、インスタンス数432を「1」とした実行インスタンス数情報233を、新たに、磁気ディスク装置920などの記憶装置に記憶する。
In S535, the execution
The execution
The execution
When the execution
図28は、この実施の形態におけるビジネスプロセス管理装置110によるプロセス終了処理の流れの一例を示すフローチャート図である。
プロセス終了処理は、図15のS311に相当する。
FIG. 28 is a flowchart showing an example of the process end processing flow by the business
The process end process corresponds to S311 in FIG.
S611において、業務実行部200は、CPU911などの処理装置を用いて、終了するインスタンスのインスタンスID422・「プロセス終了」を示す情報(実行開始終了情報の一例)を、実行情報管理部210に通知する。
In step S <b> 611, the
S612において、実行情報管理部210は、CPU911などの処理装置を用いて、S611で業務実行部200が通知したインスタンスID422・「プロセス終了」を示す情報を取得する。
In step S612, the execution
S613において、実行情報管理部210は、CPU911などの処理装置を用いて、記憶した実行業務情報232のなかで、S612で取得したインスタンスID422についての実行業務情報232(プロセス名421・インスタンスID422・業務ID423)を、磁気ディスク装置920などの記憶装置から取得する。
In step S613, the execution
S614において、実行情報管理部210は、CPU911などの処理装置を用いて、S613で取得した実行業務情報232を、磁気ディスク装置920などの記憶装置から抹消する。
In step S <b> 614, the execution
S615において、実行情報管理部210は、CPU911などの処理装置を用いて、記憶した実行インスタンス数情報233のなかで、S613で取得したプロセス名421についての実行インスタンス数情報233(プロセス名431・インスタンス数432)を、磁気ディスク装置920などの記憶装置から取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行インスタンス数情報233のインスタンス数432から1を減じる。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行インスタンス数情報233を新たな実行インスタンス数情報233に書き換えて、磁気ディスク装置920などの記憶装置に記憶する。
なお、インスタンス数432が0になった場合には、実行インスタンス数情報233を削除することとしてもよい。
In S615, the execution
The execution
The execution
When the instance number 432 becomes 0, the execution instance number information 233 may be deleted.
図29は、この実施の形態におけるビジネスプロセス管理装置110による業務実行処理の流れの一例を示すフローチャート図である。
業務実行処理は、図15のS312に相当する。
FIG. 29 is a flowchart showing an example of the flow of business execution processing by the business
The business execution process corresponds to S312 in FIG.
S621において、業務実行部200は、CPU911などの処理装置を用いて、インスタンスID422・業務ID423・「業務開始」を示す情報(実行開始終了情報の一例)を、実行情報管理部210に通知する。
ここで、インスタンスID422は、業務実行部200が実行しているインスタンスを示す。また、業務ID423は、そのインスタンスのなかで業務実行部200がこれから実行しようとしている業務を示す。
In step S <b> 621, the
Here, the instance ID 422 indicates an instance being executed by the
S622において、実行情報管理部210は、CPU911などの処理装置を用いて、S621で業務実行部200が通知したインスタンスID422・業務ID423・「業務開始」を示す情報を取得する。
In S622, the execution
S623において、実行情報管理部210は、CPU911などの処理装置を用いて、記憶した実行業務情報232のなかで、S622で取得したインスタンスID422についての実行業務情報232(プロセス名421・インスタンスID422・業務ID423)を、磁気ディスク装置920などの記憶装置から取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行業務情報232の業務ID423に、S622で取得した業務ID423を追加する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行業務情報232を、新たな実行業務情報232に書き換えて、磁気ディスク装置920などの記憶装置に記憶する。
In S623, the execution
The execution
The execution
S624において、業務実行部200は、CPU911などの処理装置を用いて、業務を実行する。業務実行部200は、例えば、ビジネスプロセス定義情報130で指定されたアプリケーションプログラム140を呼び出すことにより、業務を実行する。
In step S624, the
S625において、業務実行部200は、CPU911などの処理装置を用いて、インスタンスID422・業務ID423・「業務終了」を示す情報(実行開始終了情報の一例)を、実行情報管理部210に通知する。
ここで、インスタンスID422は、業務実行部200が実行しているインスタンスを示す。また、業務ID423は、そのインスタンスのなかで業務実行部200がS624で実行した業務を示す。
In step S625, the
Here, the instance ID 422 indicates an instance being executed by the
S626において、実行情報管理部210は、CPU911などの処理装置を用いて、S625で業務実行部200が通知したインスタンスID422・業務ID423・「業務終了」を示す情報を取得する。
In step S626, the execution
S627において、実行情報管理部210は、CPU911などの処理装置を用いて、記憶した実行業務情報232のなかで、S626で取得したインスタンスID422についての実行業務情報232(プロセス名421・インスタンスID422・業務ID423)を、磁気ディスク装置920などの記憶装置から取得する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行業務情報232の業務ID423から、S626で取得した業務ID423を削除する。
実行情報管理部210は、CPU911などの処理装置を用いて、取得した実行業務情報232を、新たな実行業務情報232に書き換えて、磁気ディスク装置920などの記憶装置に記憶する。
In S627, the execution
The execution
The execution
次に、分岐条件情報281の記述について説明する。 Next, description of the branch condition information 281 will be described.
図30は、この実施の形態におけるビジネスプロセス定義記憶部240が記憶するビジネスプロセス定義情報130における分岐条件情報281の一例を示す図である。
FIG. 30 is a diagram illustrating an example of the branch condition information 281 in the business
ビジネスプロセス「proc_A」について、業務実行部200が、いくつかのインスタンスを並行して実行している場合、プロセス名のあとに「[…]」(インスタンス指定。解析対象プロセス情報の一例)をつけて「proc_A[…]」と記述することにより、実行情報解析部220が、どのインスタンスについての実行情報230を参照して解析情報282を生成するかを指定する。
「proc_A[n]」または「proc_A[position()=n]」は、ビジネスプロセス「proc_A」のインスタンスのうち、n番目に実行されたインスタンスを示す。
「proc_A[last()]」または「proc_A[position()=last()]」は、ビジネスプロセス「proc_A」のインスタンスのうち、最後に実行されたインスタンスを示す。
「proc_A[last()−n]」は、ビジネスプロセス「proc_A」のインスタンスのうち、最後から(n+1)番目に実行されたインスタンスを示す。
「proc_A[before()]」は、ビジネスプロセス「proc_A」のインスタンスのうち、呼び出した側のインスタンスが実行を開始した直前に実行されたインスタンスを示す。
「proc_A[@id]」は、ビジネスプロセス「proc_A」のインスタンスのうち、インスタンスIDが「id」であるインスタンスを示す。
For the business process “proc_A”, when the
“Proc_A [n]” or “proc_A [position () = n]” indicates the nth executed instance among the instances of the business process “proc_A”.
“Proc_A [last ()]” or “proc_A [position () = last ()]” indicates the last executed instance among the instances of the business process “proc_A”.
“Proc_A [last () -n]” indicates the (n + 1) th executed instance from the last among the instances of the business process “proc_A”.
“Proc_A [before ()]” indicates an instance that is executed immediately before the calling instance of the business process “proc_A” starts executing.
“Proc_A [@id]” indicates an instance whose instance ID is “id” among instances of the business process “proc_A”.
図31は、この実施の形態における実行情報解析部220による実行情報取得処理の流れの一例を示すフローチャート図である。
実行情報取得処理は、図20のS574に相当する。
FIG. 31 is a flowchart showing an example of the flow of execution information acquisition processing by the execution
The execution information acquisition process corresponds to S574 in FIG.
S641において、実行情報解析部220は、CPU911などの処理装置を用いて、(図20のS573で)取得した分岐条件情報281を解析して、プロセス名291・インスタンス指定292(解析対象プロセス情報の一例)・測定点ID293・測定点指定294を取得する。
In step S641, the execution
例えば、分岐条件情報281の一部が「proc_A[n].WP1[k]」であれば、実行情報解析部220は、CPU911などの処理装置を用いて、プロセス名291として「proc_A」を、インスタンス指定292として「n」を、測定点ID293として「WP1」を、測定点指定294として「k」を取得する。
For example, if a part of the branch condition information 281 is “proc_A [n] .WP1 [k]”, the execution
S642において、実行情報解析部220は、CPU911などの処理装置を用いて、(図27のS534で)実行情報管理部210が記憶した実行業務情報232のなかで、プロセス名421が、S641で取得したプロセス名291と一致する実行業務情報232を、磁気ディスク装置920などの記憶装置から取得する。
In S642, the execution
S643において、実行情報解析部220は、CPU911などの処理装置を用いて、S642で取得した実行業務情報232のなかで、S641で取得したインスタンス指定292によって指定された実行業務情報232を取得する。
In step S643, the execution
例えば、インスタンス指定492が「n」であれば、実行情報解析部220は、CPU911などの処理装置を用いて、S642で取得した実行業務情報232のなかで、n番目の実行業務情報232を取得する。
あるいは、インスタンス指定492が「last()」であれば、実行情報解析部220は、CPU911などの処理装置を用いて、S642で取得した実行業務情報232のなかで、最新の実行業務情報232を取得する。
あるいは、インスタンス指定492が「@id」であれば、実行情報解析部220は、CPU911などの処理装置を用いて、S642で取得した実行業務情報232のなかで、インスタンスID422が「id」と一致する実行業務情報232を取得する。
For example, if the instance designation 492 is “n”, the execution
Alternatively, if the instance designation 492 is “last ()”, the execution
Alternatively, if the instance designation 492 is “@id”, the execution
S644において、実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行時刻情報231のなかで、プロセス名411・インスタンスID412・測定点ID413がそれぞれ、S641で取得したプロセス名291・S643で取得した実行業務情報232のインスタンスID422・S641で取得した測定点ID293と一致する実行時刻情報231を、磁気ディスク装置920などの記憶装置から取得する。
In S644, the execution
S645において、実行情報解析部220は、CPU911などの処理装置を用いて、S644で取得した実行時刻情報231のなかで、S641で取得した測定点指定294によって指定された実行時刻情報231を取得する。
In S645, the execution
例えば、測定点指定294が「k」であれば、実行情報解析部220は、CPU911などの処理装置を用いて、S644で取得した実行時刻情報231のなかで、k番目の実行時刻情報231を取得する。
あるいは、測定点指定294がなければ、実行情報解析部220は、CPU911などの処理装置を用いて、S644で取得した実行時刻情報231のなかで、最新の実行時刻情報231を取得する。
For example, if the measurement point designation 294 is “k”, the execution
Alternatively, if there is no measurement point designation 294, the execution
その後、実行情報解析部220は、CPU911などの処理装置を用いて、S645で取得した実行時刻情報231の実行時刻414を解析し、解析情報282を生成する(図20のS575)。
Thereafter, the execution
これにより、ビジネスプロセス定義情報130によって定義された同一のビジネスプロセスについて、業務実行部200が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部200が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができる。
Thereby, even if the
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が実行情報230として、インスタンス(一連の業務)の実行を開始したこと及び終了したことを実行情報管理部210に通知するので、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示される同一のビジネスプロセスについて、業務実行部200が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部200が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、どの業務についての実行情報230を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報230を特定し、実行情報管理部210が記憶した実行情報230を解析して、解析情報282を生成するので、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示される同一のビジネスプロセスについて、業務実行部200が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部200が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、どのインスタンス(一連の業務)についての実行情報230を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報230を特定し、実行情報管理部210が記憶した実行情報230を解析して、解析情報282を生成するので、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示される同一のビジネスプロセスについて、業務実行部200が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部200が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
この実施の形態におけるビジネスプロセス管理装置110によれば、実行情報解析部220が、どのビジネスプロセス定義情報130によって示されるビジネスプロセスの業務についての実行情報230を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報230を特定し、実行情報管理部210が記憶した実行情報230を解析して、解析情報282を生成するので、ビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130によって示される同一のビジネスプロセスについて、業務実行部200が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部200が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
これにより、ビジネスプロセス定義情報に基づき、それぞれが独立して動作しているビジネスプロセスインスタンス間で、他のインスタンスの実行情報により条件分岐を行うことができる。
具体的には、複数のビジネスプロセスが実行されている場合に、あるビジネスプロセスの処理で遅延が発生した場合に、別の業務プロセスにおいて代替処理を実施するなどの処理の最適化、効率化を実現することができる。
Thereby, based on the business process definition information, conditional branching can be performed between the business process instances operating independently of each other by the execution information of other instances.
Specifically, when multiple business processes are executed, if a delay occurs in the processing of a certain business process, the optimization and efficiency of processing such as performing alternative processing in another business process is improved. Can be realized.
また、条件分岐に利用する処理時間などの実行時情報は、他のビジネスプロセス定義を実行しているインスタンスの実行情報を参照できるようにすることで、他インスタンスの実行時情報を利用した条件分岐が可能となる。 In addition, execution time information such as processing time used for conditional branching can refer to execution information of instances executing other business process definitions, so that conditional branching using the runtime information of other instances Is possible.
実施の形態3.
実施の形態3を、図32〜図36を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム100の全体構成、ビジネスプロセス管理装置110のハードウェア構成及びブロック構成は、実施の形態1で説明したものと同様であるので、ここでは説明を省略する。
Embodiment 3 FIG.
A third embodiment will be described with reference to FIGS.
Since the overall configuration of the business
この実施の形態では、実施の形態2で説明した実行インスタンス数情報233(実行情報230の一例)を利用して、業務の実行手順を変更するなどの制御を行う場合について説明する。 In this embodiment, a case will be described in which the execution instance number information 233 (an example of the execution information 230) described in the second embodiment is used to perform control such as changing the execution procedure of a job.
図32は、この実施の形態におけるビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報によって示されるビジネスプロセスのモデルの一例を示す図である。
「WFプロセスA」は、「起票」により始まり、「吉原聖后」が承認する業務、「ナタリ」が承認する業務を順次実行して、一連の業務を終了する。
「WFプロセスB」は、「起票」により始まり、「松本美咲」が承認する業務、「森田準子」が承認する業務を順次実行する。
次に、「WFプロセスA」におけるインスタンス数によって条件分岐する。
「WFプロセスA」におけるインスタンス数が100未満の場合、「吉原聖后」が承認する業務、「ナタリ」が承認する業務を順次実行する。
FIG. 32 is a diagram illustrating an example of a business process model indicated by the business process definition information stored in the business process
The “WF process A” starts with “draft”, sequentially executes the work approved by “Shogo Yoshihara” and the work approved by “Natari”, and ends the series of work.
The “WF process B” starts with “draft” and sequentially executes a task approved by “Misa Matsumoto” and a task approved by “Moriko Morita”.
Next, conditional branching is performed according to the number of instances in “WF process A”.
When the number of instances in the “WF process A” is less than 100, the work approved by “Seigo Yoshihara” and the work approved by “Natari” are sequentially executed.
「WFプロセスA」におけるインスタンス数が100以上の場合、「吉原聖后」か「ナタリ」が他の業務に忙殺されて承認業務を行う暇がない(あるいは出張などで不在である)ため、業務が停滞しているものと推測できる。
その場合、別の承認者が代理承認を行うこととし、「小寺里佳」が承認する業務、「吉田梨沙」が承認する業務を順次実行する。
If the number of instances in “WF Process A” is 100 or more, “Seiyo Yoshihara” or “Natari” is busy with other work and there is no time to do approval work (or there is no business trip etc.) Can be assumed to be stagnant.
In this case, another approver performs proxy approval, and the work approved by “Rika Kodera” and the work approved by “Risa Yoshida” are sequentially executed.
最後に「伊藤綾香」が承認する業務を実行して、一連の業務を終了する。 Finally, the work approved by “Ayaka Ito” is executed, and the series of work is completed.
図33は、この実施の形態におけるビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130のうち、「WFプロセスA」(プロセス名「WFproc_A」)を定義した部分の一例を示す図である。
FIG. 33 is a diagram illustrating an example of a part in which “WF process A” (process name “WFproc_A”) is defined in the business
業務ID「id001」で示される業務が、「吉原聖后」が承認する業務を示す。
業務ID「id002」で示される業務が、「ナタリ」が承認する業務を示す。
「WFプロセスA」では、この2つの業務を順次実行する。
The work indicated by the work ID “id001” indicates a work approved by “Seigo Yoshihara”.
The business indicated by the business ID “id002” indicates a business approved by “Natari”.
In “WF process A”, these two tasks are sequentially executed.
図34は、この実施の形態におけるビジネスプロセス定義記憶部240が記憶したビジネスプロセス定義情報130のうち、「WFプロセスB」(プロセス名「WFproc_B」)を定義した部分の一例を示す図である。
FIG. 34 is a diagram illustrating an example of a part in which “WF process B” (process name “WFproc_B”) is defined in the business
業務ID「id001」で示される業務が、「松本美咲」が承認する業務を示す。
業務ID「id002」で示される業務が、「森田準子」が承認する業務を示す。
「WFプロセスB」では、この2つの業務を順次実行したのち、分岐条件情報281「count(WPproc_A)<100」で示される分岐条件により、条件分岐する。
分岐条件を満たす場合には、業務ID「id003」で示される業務(「吉原聖后」が承認する業務)と、業務ID「id004」で示される業務(「ナタリ」が承認する業務)とを順次実行する。
分岐条件を満たさない場合には、業務ID「id005」で示される業務(「松本美咲」が承認する業務)と、業務ID「id006」で示される業務(「森田準子」が承認する業務)とを順次実行する。
The business indicated by the business ID “id001” indicates a business approved by “Misa Matsumoto”.
The business indicated by the business ID “id002” indicates a business approved by “Moriko Morita”.
In “WF process B”, these two tasks are sequentially executed, and then a conditional branch is made according to the branch condition indicated by branch condition information 281 “count (WPproc_A) <100”.
When the branching condition is satisfied, the business indicated by the business ID “id003” (the business approved by “Seigo Yoshihara”) and the business indicated by the business ID “id004” (the business approved by “Natari”) Run sequentially.
When the branching condition is not satisfied, the business indicated by the business ID “id005” (the business approved by “Masaki Matsumoto”) and the business indicated by the business ID “id006” (the business approved by “Moriko Junko”) Are executed sequentially.
最後に、業務ID「id007」で示される業務(「伊藤綾香」が承認する業務)を実行する。 Finally, the business indicated by the business ID “id007” (the business approved by “Ayaka Ito”) is executed.
次に、図34に示した分岐条件情報281「count(WFproc_A)<100」によって示される分岐条件によって、ビジネスプロセス管理装置110が条件分岐する条件分岐処理について説明する。
Next, conditional branch processing in which the business
図35は、この実施の形態における実行情報解析部220による実行情報取得処理の流れの一例を示すフローチャート図である。
実行情報取得処理は、図20のS574に相当する。
FIG. 35 is a flowchart showing an example of the flow of execution information acquisition processing by the execution
The execution information acquisition process corresponds to S574 in FIG.
S651において、実行情報解析部220は、CPU911などの処理装置を用いて、(図20のS573で)取得した分岐条件情報281を解析して、プロセス名291を取得する。
例えば、実行情報解析部220は、分岐条件情報281「count(WFproc_A)<100」から、プロセス名291「WFproc_A」を取得する。
In S651, the execution
For example, the execution
S652において、実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行インスタンス数情報233のなかで、プロセス名431が、S651で取得したプロセス名291と一致する実行インスタンス数情報233を、磁気ディスク装置920などの記憶装置から取得する。
In step S652, the execution
その後、実行情報解析部220は、CPU911などの処理装置を用いて、S652で取得した実行インスタンス数情報233のインスタンス数432を解析し、解析情報282を生成する(図20のS575)。
Thereafter, the execution
なお、この例では、実行情報管理部210が実行開始終了情報に基づいて、インスタンス数432を数え、実行インスタンス数情報233として、磁気ディスク装置920などの記憶装置に記憶しているが、実行情報管理部210が実行インスタンス数情報233を記憶する代わりに、実行情報解析部220が、その都度、インスタンス数を数えることとしてもよい。
In this example, the execution
図36は、この実施の形態における実行情報解析部220による実行情報取得処理の流れの別の例を示すフローチャート図である。
FIG. 36 is a flowchart showing another example of the flow of execution information acquisition processing by the execution
S661において、実行情報解析部220は、CPU911などの処理装置を用いて、(図20のS573で)取得した分岐条件情報281を解析して、プロセス名291を取得する。
In S661, the execution
S652において、実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行業務情報232のなかで、プロセス名431が、S651で取得したプロセス名291と一致する実行業務情報232を、磁気ディスク装置920などの記憶装置から取得する。
In step S652, the execution
S653において、実行情報解析部220は、CPU911などの処理装置を用いて、S652で取得した実行業務情報232の数を数えて、インスタンス数432とする。
In S653, the execution
この実施の形態におけるビジネスプロセス管理装置によれば、ビジネスプロセス定義情報130によって定義される1つのビジネスプロセスについて、業務実行部200が複数のインスタンス(一連の業務)を実行する場合に、1つのビジネスプロセスに対応するインスタンスの数を数えて、業務の実行手順を変更するなどの制御をすることにより、業務が停滞しているユーザを迂回するよう業務の実行手順を変更することができるので、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business process management apparatus in this embodiment, one business process is executed when the
実施の形態4.
実施の形態4を、図37を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム100の全体構成、ビジネスプロセス管理装置110のハードウェア構成及びブロック構成は、実施の形態1で説明したものと同様であるので、ここでは説明を省略する。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIG.
Since the overall configuration of the business
この実施の形態では、実施の形態2で説明した実行業務情報232(実行情報230の一例)を利用して、業務の実行手順を変更するなどの制御を行う別の例について説明する。 In this embodiment, another example of performing control such as changing the execution procedure of a job using the execution job information 232 (an example of the execution information 230) described in the second embodiment will be described.
実施の形態3では、あるビジネスプロセスのインスタンス数から、業務の停滞を発見し、迂回路を設定することで、業務の最適化・効率化を図る場合について説明した。
しかし、そのビジネスプロセスに複数の業務が含まれている場合、どの業務が原因で業務が停滞しているかはわからない。
In the third embodiment, a case has been described in which business stagnation is detected from the number of instances of a certain business process and a detour is set to optimize the business and improve efficiency.
However, when the business process includes a plurality of businesses, it is not known which business is causing the business to be stagnant.
この実施の形態では、あるビジネスプロセスのインスタンスのなかで、特定の業務を実行中のインスタンスの数を数えることにより、業務停滞の原因である業務を判別して、業務の最適化・効率化を図る場合について説明する。 In this embodiment, by counting the number of instances that are executing a specific business among the instances of a business process, the business that is causing the business stagnation is identified, and the business is optimized and made efficient. The case where it aims is demonstrated.
図37は、この実施の形態における実行情報解析部220による業務カウント処理の流れの一例を示すフローチャート図である。
業務カウント処理は、図20におけるS574に相当する。
FIG. 37 is a flowchart showing an example of the flow of the task count process by the execution
The business count process corresponds to S574 in FIG.
特定のビジネスプロセスの特定の業務を実行中のインスタンスの数をカウントすることにより、条件分岐をする場合の分岐条件情報281は、例えば、「count(WFproc_A.id001)」のように記述する。これは、プロセス「WFproc_A」の業務「id001」を実行中のインスタンス数を示す。 The branch condition information 281 for conditional branching by counting the number of instances that are executing a specific business of a specific business process is described as, for example, “count (WFproc_A.id001)”. This indicates the number of instances executing the work “id001” of the process “WFproc_A”.
S671において、実行情報解析部220は、CPU911などの処理装置を用いて、分岐条件情報281を解析し、プロセス名291・業務ID295を取得する。
例えば、実行情報解析部220は、分岐条件情報281「count(WFproc_A.id001)」から、プロセス名291「WFproc_A」・業務ID295「id001」を取得する。
In step S <b> 671, the execution
For example, the execution
S672において、実行情報解析部220は、CPU911などの処理装置を用いて、実行情報管理部210が記憶した実行業務情報232のなかで、プロセス名421・業務ID423がそれぞれ、S671で取得したプロセス名291・業務ID295と一致する実行業務情報232を、磁気ディスク装置920などの記憶装置から取得する。
In step S <b> 672, the execution
S673において、実行情報解析部220は、CPU911などの処理装置を用いて、S672で取得した実行業務情報232の数を数えて、実行業務数とする。
In S673, the execution
その後、実行情報解析部220は、CPU911などの処理装置を用いて、S673で数えた実行業務数を解析し、解析情報282を生成する(図20のS575)。
Thereafter, the execution
これにより、例えば、図32の「WFプロセスA」の業務が停滞している場合に、「吉原聖后」が承認する業務で停滞しているのか、「ナタリ」が承認する業務で停滞しているのかを判別することができるので、停滞の原因となっている業務だけを迂回するなどの制御が可能となる。 Thus, for example, when the work of “WF process A” in FIG. 32 is stagnant, whether it is stagnant in the work approved by “Shogo Yoshihara” or stagnated in the work approved by “Natari”. Therefore, it is possible to perform control such as bypassing only the work causing the stagnation.
この実施の形態におけるビジネスプロセス管理装置110によれば、業務実行部200が実行情報管理部210に対して実行開始終了情報を通知し、実行情報管理部210が実行開始終了情報に基づいて、各インスタンスが実行中の業務を実行業務情報232として記憶し、実行情報解析部220が実行業務情報232に基づいて、実行中の業務の数を数え、業務実行部200が数えた業務の数に基づいて、業務の実行手順を変更するなどの制御を行うので、業務の最適化・効率化を図ることができるという効果を奏する。
According to the business
100 ビジネスプロセス管理システム、110 ビジネスプロセス管理装置、120 ビジネスプロセス定義作成装置、130 ビジネスプロセス定義情報、140 アプリケーションプログラム、200 業務実行部、210 実行情報管理部、220 実行情報解析部、230 実行情報、231 実行時刻情報、232 実行業務情報、233 実行インスタンス数情報、240 ビジネスプロセス定義記憶部、281 分岐条件情報、282 解析情報、291 プロセス名、292 インスタンス指定、293 測定点ID、294 測定点指定、295 業務ID、411,421,431 プロセス名、413 測定点ID、414 実行時刻、412,422 インスタンスID、423 業務ID、432 インスタンス数、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。
DESCRIPTION OF
Claims (16)
情報を処理する処理装置と、
上記処理装置を用いて、業務と上記業務の実行手順とを示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶部と、
上記処理装置を用いて、上記ビジネスプロセス定義記憶部が記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記ビジネスプロセス定義情報によって示される業務を実行する業務実行部と、
上記処理装置を用いて、上記業務実行部が実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理部と、
上記処理装置を用いて、上記実行情報管理部が記憶した実行情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成し、上記処理装置を用いて、生成した上記解析情報を上記業務実行部に通知する実行情報解析部と、
を有することを特徴とするビジネスプロセス管理装置。 A storage device for storing information;
A processing device for processing information;
Using the processing device, a business process definition storage unit that stores business process definition information indicating a business and an execution procedure of the business in the storage device;
Using the processing device, the business process definition information stored in the business process definition storage unit is acquired from the storage device, and using the processing device, an execution procedure indicated by the acquired business process definition information and execution A business execution unit that executes the business indicated by the business process definition information according to the analysis information obtained by analyzing the information about the business performed,
An execution information management unit that stores information about a task executed by the task execution unit as execution information in the storage device using the processing device;
Using the processing device, the execution information stored by the execution information management unit is acquired from the storage device, and using the processing device, the acquired execution information is analyzed to generate analysis information, and the processing An execution information analysis unit that notifies the business execution unit of the generated analysis information using a device;
A business process management apparatus comprising:
上記処理装置を用いて、上記業務を実行した実行時刻を測定し、上記処理装置を用いて、測定した上記実行時刻を上記実行情報管理部に通知し、
上記実行情報管理部は、
上記処理装置を用いて、上記業務実行部が通知した実行時刻を取得し、上記処理装置を用いて、取得した上記実行時刻を、実行情報として上記記憶装置に記憶する
ことを特徴とする請求項1に記載のビジネスプロセス管理装置。 The business execution unit further includes:
Using the processing device, measure the execution time when the work was executed, and using the processing device, notify the execution information management unit of the measured execution time,
The execution information management unit
The execution time notified by the business execution unit is acquired using the processing device, and the acquired execution time is stored in the storage device as execution information using the processing device. The business process management apparatus according to 1.
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記業務を実行した実行時刻を測定すべき測定点を示す測定点情報を上記記憶装置に記憶し、
上記業務実行部は、
上記処理装置を用いて、取得した上記ビジネスプロセス定義情報から測定点情報を取得し、上記処理装置を用いて、取得した上記測定点情報によって示される測定点において、上記業務を実行した実行時刻を測定する
ことを特徴とする請求項2に記載のビジネスプロセス管理装置。 The business process definition storage unit further includes:
Using the processing device, as the business process definition information, further storing in the storage device measurement point information indicating a measurement point at which the execution time at which the business is executed is to be measured,
The above business execution department
The measurement point information is acquired from the acquired business process definition information using the processing device, and the execution time at which the task is executed at the measurement point indicated by the acquired measurement point information using the processing device. The business process management apparatus according to claim 2, wherein measurement is performed.
上記処理装置を用いて、上記業務の実行を開始した時刻と、上記業務の実行を終了した時刻との少なくともいずれかを、実行時刻として測定する
ことを特徴とする請求項2に記載のビジネスプロセス管理装置。 The above business execution department
3. The business process according to claim 2, wherein the processing device is used to measure at least one of a time when the execution of the business is started and a time when the execution of the business is terminated as an execution time. Management device.
上記処理装置を用いて、上記業務を複数回実行する場合に、上記業務を最初に実行した時刻と、上記業務を最後に実行した時刻との少なくともいずれかを、実行時刻として測定する
ことを特徴とする請求項2に記載のビジネスプロセス管理装置。 The above business execution department
When executing the work a plurality of times using the processing device, measuring at least one of a time when the work is first executed and a time when the work is last executed as an execution time The business process management apparatus according to claim 2.
上記処理装置を用いて、上記実行情報管理部が記憶した実行時刻に基づいて、複数の実行時刻のうち最先の時刻と複数の実行時刻のうち最後の時刻と複数の実行時刻を平均した時刻との少なくともいずれかを解析実行時刻とし、2つの実行時刻または解析実行時刻の差と2つの実行時刻または解析実行時刻の差の絶対値との少なくともいずれかを処理時間とし、2つの上記処理時間の差と複数の上記処理時間を合計した時間と複数の上記処理時間のうち最短の時間と複数の上記処理時間のうち最長の時間と複数の上記処理時間を平均した時間との少なくともいずれかを解析処理時間とし、上記解析実行時刻と、上記処理時間と、上記解析処理時間との少なくともいずれかを計算して、解析情報とする
ことを特徴とする請求項2に記載のビジネスプロセス管理装置。 The execution information analysis unit
Using the processing device, based on the execution time stored by the execution information management unit, a time obtained by averaging the earliest time among the plurality of execution times and the last time among the plurality of execution times and the plurality of execution times And at least one of the difference between the two execution times or the analysis execution time and the absolute value of the difference between the two execution times or the analysis execution time, and the two processing times At least one of a difference between the above, a total time of the plurality of processing times, a shortest time among the plurality of processing times, a longest time among the plurality of processing times, and an average of the plurality of processing times. 3. The business according to claim 2, wherein the analysis information is calculated as at least one of the analysis execution time, the processing time, and the analysis processing time. Process management device.
上記処理装置を用いて、上記実行情報解析部が通知した解析情報を取得し、上記処理装置を用いて、取得した上記解析情報に基づいて、取得した上記ビジネスプロセス定義情報によって示される実行手順を変更する
ことを特徴とする請求項1に記載のビジネスプロセス管理装置。 The business execution unit further includes:
Using the processing device, acquire the analysis information notified by the execution information analysis unit, and use the processing device to execute the execution procedure indicated by the acquired business process definition information based on the acquired analysis information. The business process management apparatus according to claim 1, wherein the business process management apparatus is changed.
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記実行情報解析部が生成した解析情報に基づいて、上記業務の実行手順を変更する条件を示す分岐条件情報を上記記憶装置に記憶し、
上記業務実行部は、
上記処理装置を用いて、取得した上記ビジネスプロセス定義情報から分岐条件情報を取得し、上記処理装置を用いて、上記実行情報解析部が通知した解析情報を取得し、上記処理装置を用いて、取得した解析情報に基づいて、取得した上記分岐条件情報によって示される条件を満たすか否かを判断し、上記処理装置を用いて、判断した結果に基づいて、上記分岐条件情報によって示される実行手順にしたがって上記業務を実行する
ことを特徴とする請求項7に記載のビジネスプロセス管理装置。 The business process definition storage unit further includes:
Using the processing device, as the business process definition information, further, branch condition information indicating a condition for changing the execution procedure of the business is stored in the storage device based on the analysis information generated by the execution information analysis unit. And
The above business execution department
Using the processing device, acquire the branch condition information from the acquired business process definition information, use the processing device, acquire the analysis information notified by the execution information analysis unit, using the processing device, Based on the acquired analysis information, it is determined whether the condition indicated by the acquired branch condition information is satisfied, and the execution procedure indicated by the branch condition information is based on the determination result using the processing device. The business process management apparatus according to claim 7, wherein the business is executed according to:
上記処理装置を用いて、上記業務実行部が実行している業務の数を数え、上記処理装置を用いて、数えた上記業務の数を、実行情報として上記記憶装置に記憶する
ことを特徴とする請求項1に記載のビジネスプロセス管理装置。 The execution information management unit
The number of tasks executed by the task execution unit is counted using the processing device, and the number of tasks counted is stored in the storage device as execution information using the processing device. The business process management apparatus according to claim 1.
上記処理装置を用いて、上記業務の実行を開始したこと及び上記業務の実行を終了したことを、実行開始終了情報として上記実行情報管理部に通知し、
上記実行情報管理部は、
上記処理装置を用いて、上記実行情報管理部が通知した実行開始終了情報を取得し、上記処理装置を用いて、取得した上記実行開始終了情報に基づいて、上記業務実行部が実行している業務の数を数える
ことを特徴とする請求項9に記載のビジネスプロセス管理装置。 The business execution unit further includes:
Using the processing device, the execution information management unit is notified as execution start / end information that the execution of the operation has started and the execution of the operation has ended,
The execution information management unit
Using the processing device, the execution start / end information notified by the execution information management unit is acquired, and using the processing device, the job execution unit is executing based on the acquired execution start / end information. The business process management apparatus according to claim 9, wherein the number of operations is counted.
上記処理装置を用いて、上記業務を実行するアプリケーションプログラムを呼び出すことにより、上記業務を実行する
ことを特徴とする請求項1に記載のビジネスプロセス管理装置。 The above business execution department
The business process management apparatus according to claim 1, wherein the business is executed by calling an application program for executing the business using the processing device.
上記ビジネスプロセス定義情報によって示される一連の業務を、複数実行し、
上記ビジネスプロセス定義情報記憶部は、更に、
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記業務実行部が実行した業務のうち、どの業務についての実行情報を解析するかを示す解析対象プロセス情報を上記記憶装置に記憶し、
上記実行情報解析部は、
上記処理装置を用いて、上記ビジネスプロセス定義情報記憶部が記憶したビジネスプロセス定義情報のうち、上記解析対象プロセス情報を取得し、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示される業務についての実行情報を、上記記憶装置から取得し、
上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成する
ことを特徴とする請求項1に記載のビジネスプロセス管理装置。 The above business execution department
Execute a series of tasks indicated by the business process definition information above,
The business process definition information storage unit further includes:
Using the processing device, as the business process definition information, analysis target process information indicating which business execution information is analyzed among the business executed by the business execution unit is stored in the storage device. ,
The execution information analysis unit
Among the business process definition information stored in the business process definition information storage unit using the processing device, obtain the analysis target process information,
Using the processing device, obtain execution information about the work indicated by the acquired analysis target process information from the storage device,
The business process management apparatus according to claim 1, wherein the processing apparatus is used to analyze the acquired execution information to generate analysis information.
上記処理装置を用いて、上記解析対象プロセス情報として、記憶した複数のビジネスプロセス定義情報のうち、どのビジネスプロセス定義情報によって示される業務についての実行情報を解析するかを示す情報を、上記記憶装置に記憶し、
上記実行情報解析部は、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示されるビジネスプロセス定義情報によって示される業務についての実行情報を、上記記憶装置から取得する
ことを特徴とする請求項12に記載のビジネスプロセス管理装置。 The business process definition information storage unit
Information indicating which business process definition information is to be analyzed for the business indicated by which business process definition information among the plurality of stored business process definition information as the analysis target process information using the processing device, the storage device Remember
The execution information analysis unit
13. The business process according to claim 12, wherein execution information on a business indicated by the business process definition information indicated by the acquired analysis target process information is acquired from the storage device using the processing device. Management device.
上記処理装置を用いて、上記解析対象プロセス情報として、1つのビジネスプロセス定義情報によって示される一連の業務を、上記業務実行部が複数実行した場合に、実行された一連の業務のうち、どの一連の業務に含まれる業務についての実行情報を解析するかを示す情報を、上記記憶装置に記憶し、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示される一連の業務に含まれる業務についての実行情報を、上記記憶装置から取得する
ことを特徴とする請求項12に記載のビジネスプロセス管理装置。 The business process definition information storage unit
When the business execution unit executes a plurality of business operations indicated by one business process definition information as the analysis target process information using the processing device, which of the business operations executed Storing in the storage device information indicating whether or not to analyze the execution information for the business included in the business,
13. The business process management according to claim 12, wherein execution information on a business included in a series of business indicated by the acquired analysis target process information is acquired from the storage device using the processing device. apparatus.
上記処理装置が、業務及び上記業務の実行手順を示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶工程と、
上記処理装置が、上記ビジネスプロセス定義記憶工程で記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置が、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記業務を実行する業務実行工程と、
上記処理装置が、上記解析実行工程で実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理工程と、
上記処理装置が、上記実行情報管理工程で記憶した実行情報を上記記憶装置から取得し、上記処理装置が、取得した上記実行情報を解析して、解析情報を生成する実行情報解析工程と、
を有することを特徴とするビジネスプロセス管理方法。 In a business process management method in which a business process management device having a storage device for storing information and a processing device for processing information manages a business process,
A business process definition storage step in which the processing device stores business process definition information indicating a business and an execution procedure of the business in the storage device;
The processing device acquires the business process definition information stored in the business process definition storage step from the storage device, and the processing device performs an execution procedure indicated by the acquired business process definition information and an executed business According to the analysis information obtained by analyzing the information, a business execution process for executing the above business,
An execution information management step in which the processing device stores information about the work executed in the analysis execution step in the storage device as execution information;
The processing device acquires the execution information stored in the execution information management step from the storage device, and the processing device analyzes the acquired execution information to generate analysis information;
A business process management method characterized by comprising:
請求項1に記載のビジネスプロセス管理装置として機能させることを特徴とするビジネスプロセス管理プログラム。 A computer having a storage device for storing information and a processing device for processing information,
A business process management program that functions as the business process management apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102633A JP2007279861A (en) | 2006-04-04 | 2006-04-04 | Business process management device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102633A JP2007279861A (en) | 2006-04-04 | 2006-04-04 | Business process management device, method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007279861A true JP2007279861A (en) | 2007-10-25 |
Family
ID=38681268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006102633A Pending JP2007279861A (en) | 2006-04-04 | 2006-04-04 | Business process management device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007279861A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299836A (en) * | 2007-05-31 | 2008-12-11 | Sap Ag | Process model control flow with multiple synchronization |
WO2009098766A1 (en) * | 2008-02-07 | 2009-08-13 | Fujitsu Limited | Work flow processing program, work flow processing method and work flow processor |
US8244570B2 (en) | 2008-07-11 | 2012-08-14 | Fujitsu Limited | Business flow analysis method and apparatus |
JP2016033719A (en) * | 2014-07-31 | 2016-03-10 | 株式会社リコー | Information processing device, information processing system, information processing method, and program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001209738A (en) * | 2000-01-26 | 2001-08-03 | Hitachi Ltd | Processing time display method and processing period setting method in workflow system |
JP2003173262A (en) * | 2001-12-06 | 2003-06-20 | Hitachi Ltd | Program tuning system, program tuning method and program and recording medium |
WO2005008402A2 (en) * | 2003-07-11 | 2005-01-27 | International Business Machines Corporation | Systems and methods for monitoring and controlling business level service level agreements |
JP2005166040A (en) * | 2003-12-04 | 2005-06-23 | Internatl Business Mach Corp <Ibm> | Method, system and computer program for constructing composite service |
WO2005114452A2 (en) * | 2004-05-21 | 2005-12-01 | Bea Systems, Inc. | Service oriented architecture |
JP2006018529A (en) * | 2004-06-30 | 2006-01-19 | Canon Software Inc | Workflow system, method for controlling it, program, and recording medium |
-
2006
- 2006-04-04 JP JP2006102633A patent/JP2007279861A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001209738A (en) * | 2000-01-26 | 2001-08-03 | Hitachi Ltd | Processing time display method and processing period setting method in workflow system |
JP2003173262A (en) * | 2001-12-06 | 2003-06-20 | Hitachi Ltd | Program tuning system, program tuning method and program and recording medium |
WO2005008402A2 (en) * | 2003-07-11 | 2005-01-27 | International Business Machines Corporation | Systems and methods for monitoring and controlling business level service level agreements |
JP2005166040A (en) * | 2003-12-04 | 2005-06-23 | Internatl Business Mach Corp <Ibm> | Method, system and computer program for constructing composite service |
WO2005114452A2 (en) * | 2004-05-21 | 2005-12-01 | Bea Systems, Inc. | Service oriented architecture |
JP2006018529A (en) * | 2004-06-30 | 2006-01-19 | Canon Software Inc | Workflow system, method for controlling it, program, and recording medium |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299836A (en) * | 2007-05-31 | 2008-12-11 | Sap Ag | Process model control flow with multiple synchronization |
WO2009098766A1 (en) * | 2008-02-07 | 2009-08-13 | Fujitsu Limited | Work flow processing program, work flow processing method and work flow processor |
JP4973738B2 (en) * | 2008-02-07 | 2012-07-11 | 富士通株式会社 | Business flow processing program, method and apparatus |
US8713070B2 (en) | 2008-02-07 | 2014-04-29 | Fujitsu Limited | Business flow processing method and apparatus |
US8244570B2 (en) | 2008-07-11 | 2012-08-14 | Fujitsu Limited | Business flow analysis method and apparatus |
JP2016033719A (en) * | 2014-07-31 | 2016-03-10 | 株式会社リコー | Information processing device, information processing system, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170205965A1 (en) | Generating document review workflows | |
US20220206923A1 (en) | Operation logs visualization device, operation logs visualization method and operation logs visualization program | |
CN113392974B (en) | Model training method, device, electronic equipment and storage medium | |
JP6299599B2 (en) | Information system construction support apparatus, information system construction support method, and information system construction support program | |
JP2007279861A (en) | Business process management device, method and program | |
US9442620B2 (en) | Navigation systems with event notification | |
JP2017211788A (en) | Information processing device, job input method, and job input program | |
JP2017045238A (en) | Information processing system, information processing device, and information processing method | |
JP2001356907A (en) | Data base system with processing code information and information processing system | |
CN105739717B (en) | Data inputting method and device | |
JP4383409B2 (en) | Information processing apparatus, control method therefor, program, and recording medium | |
JP2011258058A (en) | Performance prediction apparatus, computer program and performance prediction method | |
JP4686117B2 (en) | Source code conversion apparatus, source code conversion method, and program | |
US20050120352A1 (en) | Meta directory server providing users the ability to customize work-flows | |
CN113094250A (en) | Log early warning method and device, electronic equipment and storage medium | |
JP5651873B2 (en) | Operation support method and computer | |
JP2017156891A (en) | Information processing system, information processing device, and information processing method | |
JP2009122985A (en) | System and program for sub-process execution | |
JPWO2012042561A1 (en) | Image acquisition apparatus, image acquisition method, and computer program | |
US20120173294A1 (en) | Integrating Report Actions for a Series of Reports Within a Single User Interface | |
JP2016045818A (en) | Information processor and information processing program | |
JP2020160854A (en) | Code management system, and code management method | |
JP4575088B2 (en) | Information processing system, information processing method, and information processing program | |
JP4805491B2 (en) | Dictionary management program and computer system | |
JP6266925B2 (en) | Control device, control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110830 |