JP4908539B2 - Workflow processing apparatus, program, and method - Google Patents

Workflow processing apparatus, program, and method Download PDF

Info

Publication number
JP4908539B2
JP4908539B2 JP2009072595A JP2009072595A JP4908539B2 JP 4908539 B2 JP4908539 B2 JP 4908539B2 JP 2009072595 A JP2009072595 A JP 2009072595A JP 2009072595 A JP2009072595 A JP 2009072595A JP 4908539 B2 JP4908539 B2 JP 4908539B2
Authority
JP
Japan
Prior art keywords
entity
workflow
definition
transition
exception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009072595A
Other languages
Japanese (ja)
Other versions
JP2010224956A (en
Inventor
祐介 鈴木
綾子 勝又
知之 石丸
勝彦 高知尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2009072595A priority Critical patent/JP4908539B2/en
Publication of JP2010224956A publication Critical patent/JP2010224956A/en
Application granted granted Critical
Publication of JP4908539B2 publication Critical patent/JP4908539B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例外処理を伴うワークフローを処理するためのワークフロー処理装置、プログラム及び方法に係り、例えば、例外処理が頻繁に生じる場合でもワークフローの定義を簡略化でき、基本ワークフローと例外ワークフローとを両方とも実行し得るワークフロー処理装置、プログラム及び方法に関する。   The present invention relates to a workflow processing apparatus, program, and method for processing a workflow with exception processing. For example, even when exception processing frequently occurs, the definition of the workflow can be simplified, and both the basic workflow and the exception workflow can be simplified. The present invention relates to a workflow processing apparatus, a program, and a method that can be executed together.

従来のワークフローシステムでは、ワークフローで例外処理のワークフローを実行したい場合、図39に示すように、分岐ステップを使って予め基本ワークフロー上に例外ワークフローを定義しておく必要がある。このため、例外処理が頻繁に発生するような業務に適用する場合、ワークフローを設計又は再設計する作業が煩雑になり易い問題がある。   In the conventional workflow system, when it is desired to execute an exception processing workflow, it is necessary to define an exception workflow in advance on the basic workflow using a branch step as shown in FIG. For this reason, when applied to a business in which exception handling frequently occurs, there is a problem that the work of designing or redesigning the workflow tends to be complicated.

この問題の解消を図る観点から、例えば、ワークフローの例外処理に伴って発生する部分ワークフローを追加したい場合に、追加する部分ワークフローを装置に登録することにより、ワークフローの再設計を行うことなく、部分ワークフローを追加する方法が知られている(例えば、特許文献1参照。)。   From the viewpoint of resolving this problem, for example, if you want to add a partial workflow that occurs due to workflow exception processing, register the partial workflow to be added to the device, and without redesigning the workflow, A method of adding a workflow is known (for example, see Patent Document 1).

また、従来のワークフローシステムでは、あるステップで例外が発生した場合、例外用のワークフローが実行される。この種の技術としては、例えば、ワークフローの実行中に分岐点位置の指定を受けると、その分岐点に別のワークフローを結合してワークフローを更新し、処理を別のワークフローに切り替えて実行する方法が知られている(例えば、特許文献2参照。)   In the conventional workflow system, when an exception occurs at a certain step, an exception workflow is executed. As this type of technology, for example, when a branch point position is specified during execution of a workflow, another workflow is linked to the branch point, the workflow is updated, and the process is switched to another workflow and executed. Is known (see, for example, Patent Document 2).

特開平9−62733号公報Japanese Patent Laid-Open No. 9-62733 特開2008−305205号公報JP 2008-305205 A

しかしながら、以上のような特許文献1,2に記載の技術は、それぞれ以下のような不都合がある。   However, the techniques described in Patent Documents 1 and 2 have the following disadvantages.

特許文献1に記載の技術によれば、基本ワークフローを定義しておき、例外処理に伴う部分ワークフローを後から追加可能である。これにより、基本ワークフローは例外処理を気にせずに定義できるが、例外処理が頻繁に発生する業務に適用する場合には、追加後のワークフローの定義が複雑になってしまう。   According to the technique described in Patent Document 1, a basic workflow can be defined and a partial workflow associated with exception processing can be added later. As a result, the basic workflow can be defined without worrying about exception processing. However, when applied to a business in which exception processing frequently occurs, the definition of the workflow after addition becomes complicated.

特許文献2に記載の技術では、複数のワークフローを定義しておき、あるワークフローの実行時に分岐点位置の指定を受けると、その分岐点で別のワークフローに処理を切り替えて実行可能となっている。しかし、実行可能なワークフロー処理はいずれか一方であり、複数のワークフローを実行することはできない。また、実行するワークフローを切り替えると元のワークフローに処理を戻すことはできない。すなわち、基本ワークフローと例外ワークフローとを両方とも実行したい場合には不向きである。   In the technique described in Patent Document 2, when a plurality of workflows are defined and a branch point position is designated when executing a certain workflow, processing can be switched to another workflow at that branch point and executed. . However, only one of the workflow processes can be executed, and a plurality of workflows cannot be executed. Also, if the workflow to be executed is switched, the process cannot be returned to the original workflow. That is, it is not suitable for executing both the basic workflow and the exceptional workflow.

本発明は上記実情を考慮してなされたもので、例外処理が頻繁に生じる場合でもワークフローの定義を簡略化でき、基本ワークフローと例外ワークフローとを両方とも実行し得るワークフロー処理装置、プログラム及び方法を提供することを目的とする。   The present invention has been made in consideration of the above circumstances, and it is possible to simplify a workflow definition even when exception processing frequently occurs, and to provide a workflow processing apparatus, program, and method capable of executing both a basic workflow and an exception workflow. The purpose is to provide.

本発明の一つの局面(aspect)は、例外のワークフローを示す例外のワークフロー定義IDを含む複数のワークフロー定義IDが格納されたワークフロー定義テーブルと、ステップ定義ID毎にワークフロー定義ID及びタイプを関連付けるステップ定義テーブル(但し、前記タイプは、「通常」、「開始点」又は「合流点」を示す。)と、ワークフロー定義ID、遷移前のステップ定義ID及び遷移後のステップ定義IDを関連付けるステップ定義遷移テーブルとを記憶するための定義テーブル記憶手段と、ワークフロー実体ID毎にワークフロー定義ID及び状態を関連付けるワークフロー実体テーブル(但し、前記状態は「実行可能」、「実行中」又は「完了」を示す。)と、ステップ実体ID毎にステップ定義ID、ワークフロー実体ID、タイプ及び状態を関連付けるステップ実体テーブルと、ワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDを関連付けるステップ実体遷移テーブルと、例外のワークフロー実体ID毎に分岐元のワークフロー実体ID、分岐元のステップ実体ID及び合流先のステップ定義IDを関連付ける例外ワークフロー実体遷移テーブルとを記憶するための実体テーブル記憶手段と、ユーザインターフェース装置と、に通信可能なワークフロー処理装置であって、前記ユーザインターフェース装置から送信されたワークフロー定義ID及び開始情報の入力を受け付ける第1の入力受付手段と、前記開始情報とともに入力を受け付けたワークフロー定義IDが前記ワークフロー定義テーブルに存在するときに、ワークフロー実体IDを生成し、当該生成したワークフロー実体ID、前記ワークフロー定義ID及び前記状態として「実行中」を関連付けて前記ワークフロー実体テーブルに書き込むワークフロー実体テーブル書込手段と、前記入力を受け付けたワークフロー定義IDについて、前記ステップ定義遷移テーブルを検索し、当該検索結果のうち、先頭の遷移後のステップ定義IDを取得し、ステップ実体IDを生成し、前記先頭の遷移後のステップ定義IDについて、前記ステップ定義テーブルを検索してタイプを取得し、前記生成したステップ実体IDと前記先頭の遷移後のステップ定義IDと、前記生成したワークフロー実体IDと、前記タイプと、前記状態として「実行可能」とを関連付けて前記ステップ実体テーブルに書き込むステップ実体テーブル書込手段と、前記生成したワークフロー実体ID、及び前記生成したステップ実体IDを遷移後のステップ実体IDとして関連付けて前記ステップ実体遷移テーブルに書き込むステップ実体遷移テーブル書込手段と、前記ユーザインターフェース装置から送信されたステップ実体ID及び開始情報を受け、前記ステップ実体テーブル内でこのステップ実体IDに対応する状態が「実行可能」を示すとき、この「実行可能」を「実行中」に更新するステップ開始手段と、前記ユーザインターフェース装置から送信された例外のワークフロー定義ID、現在のワークフロー実体ID及び例外発生時のステップ実体IDの入力を受け付ける第2の入力受付手段と、前記現在のワークフロー実体ID及び例外発生時のステップ実体IDを受けると、ステップ実体IDについて前記ステップ実体テーブルによってタイプを判定する処理と、前記ステップ実体遷移テーブルによって遷移を前に辿る処理とを再帰的に実行することにより、タイプが「開始点」のステップ実体IDを特定する開始点特定手段と、前記開始点特定手段により特定された「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、ステップ定義IDについて前記ステップ定義テーブルによってタイプを判定する処理と、前記ステップ定義遷移テーブルによって遷移を後に辿る処理とを再帰的に実行することにより、タイプが「合流点」のステップ定義IDを特定する合流点特定手段と、前記入力を受け付けた例外のワークフロー定義IDが前記ワークフロー定義テーブルに存在するときに、例外のワークフロー実体IDを生成し、当該生成した例外のワークフロー実体ID、前記例外のワークフロー定義ID及び前記状態として「実行中」を関連付けて前記ワークフロー実体テーブルに書き込む例外のワークフロー実体テーブル書込手段と、前記入力を受け付けた例外のワークフロー定義IDについて、前記ステップ定義遷移テーブルを検索し、当該検索結果のうち、先頭の遷移後のステップ定義IDを取得し、例外のステップ実体IDを生成し、この先頭の遷移後のステップ定義IDに基づいて、前記ステップ定義テーブルを検索してタイプを取得し、前記生成した例外のステップ実体IDと前記先頭の遷移後のステップ定義IDと、前記生成した例外のワークフロー実体IDと、前記タイプと、前記状態として「実行可能」とを関連付けて前記ステップ実体テーブルに書き込む例外のステップ実体テーブル書込手段と、前記生成した例外のワークフロー実体ID、前記生成した例外のステップ実体IDを遷移後のステップ実体IDとして関連付けて前記ステップ実体遷移テーブルに書き込む例外のステップ実体遷移テーブル書込手段と、前記例外のワークフロー実体IDと、分岐元のワークフロー実体IDとしての前記現在のワークフロー実体IDと、分岐元のステップ実体IDとしての例外発生時のステップ実体IDと、合流先のステップ定義IDとしての前記「合流点」のステップ定義IDとを関連付けて前記例外ワークフロー実体遷移テーブルに書き込む例外ワークフロー実体遷移テーブル書込手段と、前記ユーザインターフェース装置から送信されたステップ実体ID及び終了情報を受けると、前記ステップ実体テーブル内でこのステップ実体IDの状態が「実行中」を示すとき、この状態を「実行中」から「完了」に更新するステップ終了手段と、前記状態を「完了」に更新した後、当該更新した状態に対応するステップ定義IDを遷移前のステップ定義IDとした場合に、前記ステップ定義遷移テーブルに遷移後のステップ定義IDがあるか否かを判定する遷移後ステップ判定手段と、この判定の結果、遷移後のステップ定義IDがある場合、当該遷移後のステップ定義IDに基づいて前記ステップ定義テーブルからタイプを取得し、このタイプが「通常」の場合、ステップ実体IDを生成し、得られたステップ実体ID、当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「通常」及び状態「実行可能」を関連付けて前記ステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDを前記ステップ実体遷移テーブルに書き込む通常タイプ処理手段と、前記タイプが「開始点」の場合、ステップ実体IDを生成し、得られたステップ実体ID毎に当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「開始点」及び状態「自動終了」を関連付けてステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDを前記ステップ実体遷移テーブルに書き込む開始点タイプ処理手段と、前記タイプが「合流点」の場合、ステップ実体IDを生成し、得られたステップ実体ID毎に当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「合流点」及び状態「実行待ち」を前記ステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDを前記ステップ実体遷移テーブルに書き込む合流点タイプ処理手段と、を備えたワークフロー処理装置である。   One aspect of the present invention is a step of associating a workflow definition table storing a plurality of workflow definition IDs including an exception workflow definition ID indicating an exception workflow with a workflow definition ID and a type for each step definition ID. Step definition transition that associates a definition table (however, the type indicates “normal”, “starting point”, or “joining point”), a workflow definition ID, a step definition ID before transition, and a step definition ID after transition. Definition table storage means for storing a table, and a workflow entity table that associates a workflow definition ID and a state for each workflow entity ID (where the state indicates “executable”, “being executed”, or “completed”). ) And step definition ID and workflow entity I for each step entity ID A step entity table for associating types and states, a workflow entity ID, a step entity transition table for associating a step entity ID before transition and a step entity ID after transition, and a branch workflow entity ID for each exception workflow entity ID, A workflow processing device capable of communicating with an entity table storage means for storing an exception workflow entity transition table for associating a branch source step entity ID and a merge destination step definition ID, and a user interface device, wherein the user A first input receiving unit that receives an input of a workflow definition ID and start information transmitted from the interface device; and a workflow definition ID that receives an input together with the start information exists in the workflow definition table. -A workflow entity table writing means for generating an entity ID and associating the generated workflow entity ID, the workflow definition ID, and "in progress" as the state into the workflow entity table, and the workflow definition that has received the input Search the step definition transition table for ID, acquire the step definition ID after the first transition in the search results, generate a step entity ID, and for the step definition ID after the first transition, The type is obtained by searching the definition table, and the generated step entity ID, the step definition ID after the first transition, the generated workflow entity ID, the type, and “executable” as the state are set. Step entity text to be written to the step entity table Bull writing means, the generated workflow entity ID, the step entity transition table writing means for associating the generated step entity ID as the step entity ID after the transition and writing it in the step entity transition table, and the user interface device Receiving the step entity ID and the start information transmitted from, and updating the “executable” to “under execution” when the state corresponding to the step entity ID indicates “executable” in the step entity table. A starting means; a second input receiving means for receiving an input of an exception workflow definition ID, a current workflow entity ID, and a step entity ID at the time of occurrence of the exception transmitted from the user interface device; and the current workflow entity ID and Receive the step entity ID when an exception occurs By recursively executing the process of determining the type for the step entity ID by the step entity table and the process of tracing the transition forward by the step entity transition table, the step entity ID of the type “starting point” is obtained. A process of determining a type for a step definition ID based on a step definition table based on a step definition ID corresponding to a step entity ID of a “start point” specified by the start point specifying means , By recursively executing the process of following the transition by the step definition transition table, the merge point identifying means for identifying the step definition ID of the type “Merge Point”, and the workflow definition of the exception that has received the input When the ID exists in the workflow definition table, An exception workflow entity table writing unit that generates a workflow entity ID, associates the generated workflow entity ID of the generated exception, the workflow definition ID of the exception, and “execution” as the state, and writes it in the workflow entity table; Search the step definition transition table for the workflow definition ID of the exception that received the input, obtain the step definition ID after the first transition in the search result, generate the step entity ID of the exception, Based on the step definition ID after the transition, the type is obtained by searching the step definition table, the step entity ID of the generated exception, the step definition ID after the first transition, and the workflow entity of the generated exception Associate ID, type, and “executable” as the status Step entity table writing means for exceptions to be written to the step entity table, the workflow entity ID of the generated exception, and the step entity ID of the generated exception are associated as the step entity ID after transition and written to the step entity transition table Exception step entity transition table writing means, the workflow entity ID of the exception, the current workflow entity ID as the branch source workflow entity ID, and the step entity ID when an exception occurs as the branch source step entity ID And an exception workflow entity transition table writing means for writing to the exception workflow entity transition table in association with the step definition ID of the “merge point” as the step definition ID of the merge destination, and the step transmitted from the user interface device Entity ID When the end information is received, when the state of the step entity ID indicates “executing” in the step entity table, step ending means for updating the state from “executing” to “completed”; After updating to “complete”, if the step definition ID corresponding to the updated state is the step definition ID before transition, it is determined whether or not there is a step definition ID after transition in the step definition transition table. If there is a post-transition step determination means and the result of this determination is that there is a post-transition step definition ID, the type is acquired from the step definition table based on the post-transition step definition ID, and this type is “normal” , Generate a step entity ID, the obtained step entity ID, the step definition ID after the transition, the workflow entity ID, the type “normal” and the state Normal type processing means for writing “executable” in association with the step entity table, writing the associated workflow entity ID, the pre-transition step entity ID, and the post-transition step entity ID into the step entity transition table, and the type Is “start point”, a step entity ID is generated, and the step definition ID, workflow entity ID, type “start point”, and state “automatic end” after the transition are associated with each obtained step entity ID. When writing to the entity table and writing the associated workflow entity ID, the pre-transition step entity ID, and the post-transition step entity ID to the step entity transition table, and the type is “confluence”, Step entity ID is generated, and for each obtained step entity ID The step definition ID after the transition, the workflow entity ID, the type “confluence” and the state “waiting for execution” are written to the step entity table, and the associated workflow entity ID, the step entity ID before the transition, and the step entity after the transition And a confluence point type processing means for writing an ID in the step entity transition table.

また、本発明の他の局面は、ステップ定義ID毎にタイプを関連付けるステップ定義テーブルと、遷移前のステップ定義ID及び遷移後のステップ定義IDを関連付けるステップ定義遷移テーブルとを記憶するための定義テーブル記憶手段と、ステップ実体ID毎にステップ定義ID、タイプを関連付けるステップ実体テーブルと、遷移前のステップ実体ID及び遷移後のステップ実体IDを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶手段と、を読出/書込可能なワークフロー処理装置であって、入力された例外発生時のステップ実体IDに基づいて、前記ステップ実体テーブルからタイプを判定する処理と、前記ステップ実体遷移テーブルによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定する開始点特定手段と、前記特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、前記ステップ定義テーブルによってタイプを判定する処理と、前記ステップ定義遷移テーブルによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定する合流点特定手段とを備えたワークフロー処理装置である。   Another aspect of the present invention is a definition table for storing a step definition table that associates a type for each step definition ID, and a step definition transition table that associates a step definition ID before transition and a step definition ID after transition. Entity table storage means for storing a storage means, a step entity table associating a step definition ID and type for each step entity ID, and a step entity transition table associating a step entity ID before transition and a step entity ID after transition And a process for determining a type from the step entity table based on the input step entity ID at the time of occurrence of an exception, and a transition by the step entity transition table. Recursively execute the process to be followed and the type is “Start” Starting point specifying means for specifying the step entity ID of “”, processing for determining the type by the step definition table based on the step definition ID corresponding to the step entity ID of the specified “starting point”, and the step definition This is a workflow processing device provided with a merge point identifying unit that recursively executes a process of tracing a transition backward using a transition table and identifies a step definition ID of the type “Merge Point”.

なお、本発明の各局面は、装置として実現した場合を例に挙げて述べたが、これに限らず、プログラム、システム、方法、又はプログラムを記憶した記憶媒体(コンピュータ読取り可能な記憶媒体)、として実現してもよい。   Each aspect of the present invention has been described by taking the case where it is realized as an apparatus as an example. However, the present invention is not limited thereto, and a storage medium (computer-readable storage medium) storing a program, system, method, or program, It may be realized as.

(作用)
本発明の一つの局面によれば、開始点特定手段、合流点特定手段及び例外ワークフロー実体遷移テーブル書込手段を備えた構成により、例外のワークフローの合流点を予め定義せずに例外発生時に特定するようにしたので、例外処理が頻繁に生じる場合でもワークフローの定義を簡略化でき、基本ワークフローと例外ワークフローとを両方とも実行することができる。
(Function)
According to one aspect of the present invention, the configuration including the start point specifying means, the confluence point specifying means, and the exception workflow entity transition table writing means is specified when an exception occurs without predefining the confluence of the exception workflow. Thus, even when exception handling frequently occurs, the workflow definition can be simplified, and both the basic workflow and the exception workflow can be executed.

また、本発明の他の局面によれば、開始点特定手段及び合流点特定手段を備えた構成により、例外のステップ遷移の合流点を予め定義せずに例外発生時に特定するようにしたので、例外処理が頻繁に生じる場合でもステップ定義及びステップ遷移の定義を簡略化でき、定義されたステップが遷移してなる基本ワークフローと例外ワークフローとを両方とも実行することができる。   Further, according to another aspect of the present invention, the configuration including the start point specifying means and the confluence point specifying means is specified when an exception occurs without predefining the confluence of the step transition of the exception. Even when exception processing frequently occurs, the definition of step definition and step transition can be simplified, and both the basic workflow and the exception workflow formed by the transition of the defined steps can be executed.

以上説明したように本発明によれば、例外処理が頻繁に生じる場合でもワークフローの定義を簡略化でき、基本ワークフローと例外ワークフローとを両方とも実行できる。   As described above, according to the present invention, the definition of a workflow can be simplified even when exception processing frequently occurs, and both the basic workflow and the exception workflow can be executed.

本発明の概要を説明するためのワークフローの模式図である。It is a schematic diagram of the workflow for demonstrating the outline | summary of this invention. 本発明の概要を説明するためのワークフローの模式図である。It is a schematic diagram of the workflow for demonstrating the outline | summary of this invention. 本発明の第1の実施形態に係るワークフロー処理装置を備えたワークフローシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the workflow system provided with the workflow processing apparatus which concerns on the 1st Embodiment of this invention. 同実施形態における定義情報格納部を説明するための模式図である。It is a schematic diagram for demonstrating the definition information storage part in the embodiment. 同実施形態における実体情報格納部を説明するための模式図である。It is a schematic diagram for demonstrating the entity information storage part in the embodiment. 同実施形態における動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement in the embodiment. 同実施形態における動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第2の実施形態に係るワークフローの定義例を示す模式図である。It is a schematic diagram which shows the example of a workflow definition which concerns on the 2nd Embodiment of this invention. 同実施形態におけるワークフロー定義テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the workflow definition table in the embodiment. 同実施形態におけるステップ定義テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step definition table in the embodiment. 同実施形態におけるステップ定義遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step definition transition table in the embodiment. 同実施形態におけるワークフロー実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the workflow entity table in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるワークフロー実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the workflow entity table in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity transition table in the embodiment. 同実施形態における例外ワークフロー実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the exception workflow entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるワークフロー実体テーブル及びステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the workflow entity table and step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table in the same embodiment. 同実施形態におけるステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるステップ実体テーブル及びステップ実体遷移テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the step entity table and step entity transition table in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態におけるワークフロー実体テーブルの具体例を示す模式図である。It is a schematic diagram which shows the specific example of the workflow entity table in the embodiment. 従来のワークフローを説明するための模式図である。It is a schematic diagram for demonstrating the conventional workflow.

以下、本発明の各実施形態について図面を用いて説明するが、その前に、本発明の概要について述べる。   Hereinafter, embodiments of the present invention will be described with reference to the drawings, but before that, an outline of the present invention will be described.

本発明の概要としては、始めに、図1(a)及び図1(b)に示す如き、通常処理用のワークフロー(以下、基本ワークフローと呼ぶ)と例外処理用のワークフロー(以下、例外ワークフローと呼ぶ)とを別々に定義しておく。ここで、基本ワークフローでは、例外発生時に実行する例外ワークフローを定義していない。また、例外ワークフローでは、処理実行後の合流先を定義していない。従って、従来とは異なり、ワークフローの定義が簡略化されている。   As an outline of the present invention, first, as shown in FIGS. 1A and 1B, a workflow for normal processing (hereinafter referred to as a basic workflow) and a workflow for exception processing (hereinafter referred to as an exception workflow). Are defined separately. Here, in the basic workflow, an exception workflow to be executed when an exception occurs is not defined. Also, in the exception workflow, the merge destination after the process execution is not defined. Therefore, unlike the prior art, the workflow definition is simplified.

続いて、図2(a)に示すように、あるステップ(例、作業(2))で例外が発生した時点で、図2(b)に示すように、例外発生状況毎に指定された例外ワークフロー(例、例外ワークフロー2)を例外が発生したステップに組みこんで基本ワークフローを動的に更新する。また、例外が発生したステップではワークフローの分岐が発生するが、図2(c)に示すように、従来とは異なり、分岐後の基本ワークフローの作業と、組み込んだ例外ワークフローの作業を両方とも実行でき、実行後には元の基本ワークフローに合流して作業を続けることができる。   Subsequently, as shown in FIG. 2A, when an exception occurs in a certain step (eg, work (2)), as shown in FIG. The basic workflow is dynamically updated by incorporating the workflow (eg, exception workflow 2) into the step where the exception occurred. Also, workflow branching occurs at the step where an exception occurred, but as shown in Fig. 2 (c), unlike the conventional case, both the work of the basic workflow after branching and the work of the incorporated exception workflow are executed. Yes, after execution, you can join the original basic workflow and continue working.

なお、例外ワークフローの合流先は、予め基本ワークフローに「例外範囲」を定義しておくことにより、一意に特定される。ここでいう「例外範囲」とは、「開始点」と「合流点」の対からなり、「開始点」と「合流点」で囲まれたステップで例外処理が発生した場合、当該ステップに組み込まれた例外ワークフローの合流先を「合流点」に一意に特定する機能をもっている。「例外範囲」は基本ワークフローに入れ子状に配置可能である。   It should be noted that the merging destination of the exception workflow is uniquely specified by defining an “exception range” in the basic workflow in advance. The “exception range” here consists of a pair of “start point” and “merge point”. If exception processing occurs at the step surrounded by “start point” and “merge point”, it is incorporated into the step. It has a function to uniquely identify the merging destination of an exceptional workflow as a “merging point”. The “exception range” can be nested in the basic workflow.

以上が本発明の概要である。このような概要は、例えば、ステップ定義ID毎にタイプを関連付けるステップ定義テーブルと、遷移前のステップ定義ID及び遷移後のステップ定義IDを関連付けるステップ定義遷移テーブルとを記憶するための定義テーブル記憶装置と、ステップ実体ID毎にステップ定義ID、タイプを関連付けるステップ実体テーブルと、遷移前のステップ実体ID及び遷移後のステップ実体IDを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶装置と、を読出/書込可能なワークフロー処理装置であって、入力された例外発生時のステップ実体IDに基づいて、ステップ実体テーブルからタイプを判定する処理と、ステップ実体遷移テーブルによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定する開始点特定機能と、特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、ステップ定義テーブルによってタイプを判定する処理と、ステップ定義遷移テーブルによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定する合流点特定機能とを備えたワークフロー処理装置によって実現可能となっている。このワークフロー処理装置によれば、開始点特定機能及び合流点特定機能を備えた構成により、例外のステップ遷移の合流点を予め定義せずに例外発生時に特定するようにしたので、例外処理が頻繁に生じる場合でもステップ定義及びステップ遷移の定義を簡略化でき、定義されたステップが遷移してなる基本ワークフローと例外ワークフローとを両方とも実行することができる。なお、ここで例示したワークフロー処理装置は、ワークフロー定義IDを管理しない場合を前提とするためにワークフロー定義IDを用いないが、ワークフロー定義IDを管理する場合には、次のように、ワークフロー定義ID及びワークフロー実体IDを用いるワークフロー処理装置とすればよい。   The above is the outline of the present invention. Such an overview is, for example, a definition table storage device for storing a step definition table that associates a type for each step definition ID, and a step definition transition table that associates a step definition ID before transition and a step definition ID after transition. An entity table storage device for storing a step entity table that associates a step definition ID and type for each step entity ID, and a step entity transition table that associates a step entity ID before transition and a step entity ID after transition; Is a workflow processing apparatus capable of reading / writing a process, a process for determining the type from the step entity table based on the input step entity ID at the time of occurrence of the exception, and a process for tracing the transition forward by the step entity transition table And recursively execute Based on the start point specifying function for specifying the step entity ID, the step definition ID corresponding to the step entity ID of the specified “start point”, the process of determining the type by the step definition table, and the transition by the step definition transition table This process can be realized by a workflow processing apparatus having a confluence point specifying function for recursively executing the process of tracing back and specifying a step definition ID of the type “confluence point”. According to this workflow processing apparatus, the configuration including the start point specifying function and the confluence point specifying function allows the exception step transition to be specified when the exception occurs without predefining the exception step transition. Even if it occurs, the step definition and the step transition definition can be simplified, and both the basic workflow and the exception workflow in which the defined steps are transitioned can be executed. The workflow processing apparatus exemplified here does not use the workflow definition ID because it assumes that the workflow definition ID is not managed. However, when managing the workflow definition ID, the workflow definition ID is as follows: And a workflow processing apparatus using the workflow entity ID.

すなわち、ステップ定義ID毎にタイプを関連付けるステップ定義テーブルと、ワークフロー定義ID、遷移前のステップ定義ID及び遷移後のステップ定義IDを関連付けるステップ定義遷移テーブルとを記憶するための定義テーブル記憶装置と、ワークフロー実体ID毎にワークフロー定義IDを関連付けるワークフロー実体テーブルと、ステップ実体ID毎にステップ定義ID、タイプを関連付けるステップ実体テーブルと、遷移前のステップ実体ID及び遷移後のステップ実体IDを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶装置と、を読出/書込可能なワークフロー処理装置であって、入力された通常または例外のワークフロー定義IDについて、ワークフロー実体IDを生成し、当該生成したワークフロー実体IDとワークフロー定義IDとを関連付けてワークフロー実体テーブルに書き込むワークフロー実体テーブル書込機能と、入力されたワークフロー定義IDについて、ステップ定義遷移テーブルを検索し、先頭のステップ定義IDを取得し、ステップ実体IDを生成し、先頭のステップ定義IDについて、ステップ定義テーブルを検索してタイプを取得し、これらを関連付けてステップ実体テーブルに書き込むステップ実体テーブル書込機能と、入力された例外発生時のステップ実体IDに基づいて、ステップ実体テーブルからタイプを判定する処理と、ステップ実体遷移テーブルによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定する開始点特定機能と、特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、ステップ定義テーブルによってタイプを判定する処理と、ステップ定義遷移テーブルによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定する合流点特定機能とを備えたワークフロー処理装置とすればよい。また、ここで例示したワークフロー処理装置は、例外のワークフローの遷移状態を管理しない場合を前提とするために例外ワークフロー遷移テーブル等を用いないが、例外のワークフローの遷移状態を管理する場合には、以下の第1の実施形態に示すように、例外ワークフロー遷移テーブル等を用いるワークフロー処理装置とすればよい。次に、本発明の第1の実施形態を説明する。
(第1の実施形態)
図3は本発明の第1の実施形態に係るワークフロー処理装置を備えたワークフローシステムの構成を示すブロック図である。このワークフローシステムは、定義テーブル記憶装置としての定義情報格納部10、実体テーブル記憶装置としての実体情報格納部20、ワークフロー処理装置30及びユーザインターフェース装置40を備えている。ワークフロー処理装置30は、記憶部31、ユーザインターフェース通信部32、ワークフロー制御部33、実体生成部34、定義情報登録/取得部35、実体情報登録/取得部36及び合流先特定部37を備えている。なお、ワークフロー処理装置30は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、ワークフロー処理装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
That is, a definition table storage device for storing a step definition table that associates types for each step definition ID, a workflow definition ID, a step definition ID before transition, and a step definition transition table that associates step definition IDs after transition; A workflow entity table that associates a workflow definition ID for each workflow entity ID, a step entity table that associates a step definition ID and type for each step entity ID, a step entity ID that associates a step entity ID before transition and a step entity ID after transition A workflow processing device capable of reading / writing an entity table storage device for storing a table, generating a workflow entity ID for the input normal or exceptional workflow definition ID, and generating the generated workflow The workflow entity table writing function that associates the cflow entity ID with the workflow definition ID and writes it to the workflow entity table, searches the step definition transition table for the input workflow definition ID, acquires the first step definition ID, Step entity table writing function that generates an entity ID, searches the step definition table for the first step definition ID, acquires the type, associates them, and writes them to the step entity table, and the step when the input exception occurs Start of recursively executing the process of determining the type from the step entity table based on the entity ID and the process of tracing the transition forward by the step entity transition table to identify the step entity ID of the type “starting point” Of the point identification function and the identified "starting point" Based on the step definition ID corresponding to the step entity ID, the process of determining the type by the step definition table and the process of tracing back the transition by the step definition transition table are recursively executed and the type is “confluence”. What is necessary is just to set it as the workflow processing apparatus provided with the confluence | merging point specific function which specifies step definition ID. In addition, the workflow processing apparatus exemplified here does not use an exception workflow transition table or the like because it assumes that the transition state of an exceptional workflow is not managed, but when managing the transition state of an exception workflow, As shown in the following first embodiment, a workflow processing apparatus using an exception workflow transition table or the like may be used. Next, a first embodiment of the present invention will be described.
(First embodiment)
FIG. 3 is a block diagram showing a configuration of a workflow system including the workflow processing apparatus according to the first embodiment of the present invention. The workflow system includes a definition information storage unit 10 as a definition table storage device, an entity information storage unit 20 as an entity table storage device, a workflow processing device 30, and a user interface device 40. The workflow processing apparatus 30 includes a storage unit 31, a user interface communication unit 32, a workflow control unit 33, an entity generation unit 34, a definition information registration / acquisition unit 35, an entity information registration / acquisition unit 36, and a merge destination identification unit 37. Yes. The workflow processing apparatus 30 can be implemented with either a hardware configuration or a combination configuration of hardware resources and software. As the software of the combined configuration, a program that is installed in advance from a network or a storage medium into a computer and causes the computer to realize the function of the workflow processing apparatus is used.

ここで、定義情報格納部10は、図4に示すように、定義情報として、ワークフロー定義テーブル11、ステップ定義テーブル12、ステップ定義遷移テーブル13を格納するデータベースであり、ワークフロー処理装置30から読出/書込可能となっている。   Here, the definition information storage unit 10 is a database that stores a workflow definition table 11, a step definition table 12, and a step definition transition table 13 as definition information as shown in FIG. Writable.

ワークフロー定義テーブル11は、ワークフロー定義の情報として、ワークフロー定義IDを含んでいる。なお、図4及び図5中、下線はキーを表す。   The workflow definition table 11 includes a workflow definition ID as workflow definition information. In FIGS. 4 and 5, the underline represents a key.

ステップ定義テーブル12は、ワークフロー定義におけるステップ定義の情報として、ステップ定義ID毎にワークフロー定義ID及びタイプを含んでいる。   The step definition table 12 includes a workflow definition ID and a type for each step definition ID as step definition information in the workflow definition.

「タイプ」はステップの種類を表しており、「通常」、「開始点」、「合流点」のいずれかが設定される。「通常」は作業を実行するステップ、「開始点」は例外範囲の開始点を表すステップ、「合流点」は対応する例外範囲の合流点を表すステップを表す。   “Type” represents the type of step, and “normal”, “start point”, or “joining point” is set. “Normal” represents the step of executing the work, “Start point” represents the step representing the start point of the exceptional range, and “Merging point” represents the step representing the confluence of the corresponding exceptional range.

ステップ定義遷移テーブル13は、ステップ定義の遷移情報として、互いに関連付けたワークフロー定義ID、遷移前のステップ定義ID及び遷移後のステップ定義IDを含んでいる。   The step definition transition table 13 includes, as step definition transition information, a workflow definition ID associated with each other, a step definition ID before transition, and a step definition ID after transition.

実体情報格納部20は、図5に示すように、実体情報として、ワークフロー実体テーブル21、ステップ実体テーブル22、ステップ実体遷移テーブル23、例外ワークフロー実体遷移テーブル24を格納するデータベースであり、ワークフロー処理装置30から読出/書込可能となっている。   As shown in FIG. 5, the entity information storage unit 20 is a database that stores a workflow entity table 21, a step entity table 22, a step entity transition table 23, and an exception workflow entity transition table 24 as entity information. 30 can be read / written.

ワークフロー実体テーブル21は、ワークフロー定義テーブル11からインスタンス化されたワークフロー実体の情報として、ワークフロー実体ID毎にワークフロー定義ID及び状態を含んでいる。ここで、「状態」はワークフロー実体の状態を表し、「実行中」と「完了」がある。「実行中」はワークフロー実体が生成されて、ワークフロー上の全てのステップ実体が完了するまでの状態を表し、「完了」はワークフロー上の全てのステップ実体が完了した状態を表す。   The workflow entity table 21 includes a workflow definition ID and a state for each workflow entity ID as workflow entity information instantiated from the workflow definition table 11. Here, “state” represents the state of the workflow entity, and includes “running” and “completed”. “In execution” indicates a state until a workflow entity is generated and all step entities on the workflow are completed, and “completed” indicates a state in which all step entities on the workflow are completed.

ステップ実体テーブル22は、ステップ定義テーブル12からインスタンス化されたステップ実体の情報として、ステップ実体ID毎に、ステップ定義ID、ワークフロー実体ID、タイプ及び状態を含んでいる。ここで、「状態」はステップ実体の状態を表し、「実行待ち」、「実行可能」、「実行中」、「完了」、「自動終了」がある。「実行待ち」はステップ実体は生成されているが、実行できない状態、「実行可能」は作業の開始を待っている状態、「実行中」は作業を実行している状態、「完了」は作業が完了した状態をそれぞれ表す。「自動終了」は、「タイプ」が「開始点」又は「合流点」であるステップ実体に用いられ、開始点又は合流点のステップ実体は「実行可能」になると即座に「自動終了」となり、次のステップ実体に処理が移る。   The step entity table 22 includes a step definition ID, a workflow entity ID, a type, and a state for each step entity ID as step instance information instantiated from the step definition table 12. Here, “state” represents the state of the step entity, and includes “waiting for execution”, “executable”, “executing”, “completed”, and “automatic end”. "Awaiting execution" means that the step entity has been generated but cannot be executed, "Available" is waiting for work to start, "In progress" is executing work, and "Complete" is work Represents the completed state. “Automatic end” is used for a step entity whose “type” is “starting point” or “joining point”, and the step entity at the starting point or confluence is “executable” and immediately becomes “automatic end”. Processing moves to the next step entity.

ステップ実体遷移テーブル23は、ステップ定義遷移テーブル13からインスタンス化されたステップ実体の遷移情報として、互いに関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDを含んでいる。   The step entity transition table 23 includes workflow entity IDs associated with each other as step instance transition information instantiated from the step definition transition table 13, a step entity ID before transition, and a step entity ID after transition.

例外ワークフロー実体遷移テーブル24は、例外ワークフロー定義からインスタンス化されたワークフロー実体が、どのワークフロー実体のどのステップ実体から分岐し、どのステップ定義で合流するかの情報を保持する。具体的には、例外ワークフロー実体遷移テーブル24は、(例外の)ワークフロー実体ID、分岐元のワークフロー実体ID、分岐元のステップ実体ID、及び合流先のステップ定義IDを含んでいる。分岐元のIDは、後で、例外のワークフローがどこから呼び出されたかの履歴になる。   The exception workflow entity transition table 24 holds information on which workflow entity instantiated from the exception workflow definition branches from which step entity of which workflow entity and which step definition merges. Specifically, the exception workflow entity transition table 24 includes a (exception) workflow entity ID, a branch source workflow entity ID, a branch source step entity ID, and a merge destination step definition ID. The branch source ID is a history of where the exception workflow was called later.

ワークフロー処理装置30は、ユーザにワークフローを提供するものであり、前述したように、各部31〜37を備えている。なお、各部31〜37は、ワークフロー処理装置30全体の機能を各機能ブロックに分割した一例であり、全体として同様の機能をもつものであれば、異なる単位の機能ブロックに変形してもよい。例えば、各部31〜37は、記憶部31と、残りの各部32〜37をまとめた機能部(例、ワークフロー処理部)とに変形してもよい。この場合、例えば、記憶部31にワークフロー処理プログラムを保存し、図示しないCPUが記憶部31内のワークフロー処理プログラムを実行することにより、各部32〜37の機能をワークフロー処理装置30全体として実現してもよい。ワークフロー処理装置30全体として実現される機能は、例えば、以下の機能(f1)〜(f17)があり、実施形態の動作では、このような全体として実現される機能が各部32〜37に分担されて実現された一例を述べている。   The workflow processing apparatus 30 provides a workflow to the user, and includes the units 31 to 37 as described above. Each of the units 31 to 37 is an example in which the function of the entire workflow processing apparatus 30 is divided into functional blocks, and may be modified into functional blocks of different units as long as they have similar functions as a whole. For example, each unit 31 to 37 may be transformed into a storage unit 31 and a functional unit (for example, workflow processing unit) in which the remaining units 32 to 37 are combined. In this case, for example, the workflow processing program is stored in the storage unit 31, and a CPU (not shown) executes the workflow processing program in the storage unit 31, thereby realizing the functions of the units 32 to 37 as the entire workflow processing device 30. Also good. The functions realized as the entire workflow processing apparatus 30 include, for example, the following functions (f1) to (f17). In the operation of the embodiment, the functions realized as a whole are shared by the units 32 to 37. An example that was realized is described.

(f1) ユーザインターフェース装置40から送信されたワークフロー定義ID及び開始情報の入力を受け付ける第1の入力受付機能。   (f1) A first input reception function that receives input of the workflow definition ID and start information transmitted from the user interface device 40.

(f2) 開始情報とともに入力を受け付けたワークフロー定義IDがワークフロー定義テーブル11に存在するときに、ワークフロー実体IDを生成し、当該生成したワークフロー実体ID、ワークフロー定義ID及び状態として「実行中」を関連付けてワークフロー実体テーブル21に書き込むワークフロー実体テーブル書込機能。   (f2) When the workflow definition ID that has received an input together with the start information exists in the workflow definition table 11, a workflow entity ID is generated, and “in-execution” is associated as the generated workflow entity ID, workflow definition ID, and state. A workflow entity table writing function for writing to the workflow entity table 21.

(f3) 入力を受け付けたワークフロー定義IDについて、ステップ定義遷移テーブル13を検索し、当該検索結果のうち、先頭の遷移後のステップ定義IDを取得し、ステップ実体IDを生成し、先頭の遷移後のステップ定義IDについて、ステップ定義テーブル12を検索してタイプを取得し、生成したステップ実体IDと先頭の遷移後のステップ定義IDと、生成したワークフロー実体IDと、タイプと、状態として「実行可能」とを関連付けてステップ実体テーブル22に書き込むステップ実体テーブル書込機能。   (f3) Search the step definition transition table 13 for the workflow definition ID that has received the input, obtain the step definition ID after the first transition among the search results, generate the step entity ID, and after the first transition For the step definition ID, the type is obtained by searching the step definition table 12, and the generated step entity ID, the first transitioned step definition ID, the generated workflow entity ID, the type, and the status are “executable” Step entity table writing function for writing to the step entity table 22 in association with each other.

(f4) 生成したワークフロー実体ID、及び生成したステップ実体IDを遷移後のステップ実体IDとして関連付けてステップ実体遷移テーブル23に書き込むステップ実体遷移テーブル書込機能。   (f4) A step entity transition table writing function for associating the generated workflow entity ID and the generated step entity ID as the step entity ID after the transition and writing it in the step entity transition table 23.

(f5) ユーザインターフェース装置40から送信されたステップ実体ID及び開始情報を受け、ステップ実体テーブル22内でこのステップ実体IDに対応する状態が「実行可能」を示すとき、この「実行可能」を「実行中」に更新するステップ開始機能。   (f5) When the step entity ID and the start information transmitted from the user interface device 40 are received and the status corresponding to the step entity ID in the step entity table 22 indicates “executable”, this “executable” is set to “ Step start function to update to "Running".

(f6) ユーザインターフェース装置40から送信された例外のワークフロー定義ID、現在のワークフロー実体ID及び例外発生時のステップ実体IDの入力を受け付ける第2の入力受付機能。   (f6) A second input receiving function for receiving the input of the workflow definition ID of the exception transmitted from the user interface device 40, the current workflow entity ID, and the step entity ID when the exception occurs.

(f7) 現在のワークフロー実体ID及び例外発生時のステップ実体IDを受けると、ステップ実体IDについてステップ実体テーブル22によってタイプを判定する処理と、ステップ実体遷移テーブル23によって遷移を前に辿る処理とを再帰的に実行することにより、タイプが「開始点」のステップ実体IDを特定する開始点特定機能。   (f7) Upon receiving the current workflow entity ID and the step entity ID at the time of occurrence of the exception, the process of determining the type for the step entity ID by the step entity table 22 and the process of tracing the transition forward by the step entity transition table 23 A start point specifying function that specifies a step entity ID of the type “start point” by executing recursively.

(f8) 開始点特定機能により特定された「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、ステップ定義IDについてステップ定義テーブル12によってタイプを判定する処理と、ステップ定義遷移テーブル13によって遷移を後に辿る処理とを再帰的に実行することにより、タイプが「合流点」のステップ定義IDを特定する合流点特定機能。   (f8) Based on the step definition ID corresponding to the step entity ID of the “start point” specified by the start point specifying function, the step definition table 12 determines the type for the step definition ID, and the step definition transition table 13 The junction point specifying function that specifies the step definition ID of the type “Joint Point” by recursively executing the process of tracing the transition later.

(f9) 入力を受け付けた例外のワークフロー定義IDがワークフロー定義テーブル11に存在するときに、例外のワークフロー実体IDを生成し、当該生成した例外のワークフロー実体ID、例外のワークフロー定義ID及び状態として「実行中」を関連付けてワークフロー実体テーブル21に書き込む例外のワークフロー実体テーブル書込機能。   (f9) When the workflow definition ID of the exception for which the input is accepted exists in the workflow definition table 11, an exception workflow entity ID is generated, and the generated workflow entity ID, the workflow definition ID of the exception, and the status are “ Exception workflow entity table write function for writing to the workflow entity table 21 in association with “executing”.

(f10) 入力を受け付けた例外のワークフロー定義IDについて、ステップ定義遷移テーブル13を検索し、当該検索結果のうち、先頭の遷移後のステップ定義IDを取得し、例外のステップ実体IDを生成し、この先頭の遷移後のステップ定義IDに基づいて、ステップ定義テーブル12を検索してタイプを取得し、生成した例外のステップ実体IDと先頭の遷移後のステップ定義IDと、生成した例外のワークフロー実体IDと、タイプと、状態として「実行可能」とを関連付けてステップ実体テーブル22に書き込む例外のステップ実体テーブル書込機能。   (f10) The step definition transition table 13 is searched for the workflow definition ID of the exception that has received the input, the step definition ID after the first transition is acquired from the search result, and the step entity ID of the exception is generated, Based on the step definition ID after the first transition, the step definition table 12 is searched to obtain the type, the step entity ID of the generated exception, the step definition ID after the first transition, and the generated workflow entity of the exception Step entity table writing function for exceptions that writes ID, type, and status “executable” in the step entity table 22 in association with each other.

(f11) 生成した例外のワークフロー実体ID、生成した例外のステップ実体IDを遷移後のステップ実体IDとして関連付けてステップ実体遷移テーブル23に書き込む例外のステップ実体遷移テーブル書込機能。   (f11) A step entity transition table writing function for an exception that writes the workflow entity ID of the generated exception and the step entity ID of the generated exception to the step entity transition table 23 in association with the step entity ID after the transition.

(f12) 例外のワークフロー実体IDと、分岐元のワークフロー実体IDとしての現在のワークフロー実体IDと、分岐元のステップ実体IDとしての例外発生時のステップ実体IDと、合流先のステップ定義IDとしての「合流点」のステップ定義IDとを関連付けて例外ワークフロー実体遷移テーブル24に書き込む例外ワークフロー実体遷移テーブル書込機能。   (f12) The exception workflow entity ID, the current workflow entity ID as the branch source workflow entity ID, the step entity ID when the exception occurred as the branch source step entity ID, and the step definition ID as the merge destination An exception workflow entity transition table writing function for writing to the exception workflow entity transition table 24 in association with the step definition ID of “confluence”.

(f13) ユーザインターフェース装置40から送信されたステップ実体ID及び終了情報を受けると、ステップ実体テーブル22内でこのステップ実体IDの状態が「実行中」を示すとき、この状態を「実行中」から「完了」に更新するステップ終了機能。   (f13) Upon receipt of the step entity ID and the end information transmitted from the user interface device 40, when the state of the step entity ID indicates “in execution” in the step entity table 22, this state is changed from “in execution”. Step end function to update to “complete”.

(f14) 状態を「完了」に更新した後、当該更新した状態に対応するステップ定義IDを遷移前のステップ定義IDとした場合に、ステップ定義遷移テーブル13に遷移後のステップ定義IDがあるか否かを判定する遷移後ステップ判定機能。   (f14) Whether the step definition transition table 13 has the step definition ID after the transition when the step definition ID corresponding to the updated state is the step definition ID before the transition after the state is updated to “complete” A post-transition step determination function that determines whether or not.

(f15) この判定の結果、遷移後のステップ定義IDがある場合、当該遷移後のステップ定義IDに基づいてステップ定義テーブル12からタイプを取得し、このタイプが「通常」の場合、ステップ実体IDを生成し、得られたステップ実体ID、当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「通常」及び状態「実行可能」を関連付けてステップ実体テーブル22に書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDをステップ実体遷移テーブル23に書き込む通常タイプ処理機能。   (f15) If the result of this determination is that there is a step definition ID after transition, the type is acquired from the step definition table 12 based on the step definition ID after transition, and if this type is “normal”, the step entity ID And the obtained step entity ID, the step definition ID after the transition, the workflow entity ID, the type “normal”, and the state “executable” are written in the step entity table 22 and the associated workflow entity ID, A normal type processing function for writing the step entity ID before transition and the step entity ID after transition to the step entity transition table 23.

(f16) タイプが「開始点」の場合、ステップ実体IDを生成し、得られたステップ実体ID毎に当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「開始点」及び状態「自動終了」を関連付けてステップ実体テーブル22に書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDをステップ実体遷移テーブル23に書き込む開始点タイプ処理機能。   (f16) When the type is “start point”, a step entity ID is generated, and for each obtained step entity ID, the step definition ID after the transition, the workflow entity ID, the type “start point”, and the state “automatic end” Is written in the step entity table 22 and the associated workflow entity ID, the pre-transition step entity ID, and the post-transition step entity ID are written in the step entity transition table 23.

(f17) タイプが「合流点」の場合、ステップ実体IDを生成し、得られたステップ実体ID毎に当該遷移後のステップ定義ID、ワークフロー実体ID、タイプ「合流点」及び状態「実行待ち」をステップ実体テーブル22に書き込むと共に、関連付けたワークフロー実体ID、遷移前のステップ実体ID及び遷移後のステップ実体IDをステップ実体遷移テーブル23に書き込む合流点タイプ処理機能。   (f17) When the type is “joining point”, a step entity ID is generated, and for each obtained step entity ID, the step definition ID after the transition, the workflow entity ID, the type “joining point”, and the state “waiting for execution” , A merge point type processing function that writes the associated workflow entity ID, the pre-transition step entity ID, and the post-transition step entity ID to the step entity transition table 23.

次に、以上のような機能を分担して実現するワークフロー処理装置30の各部31〜37について述べる。   Next, each unit 31 to 37 of the workflow processing apparatus 30 that shares and realizes the above functions will be described.

記憶部31は、各部32〜37から読出/書込可能なメモリ(記憶手段)である。なお、図面の便宜上、記憶部31は、各部32,33のみから適宜、読出/書込可能なように示されるが、実際には他の各部34〜37からも適宜、読出/書込可能となっている。   The storage unit 31 is a memory (storage unit) that can be read / written from the units 32 to 37. For convenience of drawing, the storage unit 31 is shown to be appropriately readable / writable only from each of the units 32 and 33, but actually, it can be appropriately read / written from the other units 34 to 37 as well. It has become.

ユーザインターフェース通信部32は、ユーザインターフェース装置40から送信された命令及び/又は情報を記憶部41に書き込んだ後、記憶部41内の命令及び/又は情報をワークフロー制御部33へ伝達する。また、ユーザインターフェース通信部32は、ワークフロー制御部33より取得した情報をユーザインターフェース装置40に伝達する。   The user interface communication unit 32 writes the command and / or information transmitted from the user interface device 40 to the storage unit 41 and then transmits the command and / or information in the storage unit 41 to the workflow control unit 33. In addition, the user interface communication unit 32 transmits information acquired from the workflow control unit 33 to the user interface device 40.

ワークフロー制御部33は、ユーザインターフェース通信部32から受けた命令及び/又は情報を実体生成部34又は合流先特定部37へ伝達し、実体生成部34又は合流先特定部37から取得した情報をユーザインターフェース通信部32に伝達するものである。   The workflow control unit 33 transmits the command and / or information received from the user interface communication unit 32 to the entity generation unit 34 or the join destination specifying unit 37, and the information acquired from the entity generation unit 34 or the join destination specifying unit 37 is transmitted to the user. This is transmitted to the interface communication unit 32.

実体生成部34は、ワークフロー定義などの定義情報を基に実体の生成に必要な情報を取得し、実体を生成する機能をもっている。   The entity generation unit 34 has a function of acquiring information necessary for generating an entity based on definition information such as a workflow definition and generating the entity.

定義情報登録/取得部35は、ワークフロー定義やステップ定義などの定義情報の登録や取得を行う機能をもっている。   The definition information registration / acquisition unit 35 has a function of registering and acquiring definition information such as workflow definition and step definition.

実体情報登録/取得部36は、ワークフロー実体やステップ実体などの実体情報の登録や取得を行う機能をもっている。   The entity information registration / acquisition unit 36 has a function of registering and acquiring entity information such as a workflow entity and a step entity.

合流先特定部(開始点特定手段及び合流点特定手段)37は、例外ワークフロー定義を組み込む際に、例外ワークフロー定義からの合流先となるステップ定義を特定する機能をもっている。   The merge destination identifying unit (start point identifying means and merge point identifying means) 37 has a function of identifying a step definition that becomes a merge destination from the exception workflow definition when incorporating the exception workflow definition.

ユーザインターフェース装置40は、情報や命令をワークフロー処理装置30に入力し、ワークフロー処理装置30から受けた情報を出力する装置である。ワークフローシステムが1台のコンピュータの場合、ユーザインターフェース装置40は、キーボード、マウス及び表示装置等の入出力装置である。ワークフローシステムがクライアントサーバシステム等の複数台のコンピュータの場合、ユーザインターフェース装置40は、クライアント端末である。   The user interface device 40 is a device that inputs information and instructions to the workflow processing device 30 and outputs information received from the workflow processing device 30. When the workflow system is a single computer, the user interface device 40 is an input / output device such as a keyboard, a mouse, and a display device. When the workflow system is a plurality of computers such as a client server system, the user interface device 40 is a client terminal.

次に、以上のように構成されたワークフローシステムの動作を説明する。なお、以下の説明は、(動作の概要)、(ワークフローの開始時)、(ステップの開始時)、(例外ワークフローの起動時)、(ステップの終了時)及び(処理の詳細)の順に述べる。   Next, the operation of the workflow system configured as described above will be described. In addition, the following description will be described in the order of (Operation Summary), (Workflow Start), (Step Start), (Exception Workflow Start), (Step End), and (Process Details). .

(動作の概要)
ワークフロー処理装置30は、ワークフロー作成者によるユーザインターフェース装置40の操作により、ワークフロー定義IDをユーザインターフェース装置40から受けると、このワークフロー定義IDを含むワークフロー定義テーブル11を作成して定義情報格納部10に書き込む。
(Overview of operation)
When the workflow creator 30 receives the workflow definition ID from the user interface device 40 by the operation of the user interface device 40 by the workflow creator, the workflow processing device 30 creates the workflow definition table 11 including the workflow definition ID and stores it in the definition information storage unit 10. Write.

また、ワークフロー処理装置30は、ワークフロー作成者によるユーザインターフェース装置40の操作により、互いに関連付けたステップ定義ID、ワークフロー定義ID及びタイプをユーザインターフェース装置40から受けると、ステップ定義ID毎にワークフロー定義ID及びタイプを含むステップ定義テーブル12を作成して定義情報格納部10に書き込む。   In addition, when the workflow processing apparatus 30 receives the step definition ID, the workflow definition ID, and the type associated with each other from the user interface apparatus 40 by the operation of the user interface apparatus 40 by the workflow creator, the workflow definition ID and the workflow definition ID are set for each step definition ID. A step definition table 12 including types is created and written in the definition information storage unit 10.

さらに、ワークフロー処理装置30は、ワークフロー作成者によるユーザインターフェース装置40の操作により、互いに関連付けたワークフロー定義ID、遷移前のステップ定義ID及び遷移後のステップ定義IDをユーザインターフェース装置40から受けると、互いに関連付けたワークフロー定義ID、遷移前のステップ定義ID及び遷移後のステップ定義IDを含むステップ定義遷移テーブル13を作成して定義情報格納部10に書き込む。   Furthermore, when the workflow processing apparatus 30 receives the workflow definition ID, the step definition ID before the transition, and the step definition ID after the transition associated with each other by the operation of the user interface apparatus 40 by the workflow creator, A step definition transition table 13 including the associated workflow definition ID, the step definition ID before transition, and the step definition ID after transition is created and written in the definition information storage unit 10.

次に、作業者はワークフロー定義の処理順序に従って作業を実行する。このとき、ワークフロー処理装置30は、各定義テーブル11〜13の情報を基に作業実行時に実体の生成に必要な情報を取得し、実際の作業状況を示す情報を実体情報格納部20内のワークフロー実体テーブル21、ステップ実体テーブル22及びステップ実体遷移テーブル23に格納する。   Next, the worker performs the work according to the processing order of the workflow definition. At this time, the workflow processing apparatus 30 acquires information necessary for generating an entity at the time of performing work based on the information in the definition tables 11 to 13, and uses the workflow information in the entity information storage unit 20 as information indicating the actual work status. Stored in the entity table 21, step entity table 22, and step entity transition table 23.

また、ステップ実体の作業で例外処理が発生した場合、ワークフロー処理装置30は、例外ワークフローを示すワークフロー定義IDが指定されると、基本ワークフロー実体に例外ワークフローの実体を追加して、実行中のワークフローを更新する。また、合流先特定部37は、例外ワークフローの実行後に合流する「合流点」のステップを特定し、特定したステップを示すステップ定義IDを「合流先のステップ定義ID」として例外ワークフロー実体遷移テーブル24に格納する。例外ワークフロー実体のステップと基本ワークフロー実体のステップはそれぞれ実行され、実行後、「合流点」のステップで合流する。   When an exception process occurs in the work of the step entity, the workflow processing apparatus 30 adds the exception workflow entity to the basic workflow entity and designates the workflow being executed when the workflow definition ID indicating the exception workflow is designated. Update. Further, the joining destination specifying unit 37 specifies the “joining point” step that joins after execution of the exception workflow, and sets the step definition ID indicating the specified step as the “joining step definition ID” as the exception workflow entity transition table 24. To store. The steps of the exception workflow entity and the basic workflow entity are executed, and after execution, they merge at the “confluence” step.

(ワークフローの開始時)
ユーザインターフェース装置40は、ユーザによる画面上の操作により、ワークフロー定義ID及び開始情報が入力される。なお、ワークフロー定義ID及び開始情報は、画面上の「ワークフローの開始」ボタンのクリック操作により、予めワークフローの開始ボタンに関連付けて記憶されたワークフロー定義ID及び開始情報を入力する構成としてもよい。
(At the start of the workflow)
The user interface device 40 is input with a workflow definition ID and start information by a user operation on the screen. The workflow definition ID and start information may be configured to input the workflow definition ID and start information stored in advance in association with the workflow start button by clicking the “start workflow” button on the screen.

いずれにしてもユーザインターフェース装置40は、入力されたワークフロー定義ID及び開始情報をワークフロー処理装置30に送信する。   In any case, the user interface device 40 transmits the input workflow definition ID and start information to the workflow processing device 30.

ワークフロー処理装置30においては、ユーザインターフェース通信部32が、この送信されたワークフロー定義ID及び開始情報の入力を受け付けると、ワークフロー定義ID及び開始情報を記憶部31に書き込んだ後、記憶部31内のワークフロー定義ID及び開始情報をワークフロー制御部33に送出する。   In the workflow processing device 30, when the user interface communication unit 32 receives the input of the transmitted workflow definition ID and start information, the workflow definition ID and start information are written in the storage unit 31 and then stored in the storage unit 31. The workflow definition ID and start information are sent to the workflow control unit 33.

ワークフロー制御部33は、ワークフロー定義ID及び開始情報を受けると、このワークフロー定義IDを実体生成部34に送出する。   Upon receiving the workflow definition ID and the start information, the workflow control unit 33 sends this workflow definition ID to the entity generation unit 34.

実体生成部34は、図6に示すように、受けたワークフロー定義IDを受けると(S1)、このワークフロー定義IDに基づいて定義情報登録/取得部35を介して定義情報格納部10のワークフロー定義テーブル13を検索し、このワークフロー定義テーブル13からワークフロー定義情報としてワークフロー定義IDを取得する(S2)。   As shown in FIG. 6, upon receiving the received workflow definition ID (S1), the entity generation unit 34 receives the workflow definition ID from the definition information storage unit 10 via the definition information registration / acquisition unit 35 based on the workflow definition ID. The table 13 is searched, and a workflow definition ID is acquired as workflow definition information from the workflow definition table 13 (S2).

実体生成部34は、一意な値であるワークフロー実体IDを生成し、得られたワークフロー実体ID、ワークフロー定義ID及び状態「実行中」を実体情報登録/取得部36によりワークフロー実体テーブル21に登録し(S3)、ワークフロー実体IDの登録完了をワークフロー制御部33に通知する。   The entity generation unit 34 generates a workflow entity ID that is a unique value, and registers the obtained workflow entity ID, workflow definition ID, and state “running” in the workflow entity table 21 by the entity information registration / acquisition unit 36. (S3) The workflow control unit 33 is notified of the completion of registration of the workflow entity ID.

ワークフロー制御部33は、通知されたワークフロー実体IDを実体生成部34に送出する。   The workflow control unit 33 sends the notified workflow entity ID to the entity generation unit 34.

実体生成部34では、一意な値であるステップ実体IDを生成し、受けたワークフロー実体IDに対応するワークフロー定義IDを含むステップ定義遷移テーブル13の最初に定義されている遷移後のステップ定義の情報を取得し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ及び状態を互いに関連付けてステップ実体テーブル22に登録すると共に、ワークフロー実体ID及び遷移前後のステップ実体IDからなるステップ実体の遷移情報(遷移元はNULL)をステップ実体遷移テーブル23に登録し、登録完了をワークフロー制御部33に通知する。   The entity generation unit 34 generates a step entity ID which is a unique value, and information on the step definition after the transition defined at the beginning of the step definition transition table 13 including the workflow definition ID corresponding to the received workflow entity ID. And the obtained step entity ID, step definition ID, workflow entity ID, type, and state are associated with each other and registered in the step entity table 22, and the step entity ID including the workflow entity ID and the step entity ID before and after the transition is registered. The transition information (transition source is NULL) is registered in the step entity transition table 23, and the completion of registration is notified to the workflow control unit 33.

(ステップの開始時の動作)
ユーザインターフェース装置40は、ユーザによる画面上の操作により、ステップの開始を実行すると、開始するステップのステップ実体IDと開始情報をワークフロー処理装置30に送信する。
(Operation at the start of a step)
When the user interface device 40 executes the start of the step by the operation on the screen by the user, the user interface device 40 transmits the step entity ID and start information of the step to be started to the workflow processing device 30.

ワークフロー処理装置30においては、ユーザインターフェース通信部32が、このステップ実体IDと開始情報を記憶部31に書き込んだ後、記憶部31内のステップ実体IDと開始情報をワークフロー制御部33に送出する。   In the workflow processing device 30, the user interface communication unit 32 writes the step entity ID and start information in the storage unit 31, and then sends the step entity ID and start information in the storage unit 31 to the workflow control unit 33.

ワークフロー制御部33では、ステップ実体IDと開始情報を受けると、このステップ実体IDに基づいて、実体情報登録/取得部36を介して実体情報格納部20内のステップ実体テーブル22を検索し、このステップ実体IDに対応する「状態」が「実行可能」であれば、その「状態」を「実行中」に更新し、更新完了をワークフロー制御部33に通知する。   When the workflow control unit 33 receives the step entity ID and the start information, the workflow control unit 33 searches the step entity table 22 in the entity information storage unit 20 via the entity information registration / acquisition unit 36 based on the step entity ID. If the “state” corresponding to the step entity ID is “executable”, the “state” is updated to “being executed”, and the update completion is notified to the workflow control unit 33.

(例外ワークフローの起動時の動作)
ユーザインターフェース装置40は、ユーザによる画面上の操作により、例外発生を実行すると、例外ワークフローを示すワークフロー定義ID(以下、例外のワークフロー定義IDともいう)と、現在(例外発生時)のワークフロー実体ID、例外が発生したステップのステップ実体ID(以下、例外発生時のステップ実体IDともいう)が入力される。例外の発生は、画面上のボタン操作やユーザが入力した値などにより発生し、例外の発生状況毎に例外のワークフロー定義IDがアプリケーション上で設定されているものとする。
(Operation when exception workflow is started)
When the user interface device 40 generates an exception by an operation on the screen by the user, the workflow definition ID indicating the exception workflow (hereinafter also referred to as an exception workflow definition ID) and the current workflow entity ID (when the exception occurs) The step entity ID of the step where the exception occurred (hereinafter also referred to as the step entity ID when the exception occurred) is input. The occurrence of an exception is caused by a button operation on the screen, a value input by the user, or the like, and an exception workflow definition ID is set on the application for each exception occurrence situation.

いずれにしても、ユーザインターフェース装置40は、入力された例外のワークフロー定義ID、現在のワークフロー実体ID及びステップ実体IDをワークフロー処理装置30に送信する。   In any case, the user interface device 40 transmits the input workflow definition ID of the exception, the current workflow entity ID, and the step entity ID to the workflow processing device 30.

ワークフロー処理装置30においては、ユーザインターフェース通信部32が、送信された例外のワークフロー定義ID、現在のワークフロー実体ID及びステップ実体IDの入力を受け付けると、これら例外のワークフロー定義ID、現在のワークフロー実体ID及びステップ実体IDを記憶部31に書き込むと共に、記憶部31内の例外のワークフロー定義ID、現在のワークフロー実体ID及び例外発生時のステップ実体IDをワークフロー制御部33に送出する。   In the workflow processing device 30, when the user interface communication unit 32 receives input of the transmitted workflow definition ID, current workflow entity ID, and step entity ID, the exception workflow definition ID and current workflow entity ID are received. And the step entity ID are written in the storage unit 31, and the workflow definition ID of the exception in the storage unit 31, the current workflow entity ID, and the step entity ID at the time of occurrence of the exception are sent to the workflow control unit 33.

ワークフロー制御部33は、例外のワークフロー定義ID、現在のワークフロー実体ID及びステップ実体IDを受けると、現在のワークフロー実体IDと例外発生時のステップ実体IDを合流先特定部37に送出する。   Upon receiving the exception workflow definition ID, the current workflow entity ID, and the step entity ID, the workflow control unit 33 sends the current workflow entity ID and the step entity ID at the time of occurrence of the exception to the joining destination specifying unit 37.

合流先特定部37は、ワークフロー実体ID及びステップ実体IDを受けると、合流先となるステップ定義(タイプが「合流点」のステップ定義ID)を特定する。なお、合流先となるステップ定義IDを特定する動作の詳細は後述する。また、合流先のステップ定義IDが存在しない場合、合流先特定部37は戻り値として「NULL」をワークフロー制御部33に送出し、ワークフロー制御部33は、NULLを受けると、例外ワークフローを起動せず、例外ワークフローの起動エラーをユーザインターフェース通信部32に通知して処理を終了する。   Upon receiving the workflow entity ID and the step entity ID, the joining destination specifying unit 37 specifies the step definition (step definition ID of the type “joining point”) that is the joining destination. The details of the operation for specifying the step definition ID to be a merge destination will be described later. Further, when the step definition ID of the merge destination does not exist, the merge destination specifying unit 37 sends “NULL” as a return value to the workflow control unit 33, and when the workflow control unit 33 receives NULL, the workflow control unit 33 activates the exceptional workflow. First, an exception workflow activation error is notified to the user interface communication unit 32, and the process ends.

一方、合流先のステップ定義IDが存在する場合、合流先特定部37は、戻り値として合流先のステップ定義IDをワークフロー制御部33に送出する。   On the other hand, if there is a step definition ID of the joining destination, the joining destination specifying unit 37 sends the step definition ID of the joining destination to the workflow control unit 33 as a return value.

ワークフロー制御部33は、合流先のステップ定義IDを受けると、例外のワークフロー定義IDを実体生成部34に送出する。   When the workflow control unit 33 receives the step definition ID of the merge destination, it sends an exceptional workflow definition ID to the entity generation unit 34.

実体生成部34は、一意な値であるワークフロー実体IDを生成し、得られた例外のワークフロー実体ID、ワークフロー定義ID及び状態をワークフロー実体テーブル21に登録し、この例外のワークフロー実体IDの登録完了をワークフロー制御部33に通知する。   The entity generation unit 34 generates a workflow entity ID that is a unique value, registers the obtained workflow entity ID, workflow definition ID, and status of the obtained exception in the workflow entity table 21, and completes the registration of the workflow entity ID of the exception. Is notified to the workflow control unit 33.

ワークフロー制御部33は、例外のワークフロー実体IDの登録完了を受けると、例外のワークフロー実体IDを実体生成部34に送出する。   Upon receiving the registration completion of the exceptional workflow entity ID, the workflow control unit 33 sends the exceptional workflow entity ID to the entity generation unit 34.

実体生成部34は、この例外のワークフロー実体IDに対応するワークフロー定義IDを含むステップ定義遷移テーブル13の最初に定義されている遷移後のステップ定義の情報を取得し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ及び状態を互いに関連付けてステップ実体テーブル22に登録すると共に、例外のワークフロー実体ID、例外発生のステップ実体ID(遷移前)及び生成したステップ実体ID(遷移後)からなるステップ実体の遷移情報をステップ実体遷移テーブル23に登録し、登録完了をワークフロー制御部33に通知する。   The entity generation unit 34 acquires information on the step definition after the transition defined at the beginning of the step definition transition table 13 including the workflow definition ID corresponding to the workflow entity ID of the exception, and obtains the obtained step entity ID, The step definition ID, the workflow entity ID, the type, and the state are associated with each other and registered in the step entity table 22, and the exception workflow entity ID, the exception occurrence step entity ID (before transition), and the generated step entity ID (after transition) The transition information of the step entity is registered in the step entity transition table 23, and the registration completion is notified to the workflow control unit 33.

ワークフロー制御部33では、例外のワークフロー実体ID、分岐元のワークフロー実体ID、分岐元のステップ実体ID及び合流先のステップ定義IDからなる遷移情報を実体情報登録/取得部36を介して実体情報格納部20の例外ワークフロー実体遷移テーブル24に登録する。   The workflow control unit 33 stores the transition information including the exception workflow entity ID, the branch source workflow entity ID, the branch source step entity ID, and the destination step definition ID via the entity information registration / acquisition unit 36. Registered in the exception workflow entity transition table 24 of the unit 20.

ワークフロー制御部33は、例外ワークフローの起動完了をユーザインターフェース通信部32に通知する。   The workflow control unit 33 notifies the user interface communication unit 32 that the exception workflow has been started.

(ステップの終了時の動作)
[ステップの終了]
ユーザインターフェース装置40は、ユーザによる画面上の操作により、ステップの終了を実行すると、終了するステップのステップ実体ID及び終了情報をワークフロー処理装置30に送信する。
(Operation at the end of the step)
[End of step]
When the user interface device 40 executes the end of the step by an operation on the screen by the user, the user interface device 40 transmits the step entity ID and the end information of the step to be ended to the workflow processing device 30.

ワークフロー処理装置30においては、ユーザインターフェース通信部32が、このステップ実体ID及び終了情報をワークフロー制御部33に送出する。   In the workflow processing device 30, the user interface communication unit 32 sends the step entity ID and the end information to the workflow control unit 33.

ワークフロー制御部33は、ステップ実体ID及び終了情報を受けると、このステップ実体IDに基づいて、実体情報登録/取得部36を介して実体情報格納部20内のステップ実体テーブル22を検索し、このステップ実体IDに対応する「状態」を「完了」に更新し、更新完了をワークフロー制御部33に通知する。   Upon receiving the step entity ID and the end information, the workflow control unit 33 searches the step entity table 22 in the entity information storage unit 20 via the entity information registration / acquisition unit 36 based on the step entity ID, The “status” corresponding to the step entity ID is updated to “completed”, and the update completion is notified to the workflow control unit 33.

[次ステップの生成]
ワークフロー制御部33は、ステップ実体ID及び終了情報を実体生成部34に送出する。
[Generate Next Step]
The workflow control unit 33 sends the step entity ID and the end information to the entity generation unit 34.

実体生成部34は、ステップ実体ID及び終了情報を受けると、受けたステップ実体IDに対応するステップ定義IDを遷移前のステップ定義IDとした場合に、遷移後のステップ定義ID(次に実行するステップのステップ定義ID)がステップ定義遷移テーブル13にあるか否かを判定する。この判定の結果、遷移後のステップ定義IDがある場合、実体生成部34は、この遷移後のステップ定義IDをステップ定義遷移テーブル13から取得し、遷移後のステップ定義IDのステップ定義の情報を取得し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ及び状態を互いに関連付けてステップ実体テーブル22に登録すると共に、ワークフロー実体ID、終了したステップ実体ID(遷移前)と次に実行するステップ実体ID(遷移後)からなるステップ実体の遷移情報をステップ実体遷移テーブル23に登録し、登録完了をワークフロー制御部33に通知する。   Upon receiving the step entity ID and the end information, the entity generation unit 34 sets the step definition ID after the transition (to be executed next) when the step definition ID corresponding to the received step entity ID is the step definition ID before the transition. It is determined whether or not the step definition ID of the step is in the step definition transition table 13. As a result of this determination, if there is a step definition ID after the transition, the entity generation unit 34 acquires the step definition ID after the transition from the step definition transition table 13, and obtains the step definition information of the step definition ID after the transition. The acquired step entity ID, step definition ID, workflow entity ID, type, and status are associated with each other and registered in the step entity table 22, and the workflow entity ID, the completed step entity ID (before transition) and the next The transition information of the step entity consisting of the step entity ID to be executed (after the transition) is registered in the step entity transition table 23, and the registration completion is notified to the workflow control unit 33.

[ワークフローの終了]
実体生成部34は、[次ステップの生成]の判定処理で「遷移後のステップ定義IDが無い(次の実行ステップ無し)」と判定した場合、実体情報登録/取得部36を介して実体情報格納部20のワークフロー実体テーブル21で、現在のワークフロー実体IDに対応する「状態」を「完了」に更新し、更新完了をワークフロー制御部33に通知する。これにより、ワークフローの処理が終了する。
[End workflow]
If the entity generation unit 34 determines that “there is no step definition ID after transition (no next execution step)” in the [next step generation] determination process, the entity generation unit 34 transmits the entity information via the entity information registration / acquisition unit 36. The “status” corresponding to the current workflow entity ID is updated to “completed” in the workflow entity table 21 of the storage unit 20, and the update completion is notified to the workflow control unit 33. Thereby, the processing of the workflow ends.

(各種処理の詳細)
次に、以上の動作のうち、実体生成部34による[次ステップ生成]の動作と、合流先特定部37による[開始点の特定]及び[合流点の特定]の動作を詳細に説明する。
(Details of various processes)
Next, among the operations described above, the operation of [next step generation] by the entity generation unit 34 and the operations of [specification of start point] and [specification of junction point] by the junction destination identification unit 37 will be described in detail.

[次ステップ生成の詳細]
実体生成部34は、図7に示すように、ステップ実体ID(ワークフローの開始時点ではNULL)及び終了情報をワークフロー制御部33から受ける(S11)。
[Details of next step generation]
As shown in FIG. 7, the entity generation unit 34 receives a step entity ID (NULL at the start of the workflow) and end information from the workflow control unit 33 (S11).

実体生成部34は、ステップ実体ID及び終了情報を受けると、受けたステップ実体IDに対応するステップ定義IDを実体情報格納部20のステップ実体テーブル22から実体情報登録/取得部36により取得する。   Upon receiving the step entity ID and the end information, the entity generation unit 34 acquires the step definition ID corresponding to the received step entity ID from the step entity table 22 of the entity information storage unit 20 by the entity information registration / acquisition unit 36.

実体生成部34は、取得したステップ定義IDを遷移前のステップ定義IDとした場合に、定義情報登録/取得部35を介して、遷移後のステップ定義ID(次に実行するステップのステップ定義ID)が定義情報格納部10内のステップ定義遷移テーブル13にあるか否かを判定する(S12)。   When the acquired step definition ID is used as the step definition ID before transition, the entity generation unit 34 sends the step definition ID after transition (step definition ID of the next step to be executed) via the definition information registration / acquisition unit 35. ) Is in the step definition transition table 13 in the definition information storage unit 10 (S12).

ステップS12の判定の結果、遷移後のステップ定義IDがない場合には、実体生成部34は、現在のワークフロー実体IDをもとに実体情報登録/取得部36を介して実体情報格納部20の例外ワークフロー実体遷移テーブル24を参照し、合流先のステップ定義IDがあるか否かを判定し(S13)、合流先のステップ定義IDが無い場合にはステップS27に進んで処理を抜け、合流先のステップ定義IDがある場合にはステップS21に進む。   If the result of determination in step S12 is that there is no step definition ID after transition, the entity generation unit 34 stores the entity information storage unit 20 in the entity information registration / acquisition unit 36 based on the current workflow entity ID. Referring to the exception workflow entity transition table 24, it is determined whether or not there is a step definition ID of the merge destination (S13). If there is no step definition ID of the merge destination, the process proceeds to step S27 and the process is exited. If there is a step definition ID, the process proceeds to step S21.

また、ステップS12の判定の結果、遷移後のステップ定義IDがある場合には、実体生成部34は、定義情報登録/取得部35を介して定義情報格納部10のステップ定義テーブル12から当該遷移後のステップ定義IDに対応する「タイプ」を取得する。   If the result of determination in step S12 is that there is a post-transition step definition ID, the entity generation unit 34 transfers the transition from the step definition table 12 of the definition information storage unit 10 via the definition information registration / acquisition unit 35. The “type” corresponding to the later step definition ID is acquired.

実体生成部34は、取得したタイプが「通常」、「開始点」又は「合流点」のいずれであるかを判定する(S14)。   The entity generation unit 34 determines whether the acquired type is “normal”, “start point”, or “confluence” (S14).

ステップS14の判定の結果、タイプが「通常」の場合、実体生成部34は、遷移後のステップ定義IDに対応するステップ定義テーブル12の情報からステップ実体を生成し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ及び状態「実行可能」を実体情報登録/取得部36により実体情報格納部20のステップ実体テーブル22に登録する(S15)。   As a result of the determination in step S14, when the type is “normal”, the entity generation unit 34 generates a step entity from the information in the step definition table 12 corresponding to the step definition ID after the transition, and the obtained step entity ID, The step definition ID, workflow entity ID, type, and state “executable” are registered in the step entity table 22 of the entity information storage unit 20 by the entity information registration / acquisition unit 36 (S15).

また、実体生成部34は、ワークフロー実体ID、終了したステップ実体ID(遷移前)と次に実行するステップ実体ID(遷移後)からなる遷移情報を、実体情報登録/取得部36により実体情報格納部20のステップ実体遷移テーブル23に登録し(S16)、処理を抜ける(S17)。   In addition, the entity generation unit 34 stores the entity information by the entity information registration / acquisition unit 36 with the transition information including the workflow entity ID, the completed step entity ID (before transition), and the next step entity ID (after transition). It registers in the step entity transition table 23 of the unit 20 (S16) and exits the process (S17).

ステップS14の判定の結果、タイプが「開始点」の場合、実体生成部34は、遷移後のステップ定義IDに対応するステップ定義テーブル12の情報からステップ実体を生成し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ「開始点」及び状態「自動終了」を実体情報登録/取得部36により実体情報格納部20のステップ実体テーブル22に登録する(S18)。   As a result of the determination in step S14, when the type is “starting point”, the entity generation unit 34 generates a step entity from the information in the step definition table 12 corresponding to the step definition ID after the transition, and the obtained step entity ID The step definition ID, the workflow entity ID, the type “start point”, and the state “automatic end” are registered in the step entity table 22 of the entity information storage unit 20 by the entity information registration / acquisition unit 36 (S18).

実体生成部34は、ワークフロー実体ID、終了したステップ実体ID(遷移前)と「開始点」のステップ実体ID(遷移後)からなる遷移情報を、実体情報登録/取得部36を介して実体情報格納部20のステップ実体遷移テーブル23に登録する(S19)。   The entity generation unit 34 uses the entity information registration / acquisition unit 36 to obtain the transition information including the workflow entity ID, the completed step entity ID (before the transition), and the “starting point” step entity ID (after the transition). Register in the step entity transition table 23 of the storage unit 20 (S19).

実体生成部34は、次のステップに遷移するため、「開始点」のステップ実体IDを終了するステップのステップ実体IDとして、再度ステップS12から処理を実行する(S20)。   In order to make a transition to the next step, the entity generation unit 34 executes the processing from step S12 again as the step entity ID of the step to end the step entity ID of “starting point” (S20).

ステップS14の判定の結果、タイプが「合流点」の場合、又はステップS13の判定の結果、合流先のステップ定義IDがある場合には、実体生成部34は、「合流点」のステップ定義IDに対応するステップ実体IDがステップ実体テーブル13に存在するか否かを判定する(S21)。   As a result of the determination in step S14, if the type is “joining point”, or if the result of the determination in step S13 is that there is a step definition ID of the join destination, the entity generation unit 34 sets the step definition ID of “joining point”. It is determined whether or not the step entity ID corresponding to is present in the step entity table 13 (S21).

ステップS21の判定の結果、「合流点」のステップ実体IDが存在する場合、ステップS23に進む。   As a result of the determination in step S21, if the step entity ID of “joining point” exists, the process proceeds to step S23.

実体生成部34は、ステップS21の判定の結果、ステップ実体IDが存在しなければ、「合流点」のステップ定義IDに対応するステップ定義テーブル12の情報からステップ実体を生成し、得られたステップ実体ID、ステップ定義ID、ワークフロー実体ID、タイプ「合流点」及び状態「実行待ち」を実体情報登録/取得部36により実体情報格納部20のステップ実体テーブル22に登録する(S22)。   As a result of the determination in step S21, if the step entity ID does not exist, the entity generation unit 34 generates a step entity from the information in the step definition table 12 corresponding to the step definition ID of “joining point”, and the obtained step The entity ID, step definition ID, workflow entity ID, type “confluence”, and state “waiting for execution” are registered in the step entity table 22 of the entity information storage unit 20 by the entity information registration / acquisition unit 36 (S22).

実体生成部34は、ワークフロー実体ID、終了したステップ実体ID(遷移前)と「合流点」のステップ実体ID(遷移後)からなる遷移情報を実体情報登録/取得部36により実体情報格納部20のステップ実体遷移テーブル23に登録する(S23)。   The entity generation unit 34 uses the entity information registration / acquisition unit 36 to store the transition information including the workflow entity ID, the completed step entity ID (before transition), and the step entity ID “after transition” (after transition). Are registered in the step entity transition table 23 (S23).

実体生成部34は、「合流点」のステップ実体に合流すべきステップ実体が全て完了しているか否かを判定する(S24)。   The entity generation unit 34 determines whether or not all step entities to be merged with the “merging point” step entity have been completed (S24).

実体生成部34は、ステップS24の判定の結果、全て完了している場合、ステップ実体テーブル23における「合流点」のステップ実体IDに対応する「状態」を「実行可能」に更新する(「状態」はすぐに「自動終了」になる)(S25)。   If all the results of the determination in step S24 are completed, the entity generation unit 34 updates the “state” corresponding to the step entity ID of “confluence” in the step entity table 23 to “executable” (“state”). "Is immediately" automatic end ") (S25).

実体生成部34は、次のステップに遷移するため、「合流点」のステップ実体IDを終了するステップ実体IDとして、再度ステップ12から実行する(S26)。   In order to make a transition to the next step, the entity generation unit 34 executes again from step 12 as a step entity ID for ending the step entity ID of “joining point” (S26).

一方、ステップS24の判定の結果、否の場合には、実体生成部34は、「合流点」のステップ実体IDに対応する「状態」が「実行待ち」のまま処理を抜ける(S27)。   On the other hand, if the result of determination in step S24 is negative, the entity generation unit 34 exits the process while the “state” corresponding to the step entity ID of “joining point” remains “waiting for execution” (S27).

(合流先特定部37の処理)
合流先特定部37は、現在(例外発生時)のワークフロー実体ID及び例外発生時のステップ実体IDをワークフロー制御部33から受けると、このステップ実体IDに基づいて、[開始点のステップ実体の特定]の処理を再帰的に実行し、例外発生時のステップ実体IDを例外範囲に含む「開始点」のステップ実体のステップ定義IDを取得する。
(Process of the merge destination specifying unit 37)
Upon receiving the current workflow entity ID (when an exception occurs) and the step entity ID when the exception occurs from the workflow control unit 33, the merging destination identifying unit 37, based on this step entity ID, specifies the starting step step entity. ] Is recursively executed, and the step definition ID of the “starting point” step entity including the step entity ID at the time of occurrence of the exception in the exception range is acquired.

概要としては、図8(a)に示すように、例外発生時のステップ実体から遷移を前に辿り、(開始点・合流点の対が)閉じていない最初の「開始点」のステップ実体を特定する処理である。   As an outline, as shown in FIG. 8 (a), the transition from the step entity at the time of occurrence of the exception is traced forward, and the first “starting point” step entity that is not closed (start point / confluence point pair) is This is the process to identify.

合流先特定部37は、「開始点」のステップ定義IDに基づいて、[合流点のステップ定義の特定]の処理を再帰的に実行し、例外発生時のステップ実体に対する合流先のステップ定義IDを特定する。   Based on the step definition ID of “starting point”, the joining destination specifying unit 37 recursively executes the process of “specifying the step definition of the joining point”, and the step definition ID of the joining destination for the step entity at the time of occurrence of the exception Is identified.

概要としては、図8(b)に示すように、「開始点」のステップ定義から遷移を後ろに辿り、(開始点・合流点の対が)閉じていない最初の「合流点」のステップ定義を特定する処理である。   As an outline, as shown in FIG. 8B, the transition is traced backward from the step definition of “starting point”, and the step definition of the first “merging point” that is not closed (the pair of the starting point and the merging point) is closed. Is the process of identifying

[開始点のステップ実体の特定]
合流先特定部37は、ステップ実体IDに対応する「タイプ」をステップ実体テーブル22から判定する。
[Identify the starting step entity]
The joining destination specifying unit 37 determines the “type” corresponding to the step entity ID from the step entity table 22.

この判定の結果、タイプが「通常」の場合、合流先特定部37は、ワークフロー実体遷移テーブル23に基づいて、遷移元のステップ実体IDを取得する。   As a result of this determination, when the type is “normal”, the joining destination identifying unit 37 acquires the step entity ID of the transition source based on the workflow entity transition table 23.

一方、判定の結果、タイプが「開始点」の場合、そのステップ実体IDを「開始点」として[開始点のステップ実体の特定]の処理を抜ける。   On the other hand, if the type is “start point” as a result of the determination, the step entity ID is set to “start point”, and the process of [identification of start point step entity] is exited.

他方、判定の結果、タイプが「合流点」の場合、合流先特定部37は、例外ワークフロー実体遷移テーブル24に基づいて分岐元のステップ実体IDを取得した後、再度[開始点のステップ実体の特定]の処理を呼び出す。   On the other hand, if the type is “joining point” as a result of the determination, the joining destination specifying unit 37 acquires the branch source step entity ID based on the exception workflow entity transition table 24, and then again [the step entity of the start point. Call the specific process.

しかる後、合流先特定部37は、タイプの判定に戻って処理を実行する。   Thereafter, the joining destination specifying unit 37 returns to the type determination and executes the process.

[合流点のステップ定義の特定]
合流先特定部37は、現在のステップ定義ID及びステップ定義遷移テーブル13に基づいて、遷移先のステップ定義IDを取得する。
[Identify step definition at confluence]
Based on the current step definition ID and the step definition transition table 13, the joining destination specifying unit 37 acquires the step definition ID of the transition destination.

合流先特定部37は、取得したステップ定義IDの「タイプ」をステップ定義テーブル12から判定する。   The joining destination specifying unit 37 determines the “type” of the acquired step definition ID from the step definition table 12.

この判定の結果、タイプが「通常」の場合、合流先特定部37は、遷移先のステップ定義IDの取得処理を再実行する。   If the result of this determination is that the type is “normal”, the merge destination identifying unit 37 re-executes the acquisition process of the step definition ID of the transition destination.

この判定の結果、タイプが「開始点」の場合、合流先特定部37は、再度[合流点のステップ定義の特定]の処理を呼び出す。   If the result of this determination is that the type is “starting point”, the joining destination specifying unit 37 calls the process of [specification of step definition of joining point] again.

この判定の結果、タイプが「合流点」の場合、[合流点のステップ定義の特定]の処理を抜ける。[合流点のステップ定義の特定]の処理がすべて終了した時点のステップ定義が「合流点」となる。   If the result of this determination is that the type is “Merging Point”, the process of [Specification of Step Definition of Merging Point] is exited. The step definition at the time when the processing of [identify step definition at merging point] is completed becomes the “merging point”.

上述したように本実施形態によれば、例外発生時のステップ実体IDに基づいて、ステップ実体テーブル22からタイプを判定し、ステップ実体遷移テーブル23によって遷移を前に辿る処理を再帰的に実行してタイプが「開始点」のステップ実体IDを特定し、特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、ステップ定義テーブル12によってタイプを判定し、ステップ定義遷移テーブル13によって遷移を後ろに辿る処理を再帰的に実行してタイプが「合流点」のステップ定義IDを特定する。このように、個々の例外のワークフローには例外のワークフローの合流点を予め定義しないため、例外処理が頻繁に生じる場合でもワークフローの定義を簡略化でき、基本ワークフローと例外ワークフローとを両方とも実行することができる。   As described above, according to the present embodiment, the type is determined from the step entity table 22 based on the step entity ID at the time of occurrence of the exception, and the process of tracing the transition forward by the step entity transition table 23 is recursively executed. The step entity ID whose type is “start point” is identified, the type is determined by the step definition table 12 based on the step definition ID corresponding to the identified step entity ID of “start point”, and the step definition transition table 13 The process of tracing back the transition is recursively executed to identify the step definition ID whose type is “Joint”. In this way, the exception workflow confluence is not defined in advance for each exception workflow, so the workflow definition can be simplified even when exception handling occurs frequently, and both the basic workflow and the exception workflow are executed. be able to.

補足すると、ワークフロー定義からワークフロー実体を生成し、ワークフロー実体のステップで例外が発生すると合流先となるステップを特定し、指定した例外ワークフロー定義の実体を組みこんでワークフロー実体を更新し、ワークフロー実体の作業と例外ワークフロー実体の作業を並列に処理する構成により、ワークフローの実行中に例外が発生した際に、例外時に実行する例外ワークフローを組みこんでワークフローを更新することができる。   Supplementally, a workflow entity is generated from the workflow definition, and when an exception occurs in the workflow entity step, the step that becomes the merge destination is specified, the workflow entity is updated by incorporating the specified exception workflow definition entity, and the workflow entity By configuring the work and the work of the exception workflow entity in parallel, when an exception occurs during the execution of the workflow, the workflow can be updated by incorporating the exception workflow to be executed at the time of the exception.

また、ワークフローを作成する際に、通常時に実行するワークフロー定義と例外発生時に実行するワークフロー定義とを切り離して定義できるため、例外が頻繁に発生する作業に対してワークフローを適用しても、作成するワークフロー定義が複雑になることを防ぐことができる。   In addition, when creating a workflow, the workflow definition that is normally executed and the workflow definition that is executed when an exception occurs can be defined separately, so even if a workflow is applied to work that frequently causes exceptions It is possible to prevent the workflow definition from becoming complicated.

また、ワークフローのステップで例外が発生すると、指定した例外処理用のワークフローを組みこんで、元のワークフローを動的に更新できるので、例外時に外部から組み込むワークフローを指定するため、ワークフロー定義自体の変更を行なわずに実行中のワークフローを更新することができる。   Also, when an exception occurs in a workflow step, the original workflow can be dynamically updated by incorporating the specified exception processing workflow, so the workflow definition itself can be changed to specify the workflow to be included from the outside at the time of the exception. The workflow being executed can be updated without performing the process.

また、ワークフロー定義上で例外が発生し得る区間に開始点と合流点の対で囲む「例外範囲」を定義することにより、その区間内で例外が発生した場合は、組み込んだ例外ワークフローを処理した後、合流点に戻ることで元のワークフローに処理を戻すことができ、さらに、ワークフロー上の複数のステップで例外が発生しても、例外ワークフロー処理後の合流先が同じであればステップごとに合流先を定義する必要がなくなる。   In addition, by defining an “exception range” that encloses a pair of start point and confluence in a section where an exception can occur in the workflow definition, if an exception occurs within that section, the embedded exception workflow was processed Later, you can return to the original workflow by returning to the merge point, and even if an exception occurs at multiple steps on the workflow, if the merge destination after exception workflow processing is the same, for each step There is no need to define the merge destination.

また、組み込んだ例外ワークフローの作業と、組み込み元のワークフローの作業は並列に実行できるので、ワークフローでの通常時の作業と例外時の作業を並列に実行でき、作業の効率を上げることができる。   In addition, since the work of the incorporated exception workflow and the work of the work flow of the embedding source can be executed in parallel, the work at the normal time and the work at the time of the exception can be executed in parallel, and the work efficiency can be improved.

(第2の実施形態)
次に、本発明の第2の実施形態に係るワークフローシステムについて説明する。
(Second Embodiment)
Next, a workflow system according to the second embodiment of the present invention will be described.

本実施形態は、第1の実施形態の具体例であり、第1の実施形態で述べた構成において、各テーブルに具体的な値を記載して動作を具体的に述べるものである。   This embodiment is a specific example of the first embodiment. In the configuration described in the first embodiment, the operation is specifically described by describing specific values in each table.

<ワークフロー>
ワークフローの定義例を図9に示す。
<Workflow>
An example of workflow definition is shown in FIG.

図9において、ワークフロー定義ID:D001で示される基本ワークフローを示すワークフロー定義は、ワークフロー定義テーブル11、ステップ定義テーブル12及びステップ定義遷移テーブル13からなる定義情報であり、作業(1)〜作業(4)、開始点A及び合流点Aに対応するステップ定義を含んでいる。また、ワークフロー定義ID:D100で示される例外ワークフローを示すワークフロー定義は、ワークフロー定義テーブル11、ステップ定義テーブル12及びステップ定義遷移テーブル13からなる定義情報であり、例外作業(1)及び例外作業(2)に対応するステップ定義を含んでいる。   In FIG. 9, the workflow definition indicating the basic workflow indicated by the workflow definition ID: D001 is definition information including the workflow definition table 11, the step definition table 12, and the step definition transition table 13, and the operations (1) to (4) ), Step definitions corresponding to the start point A and the merge point A are included. The workflow definition indicating the exception workflow indicated by the workflow definition ID: D100 is definition information including the workflow definition table 11, the step definition table 12, and the step definition transition table 13, and includes exception work (1) and exception work (2 Step definition corresponding to) is included.

<データ構造>
ワークフローが定義されると、ワークフロー定義テーブル11、ステップ定義テーブル12及びステップ定義遷移テーブル13が定義情報格納部10に格納される(図10、図11及び図12参照)。
<Data structure>
When the workflow is defined, the workflow definition table 11, the step definition table 12, and the step definition transition table 13 are stored in the definition information storage unit 10 (see FIGS. 10, 11, and 12).

<ワークフローの開始>
ユーザインターフェース装置40は、ユーザの操作により、画面上から「ワークフローの開始」を実行すると、ワークフロー定義ID及び開始情報をワークフロー処理装置30に送信する。
<Start workflow>
The user interface device 40 transmits the workflow definition ID and the start information to the workflow processing device 30 when “start workflow” is executed from the screen by a user operation.

ワークフロー処理装置30は、このワークフロー定義IDに基づいて、前述同様に、ユーザインターフェース通信部32、ワークフロー制御部33及び実体生成部34の間でデータの受け渡しを実行する。   Based on the workflow definition ID, the workflow processing apparatus 30 performs data transfer between the user interface communication unit 32, the workflow control unit 33, and the entity generation unit 34 as described above.

その結果、実体情報格納部20に、ワークフロー実体テーブル21、ステップ実体テーブル22及びステップ実体遷移テーブル23が格納される(図13、図14、図15及び図16参照)。   As a result, the workflow entity table 21, the step entity table 22, and the step entity transition table 23 are stored in the entity information storage unit 20 (see FIGS. 13, 14, 15, and 16).

<ステップの開始時の動作>
ユーザインターフェース装置40は、ユーザの操作により、画面上から「ステップの開始」を実行すると、ステップ実体ID及び開始情報をワークフロー処理装置30に送信する。
<Operation at the start of a step>
The user interface device 40 transmits a step entity ID and start information to the workflow processing device 30 when executing “start of step” from the screen by a user operation.

ワークフロー処理装置30においては、ステップ実体ID及び開始情報を受けると、前述同様に、ユーザインターフェース通信部32、ワークフロー制御部33及び実体情報登録/取得部36の間でデータの受け渡しを実行する。   When receiving the step entity ID and the start information, the workflow processing apparatus 30 executes data transfer among the user interface communication unit 32, the workflow control unit 33, and the entity information registration / acquisition unit 36 as described above.

その結果、実体情報格納部20に格納されているステップ実体テーブル22のステップ実体ID:E0011の状態が「実行可能」から「実行中」に更新される(図17及び図18参照)。   As a result, the state of the step entity ID: E0011 in the step entity table 22 stored in the entity information storage unit 20 is updated from “executable” to “under execution” (see FIGS. 17 and 18).

<ステップ実体の生成>
ワークフロー処理装置30においては、ステップ実体ID:E0011のステップ実体が完了すると、次に実行するステップ定義の有無を判定する。
<Create step entity>
In the workflow processing device 30, when the step entity of the step entity ID: E0011 is completed, it is determined whether or not there is a step definition to be executed next.

ステップ定義遷移テーブル13(図12)から次に実行するステップ定義IDはD0012であることが分かる。   It can be seen from the step definition transition table 13 (FIG. 12) that the next step definition ID to be executed is D0012.

ステップ定義テーブル12(図11)からD0012のタイプは「開始点」であるから、ワークフロー処理装置30においては、「開始点」のステップ実体ID:E0012(状態は「自動終了」とする)を生成し、ステップ実体テーブル22及びステップ実体遷移テーブル23に登録する(図19及び図20参照)。   Since the type of D0012 is “start point” from the step definition table 12 (FIG. 11), the workflow processing apparatus 30 generates a step entity ID “E0012” (state is “automatic end”) of “start point”. And registered in the step entity table 22 and the step entity transition table 23 (see FIGS. 19 and 20).

さらに、ワークフロー処理装置30においては、ステップ実体ID:E0012のステップ実体が自動終了したので、次のステップ定義ID:D0013(「通常」タイプ)からステップ実体ID:E0013(状態は「実行可能」とする)を生成し、ステップ実体テーブル22及びステップ実体遷移テーブル23に登録する(図19、図20及び図21参照)。   Furthermore, in the workflow processing apparatus 30, since the step entity with the step entity ID: E0012 is automatically terminated, the next step definition ID: D0013 (“normal” type) to the step entity ID: E0013 (state is “executable”) Are registered in the step entity table 22 and the step entity transition table 23 (see FIGS. 19, 20, and 21).

<例外ワークフローの起動時の動作>
基本ワークフローのステップ実体ID:E0013のステップ実体を実行中に、ユーザインターフェース装置40は、ユーザの操作により、画面上から「例外発生」を実行すると、組み込む例外のワークフロー定義ID、現在のワークフロー実体ID、ステップ実体IDをワークフロー処理装置30に送信する。
<Operation when exception workflow starts>
While executing the step entity of the basic workflow step entity ID: E0013, when the user interface device 40 executes “exception occurrence” from the screen by a user operation, the workflow definition ID of the exception to be incorporated, the current workflow entity ID The step entity ID is transmitted to the workflow processing apparatus 30.

ワークフロー処理装置30においては、例外のワークフロー定義ID、現在のワークフロー実体ID、ステップ実体IDを受けると、ユーザインターフェース通信部32、ワークフロー制御部33、合流先特定部37及び実体情報登録/取得部36の間でデータの受け渡しを実行し、合流先特定部37が、合流先となるステップ定義ID:D0015を特定する。   When the workflow processing device 30 receives the exceptional workflow definition ID, the current workflow entity ID, and the step entity ID, the user interface communication unit 32, the workflow control unit 33, the merge destination specifying unit 37, and the entity information registration / acquisition unit 36 The data is exchanged between the two, and the joining destination specifying unit 37 specifies the step definition ID: D0015 that becomes the joining destination.

その結果、実体情報格納部20に、ワークフロー実体テーブル21、ステップ実体テーブル22、ステップ実体遷移テーブル23及び例外ワークフロー実体遷移テーブル24が更新される(図22、図23、図24、図25及び図26参照)。   As a result, the workflow entity table 21, the step entity table 22, the step entity transition table 23, and the exception workflow entity transition table 24 are updated in the entity information storage unit 20 (FIGS. 22, 23, 24, 25, and 25). 26).

<例外フローのステップ実体の生成>
ステップ実体E1001が完了すると、ワークフロー処理装置30は、次に実行するステップ定義の有無を判定する。
<Generate exception flow step entity>
When the step entity E1001 is completed, the workflow processing apparatus 30 determines whether there is a step definition to be executed next.

ステップ定義遷移テーブル13(図12)から次に実行するステップ定義IDはD1002であることが分かる。   It can be seen from the step definition transition table 13 (FIG. 12) that the next step definition ID to be executed is D1002.

ステップ定義テーブル12(図11)からステップ定義ID:D1002のタイプは「通常」であるから、ワークフロー処理装置30においては、「通常」のステップ実体E1002(「状態」は「実行可能」)を生成し、ステップ実体テーブル22及びステップ実体遷移テーブル23に登録する(図27、図28及び図29参照)。   Since the type of the step definition ID: D1002 is “normal” from the step definition table 12 (FIG. 11), the workflow processing apparatus 30 generates a “normal” step entity E1002 (“status” is “executable”). And registered in the step entity table 22 and the step entity transition table 23 (see FIGS. 27, 28 and 29).

<例外フローのステップ実体の終了>
ステップ実体E1002が完了すると、ワークフロー処理装置30は、次に実行するステップ定義の有無を判定する。
<End of exception flow step entity>
When the step entity E1002 is completed, the workflow processing apparatus 30 determines whether there is a step definition to be executed next.

例外ワークフロー実体遷移テーブル24(図25)から合流先のステップ定義IDはD0015であることが分かる。   It can be seen from the exception workflow entity transition table 24 (FIG. 25) that the step definition ID of the merge destination is D0015.

ワークフロー処理装置30においては、ステップ実体テーブル22(図14)からステップ定義ID:D0015のステップ実体IDは存在していないことが分かるので、「合流点」のステップ実体ID:E0015(「状態」は「実行待ち」)を作成し、ステップ実体テーブル22に登録する(図30)。   In the workflow processing device 30, it can be seen from the step entity table 22 (FIG. 14) that there is no step entity ID with the step definition ID: D0015, so the step entity ID “E0015” of the “confluence” (“state” is “Waiting for execution”) is created and registered in the step entity table 22 (FIG. 30).

「合流点」のステップ実体E0015に合流すべきステップ実体が全て完了しているか否かを判定する。   It is determined whether or not all step entities to be merged with the step entity E0015 at the “merging point” have been completed.

ワークフロー処理装置30においては、ステップ定義テーブル12及びステップ実体テーブル22(図11、図14)から基本ワークフローのステップ定義ID:D0014のステップ実体が完了されていないことが分かるので、「合流点」のステップ実体の状態が「実行待ち」のまま処理を抜け、ワークフロー実体テーブル21の例外のワークフロー実体ID:E100の「状態」を「完了」に更新し、ステップ実体遷移テーブル23に登録する(図30、図31(a)、図31(b)、及び図32参照)。   In the workflow processing device 30, it can be seen from the step definition table 12 and the step entity table 22 (FIGS. 11 and 14) that the step entity of the basic workflow step definition ID: D0014 has not been completed. The process exits while the state of the step entity is “Waiting for execution”, updates the “state” of the exception workflow entity ID: E100 in the workflow entity table 21 to “completed”, and registers it in the step entity transition table 23 (FIG. 30). FIG. 31 (a), FIG. 31 (b), and FIG. 32).

<基本ワークフローでのステップ実行の生成>
基本ワークフローのステップ実体ID:E0013のステップ実体が完了すると、次に実行するステップ定義の有無を判定する。
<Generation of step execution in basic workflow>
When the step entity of the basic workflow step entity ID: E0013 is completed, it is determined whether or not there is a step definition to be executed next.

ステップ定義遷移テーブル13(図12)から次に実行するステップ定義IDはD0014であることが分かる。   It can be seen from the step definition transition table 13 (FIG. 12) that the step definition ID to be executed next is D0014.

ステップ定義テーブル12(図11)からステップ定義ID:D0014のタイプは「通常」であるから、ワークフロー処理装置30においては、「通常」のステップ実体ID:E0014(「状態」は「実行可能」)を生成し、ステップ実体テーブル22及びステップ実体遷移テーブル23に登録する(図33、図34及び図35参照)。   Since the type of the step definition ID: D0014 is “normal” from the step definition table 12 (FIG. 11), the “normal” step entity ID: E0014 (“status” is “executable”) in the workflow processing apparatus 30. Are registered in the step entity table 22 and the step entity transition table 23 (see FIGS. 33, 34, and 35).

<合流点のステップ実体の実行>
ステップ実体ID:E0014が完了すると、ワークフロー処理装置30は、次に実行するステップ定義の有無を判定する。
<Execution of step entity at confluence>
When the step entity ID: E0014 is completed, the workflow processing apparatus 30 determines whether there is a step definition to be executed next.

ステップ定義遷移テーブル13(図12)から次に実行するステップ定義IDはD0015であることが分かる。   It can be seen from the step definition transition table 13 (FIG. 12) that the step definition ID to be executed next is D0015.

ステップ実体テーブル22(図30)からステップ定義ID:D0015のステップ実体はすでに存在していることが分かるので、ワークフロー処理装置30は、「合流点」のステップ実体ID:E0015のステップ実体に合流すべきステップ実体が全て完了しているか否かを判定する。   Since it can be seen from the step entity table 22 (FIG. 30) that the step entity with the step definition ID: D0015 already exists, the workflow processing apparatus 30 joins the step entity with the step entity ID: E0015 at the “joining point”. It is determined whether or not all the step entities to be completed are completed.

全てのステップ実体が完了していることが分かるので、ワークフロー処理装置30は、「合流点」のステップ実体ID:E0015の「状態」を「実行可能」に更新し(「状態」はすぐに「自動終了」になる)、ステップ実体遷移テーブル23に登録する(図36(a)、図36(b)及び図37参照)。   Since it can be seen that all the step entities are completed, the workflow processing apparatus 30 updates the “state” of the step entity ID “E0015” of the “joining point” to “executable” (the “state” immediately becomes “ Registered in the step entity transition table 23 (see FIG. 36A, FIG. 36B, and FIG. 37).

<ワークフローの終了>
ステップ実体ID:E0015のステップ実体が自動終了したので、ワークフロー処理装置30は、次に実行するステップ定義の有無を判定する。
<End of workflow>
Since the step entity with the step entity ID: E0015 is automatically terminated, the workflow processing apparatus 30 determines whether there is a step definition to be executed next.

ステップ定義遷移テーブル13(図12)から次に実行するステップ定義がないことが分かるので、ワークフロー処理装置30においては、ワークフロー実体テーブル21で、現在のワークフロー実体ID:E001の「状態」を「完了」に更新する(図38参照)。   Since it can be seen from the step definition transition table 13 (FIG. 12) that there is no step definition to be executed next, in the workflow processing apparatus 30, the “state” of the current workflow entity ID: E001 is set to “complete” in the workflow entity table 21. (See FIG. 38).

上述したように本実施形態によれば、具体的な値を用いて第1の実施形態を実施したので、第1の実施形態の効果と同様の効果を得ることができる。   As described above, according to the present embodiment, since the first embodiment is implemented using specific values, the same effects as the effects of the first embodiment can be obtained.

なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。   Note that the method described in the above embodiment includes a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk (MO) as programs that can be executed by a computer. ), And can be distributed in a storage medium such as a semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。   In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Further, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。   Further, the number of storage media is not limited to one, and the case where the processing in the above embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。   The computer according to the present invention executes each process in the above-described embodiment based on a program stored in a storage medium, and is a single device such as a personal computer or a system in which a plurality of devices are connected to a network. Any configuration may be used.

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   In addition, the computer in the present invention is not limited to a personal computer, but includes a processing unit, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. .

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

10…定義情報格納部、11…ワークフロー定義テーブル、12…ステップ定義テーブル、13…ステップ定義遷移テーブル、20…実体情報格納部、21…ワークフロー実体テーブル、22…ステップ実体テーブル、23…ステップ実体遷移テーブル、24…例外ワークフロー実体遷移テーブル、30…ワークフロー処理装置、31…記憶部、32…ユーザインターフェース通信部、33…ワークフロー制御部、34…実体生成部、35…定義情報登録/取得部、36…実体情報登録/取得部、37…合流先特定部、40…ユーザインターフェース装置。   DESCRIPTION OF SYMBOLS 10 ... Definition information storage part, 11 ... Workflow definition table, 12 ... Step definition table, 13 ... Step definition transition table, 20 ... Entity information storage part, 21 ... Workflow entity table, 22 ... Step entity table, 23 ... Step entity transition Table 24: Exception workflow entity transition table 30 ... Workflow processing device 31 ... Storage unit 32 ... User interface communication unit 33 ... Workflow control unit 34 ... Entity generation unit 35 ... Definition information registration / acquisition unit 36 ... entity information registration / acquisition part, 37 ... junction destination specifying part, 40 ... user interface device.

Claims (4)

各作業を順番に実行するためのワークフローと、前記作業を実行するステップと、前記ワークフローに例外が発生する可能性がある例外範囲の開始点を表すステップと、前記例外範囲の合流点を表すステップと、前記各ステップの遷移の順序とを定義したワークフロー定義情報を格納する定義情報格納手段と、  A workflow for executing each work in sequence, a step for executing the work, a step representing a starting point of an exception range where an exception may occur in the workflow, and a step representing a confluence of the exception range And definition information storage means for storing workflow definition information defining the order of transition of each step,
前記各ステップの状態を表す状態情報を前記ワークフロー定義情報に付加してなるワークフロー実体情報(但し、前記状態は、実行待ち状態、実行可能状態、実行中状態、完了状態又は自動終了状態を表す)を格納する実体情報格納手段と、  Workflow entity information obtained by adding state information representing the state of each step to the workflow definition information (however, the state represents an execution waiting state, an executable state, an executing state, a completed state, or an automatic end state) Entity information storage means for storing
前記状態情報が実行中状態を表すステップに例外が発生すると、前記ワークフロー実体情報に基づいて、当該例外が発生したステップよりも遷移の順序が後の各ステップのうち、当該例外が発生したステップに最も近い前記合流点のステップを特定する手段と、  When an exception occurs in the step in which the state information represents the running state, the step in which the exception has occurred is out of the steps whose transition order is later than the step in which the exception has occurred, based on the workflow entity information. Means for identifying the step of the nearest confluence;
を備えたワークフロー処理装置。  A workflow processing apparatus.
各作業を順番に遷移して実行するためのワークフローに対して当該ワークフロー内で当該各作業を表す各ステップを定義するステップ定義テーブルであって、当該各ステップを識別するステップ定義ID毎にタイプを関連付ける前記ステップ定義テーブルと、遷移前のステップ定義ID及び遷移後のステップ定義IDを関連付けるステップ定義遷移テーブルとを記憶するための定義テーブル記憶手段(但し、前記タイプは、作業を実行するステップを表す「通常」、例外が発生する可能性がある例外範囲の開始点を表す「開始点」、又は前記例外範囲の合流点を表す「合流点」を示す。)と、
前記定義された各ステップをインスタンス化した各ステップ実体を識別するステップ実体ID毎にステップ定義ID、タイプを関連付けるステップ実体テーブルと、遷移前のステップ実体ID及び遷移後のステップ実体IDを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶手段と、ワークフロー処理プログラムを記憶した記憶部と、を読出/書込可能なCPUを備えたワークフロー処理装置であって、
前記CPUが、前記ワークフロー処理プログラムを実行することにより、入力された例外発生時のステップ実体IDに基づいて、前記ステップ実体テーブルからタイプが前記「通常」、前記「開始点」又は前記「合流点」のいずれであるかを判定する処理と、当該判定したタイプが「通常」の場合、前記ステップ実体遷移テーブル内で前記タイプを判定したステップ実体IDに関連付けられた遷移前のステップ実体IDを読み出すことによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定
前記CPUが、前記ワークフロー処理プログラムを実行することにより、前記特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、前記ステップ定義テーブルによってタイプが前記「通常」、前記「開始点」又は前記「合流点」のいずれであるかを判定する処理と、前記ステップ定義遷移テーブル内で前記タイプを判定したステップ定義IDに関連付けられた遷移後のステップ定義IDを読み出すことによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定すワークフロー処理装置。
It is a step definition table that defines each step representing each work in the workflow for a workflow for sequentially executing each work, and a type is specified for each step definition ID for identifying each step. It said step definition table associating, defined for storing a step defined transition table that associates step definition ID after step definition ID and the transition before the transition table storage means (however, the type represents the step of performing work “Normal”, “start point” indicating the start point of the exception range where an exception may occur, or “merge point” indicating the merge point of the exception range)
A step entity table that associates a step definition ID and type for each step entity ID that identifies each step entity that instantiated each of the defined steps, a step entity that associates a step entity ID before transition and a step entity ID after transition A workflow processing apparatus comprising a CPU capable of reading / writing a substance table storage means for storing a transition table and a storage unit storing a workflow processing program ,
When the CPU executes the workflow processing program, the type is “normal”, “start point”, or “confluence” from the step entity table based on the step entity ID that was input when the exception occurred. a process of determining whether it is a "when the determined type is" normal ", reads the steps entity ID before transition associated with the step entity ID that determines the type in step entity transition table type run recursively the process to follow before the transition to identify the steps entity ID of "starting point" by,
When the CPU executes the workflow processing program , based on the step definition ID corresponding to the step entity ID of the identified “starting point”, the type is “normal”, “start” according to the step definition table. The process of determining whether the point is the “point” or the “confluence point” and the transition is performed by reading the step definition ID after the transition associated with the step definition ID that has determined the type in the step definition transition table . workflow processing device type and a process for tracing back running recursively is that identifies the step definition ID of "meeting point".
請求項2に記載のワークフロー処理装置に用いられる前記ワークフロー処理プログラムであって、
前記CPUに
入力された例外発生時のステップ実体IDを前記ワークフロー処理装置の記憶部に書き込むと共に、前記記憶部内のステップ実体IDに基づいて、前記ステップ実体テーブルからタイプを判定する処理と、前記ステップ実体遷移テーブル内の遷移後のステップ実体IDに関連付けられた遷移前のステップ実体IDを読み出すことによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定する開始点特定工程と
前記特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、前記ステップ定義テーブルによってタイプを判定する処理と、前記ステップ定義遷移テーブル内の遷移前のステップ定義IDに関連付けられた遷移後のステップ定義IDを読み出すことによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定する合流点特定工程と
を実行させるためのワークフロー処理プログラム。
The workflow processing program used in the workflow processing apparatus according to claim 2 ,
In the CPU ,
A process of writing the input step entity ID at the time of occurrence of an exception in the storage unit of the workflow processing apparatus, determining a type from the step entity table based on the step entity ID in the storage unit, and the step entity transition table Start of specifying the step entity ID of the type “starting point” by recursively executing the process of tracing the transition forward by reading the step entity ID before the transition associated with the step entity ID after the transition in A point identification process ;
Based on the step definition ID corresponding to the identified step entity ID of the “starting point”, a process for determining the type by the step definition table and the step definition ID before the transition in the step definition transition table a merging point specifying process type for specifying the step definition ID of "meeting point" and a process of tracing the transition back by reading the step definition ID after transition run recursively,
Workflow processing program to execute .
請求項2に記載のワークフロー処理装置により実行されるワークフロー処理方法であって、
前記CPUが、入力された例外発生時のステップ実体IDを前記記憶部に書き込むと共に、前記記憶部内のステップ実体IDに基づいて、前記ステップ実体テーブルからタイプを判定する処理と、前記ステップ実体遷移テーブル内の遷移後のステップ実体IDに関連付けられた遷移前のステップ実体IDを読み出すことによって遷移を前に辿る処理とを再帰的に実行してタイプが「開始点」のステップ実体IDを特定する開始点特定工程と、
前記CPUが、前記特定した「開始点」のステップ実体IDに対応するステップ定義IDに基づいて、前記ステップ定義テーブルによってタイプを判定する処理と、前記ステップ定義遷移テーブル内の遷移前のステップ定義IDに関連付けられた遷移後のステップ定義IDを読み出すことによって遷移を後ろに辿る処理とを再帰的に実行してタイプが「合流点」のステップ定義IDを特定する合流点特定工程と、
を備えワークフロー処理方法。
A workflow processing method executed by the workflow processing apparatus according to claim 2 ,
A process in which the CPU writes the input step entity ID at the time of occurrence of an exception in the storage unit, determines a type from the step entity table based on the step entity ID in the storage unit, and the step entity transition table Start of specifying the step entity ID of the type “starting point” by recursively executing the process of tracing the transition forward by reading the step entity ID before the transition associated with the step entity ID after the transition in A point identification process;
The CPU determines the type based on the step definition table based on the step definition ID corresponding to the identified “starting point” step entity ID, and the step definition ID before transition in the step definition transition table A step of identifying the step definition ID of the type “confluence” by recursively executing the process of tracing back the transition by reading the step definition ID after the transition associated with
A workflow processing method comprising:
JP2009072595A 2009-03-24 2009-03-24 Workflow processing apparatus, program, and method Active JP4908539B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009072595A JP4908539B2 (en) 2009-03-24 2009-03-24 Workflow processing apparatus, program, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009072595A JP4908539B2 (en) 2009-03-24 2009-03-24 Workflow processing apparatus, program, and method

Publications (2)

Publication Number Publication Date
JP2010224956A JP2010224956A (en) 2010-10-07
JP4908539B2 true JP4908539B2 (en) 2012-04-04

Family

ID=43042064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009072595A Active JP4908539B2 (en) 2009-03-24 2009-03-24 Workflow processing apparatus, program, and method

Country Status (1)

Country Link
JP (1) JP4908539B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208016B2 (en) 2011-04-04 2015-12-08 Mitsubishi Electric Corporation Message sequence generation method and message sequence generation device
WO2014016884A1 (en) * 2012-07-23 2014-01-30 株式会社日立製作所 Computer system, data processing method, and recording medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3225996B2 (en) * 1994-07-27 2001-11-05 富士ゼロックス株式会社 Information processing system
JPH0962733A (en) * 1995-08-22 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> Flow adding device
JPH1027203A (en) * 1996-07-12 1998-01-27 Toshiba Corp Job supporting system and its method
JP4529213B2 (en) * 2000-01-19 2010-08-25 富士ゼロックス株式会社 Element organization support apparatus and storage medium on which element organization support program is recorded
JP4146690B2 (en) * 2002-08-26 2008-09-10 株式会社ジャストシステム Workflow management device

Also Published As

Publication number Publication date
JP2010224956A (en) 2010-10-07

Similar Documents

Publication Publication Date Title
US10095499B2 (en) Optimization for multi-project package manager
US10768929B1 (en) Automatically updating source code in version control systems via a pull request
US8146054B2 (en) Hybrid data object model
US7454399B2 (en) Application integration system and method using intelligent agents for integrating information access over extended networks
CN111344678A (en) Collaborative software development with heterogeneous development tools
US20050261787A1 (en) Method for synchronization of concurrently modified interdependent semi-derived artifacts
JPWO2016016975A1 (en) Development support system
KR100617604B1 (en) Inter-Enterprise Collaborative Process Management System
CN113971037A (en) Application processing method and device, electronic equipment and storage medium
US20180121293A1 (en) Code base synchronization between source control systems
CN114647416A (en) Method and device for realizing service flow based on annotation, storage medium and electronic equipment
US20110137922A1 (en) Automatic generation of a query lineage
JP4908539B2 (en) Workflow processing apparatus, program, and method
JPH1125126A (en) System design tool and dataware house design system and method
US20180150294A1 (en) Backout tool for source control systems
CN110908644A (en) Configuration method and device of state node, computer equipment and storage medium
US20190227678A1 (en) Providing document feature management in relation to communication
CN109857380B (en) Workflow file compiling method and device
JP2005092544A (en) Work flow generation management processing method, work flow processing system and work flow control program
KR20090068938A (en) Engineering framework for executing and integrating the distributed engineering resources, and method for using the same
CN113626062A (en) Trusted application integration
US7827567B2 (en) System and method for defining and dynamically invoking polymorphic call flows
Song et al. Toward a model-based approach to dynamic adaptation of composite services
Kromer Basics of ci/cd and pipeline scheduling
CN117492721B (en) General rapid development method applied to building digital information system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4908539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350