JP2016071725A - Workflow control program, workflow control method and information processing unit - Google Patents

Workflow control program, workflow control method and information processing unit Download PDF

Info

Publication number
JP2016071725A
JP2016071725A JP2014201979A JP2014201979A JP2016071725A JP 2016071725 A JP2016071725 A JP 2016071725A JP 2014201979 A JP2014201979 A JP 2014201979A JP 2014201979 A JP2014201979 A JP 2014201979A JP 2016071725 A JP2016071725 A JP 2016071725A
Authority
JP
Japan
Prior art keywords
branch
node
processing
process instance
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014201979A
Other languages
Japanese (ja)
Inventor
池田 淳二
Junji Ikeda
淳二 池田
義起 寺井
Yoshiki Terai
義起 寺井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014201979A priority Critical patent/JP2016071725A/en
Publication of JP2016071725A publication Critical patent/JP2016071725A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To process plural processing requests which includes an identical processing flow even when branches are included in the workflow.SOLUTION: A condition branch determination section 35 determines whether or not the next node is a branching node. When the next node is a branching node, the condition branch determination section 35 determines the branching condition for each of the slips. When the condition branch determination section 35 determines that plural branching points are included, a different route shift control unit 36 allots a new process instance ID and copies the control information and the history information to create the new process instance.SELECTED DRAWING: Figure 2

Description

本発明は、ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置に関する。   The present invention relates to a workflow control program, a workflow control method, and an information processing apparatus.

近年、ワークフローは、人の作業の流れを管理する分野だけでなく、企業のコンピュータシステムを統合するEAIやESBの分野へ適用されるようになっている。ここで、EAIは、エンタープライズアプリケーション統合(Enterprise Application Integration)であり、ESBは、エンタープライズ・サービス・バス(Enterprise Service Bus)である。   In recent years, workflows have been applied not only to the field of managing the flow of human work but also to the field of EAI and ESB that integrate corporate computer systems. Here, EAI is Enterprise Application Integration, and ESB is Enterprise Service Bus.

EAIやESBの分野ではできるだけ高いスループットが求められるが、1つの処理要求毎にワークフローの処理の流れを制御する手法では、処理要求の数だけワークフロー処理が実行されるため、処理要求の数分の処理コストがかかる。また、1つの処理要求毎にワークフローのプロセスインスタンスが作成されるため、処理要求の数が多くなると、データ量も多くなり、データ操作やデータ管理のオーバーヘッドが大きくなる。ここで、プロセスインスタンスとは、ワークフローの処理の流れの状態や、実行履歴を管理するデータである。   In the field of EAI and ESB, the highest possible throughput is required. However, in the method of controlling the flow of workflow processing for each processing request, workflow processing is executed by the number of processing requests. Processing costs are high. Also, since a workflow process instance is created for each processing request, the amount of data increases as the number of processing requests increases, increasing the overhead of data manipulation and data management. Here, the process instance is data for managing the state of the workflow processing flow and the execution history.

そこで、処理ルートが同じ複数の処理要求を束ねて処理することが行われている。図17は、処理ルートが同じ複数の処理要求を束ねて処理するESBシステムを説明するための図である。図17において、伝票は処理要求を表す。X社、Y社及びZ社は、ESBシステムを利用する企業であり、伝票a〜伝票gをESB装置9へ送る。   Therefore, a plurality of processing requests having the same processing route are bundled and processed. FIG. 17 is a diagram for explaining an ESB system that bundles and processes a plurality of processing requests having the same processing route. In FIG. 17, a slip represents a processing request. Company X, Company Y and Company Z are companies that use the ESB system, and send slips a to g to the ESB device 9.

図17に示すように、伝票a〜伝票gのうち、伝票a、伝票b、伝票d、伝票e及び伝票gが同じ処理ルートで処理され、伝票c及び伝票fが同じ処理ルートで処理される。具体的には、伝票a、伝票b、伝票d、伝票e及び伝票gは、社内システムA→社内システムB→外部システムC又は社内システムA→外部システムCの処理ルートで処理され、伝票c及び伝票fは、社内システムD→外部システムCの処理ルートで処理される。   As shown in FIG. 17, among the slips a to g, the slip a, the slip b, the slip d, the slip e, and the slip g are processed by the same processing route, and the slip c and the slip f are processed by the same processing route. . Specifically, slip a, slip b, slip d, slip e, and slip g are processed by the processing route of in-house system A → internal system B → external system C or in-house system A → external system C. The slip f is processed by a processing route of in-house system D → external system C.

そこで、ESBシステムは、伝票a、伝票b、伝票d、伝票e及び伝票gを束ねて1つのプロセスインスタンスを作成して処理し、伝票c及び伝票fを束ねて1つのプロセスインスタンスを作成して処理する。   Therefore, the ESB system creates and processes one process instance by binding the slip a, slip b, slip d, slip e, and slip g, and creates one process instance by binding the slip c and the slip f. To process.

このように、処理ルート毎に伝票を束ねて1つのプロセスインスタンスを作成することにより、ESB装置9は、処理コストを低減することができ、また、データ操作やデータ管理のオーバーヘッドを小さくすることができる。   In this way, by creating one process instance by bundling slips for each processing route, the ESB device 9 can reduce the processing cost and reduce the overhead of data operation and data management. it can.

なお、ワークフローに関する従来技術として、合流アクティビティに到達した複数のプロセスを一時停止して保存し、待ち合わせ条件に適合している複数のプロセスを統合して実行することで、指定された条件でプロセスの統合を可能とするワークフロー技術がある。また、同期点の入力分岐のうちアクティベートされた分岐に基づき少なくとも1つの同期条件の達成を判断し、同期点から少なくとも1つの出力分岐を選択する分岐条件を評価することで、必要な実行順序に処理タスクを配列することを可能とする技術がある。また、案件をコピーするコピー制御ノードを有し、コピー制御ノードによりコピーされた案件を、案件の数だけ独立して並行に動作するプロセスフローとすることで、例えば稟議書の回議数が異なる案件を同一プロセスフロー上に展開可能とする技術がある。   In addition, as a conventional technology related to workflow, multiple processes that have reached the merge activity are temporarily stopped and saved, and multiple processes that meet the waiting conditions are integrated and executed, so that the process can be executed under the specified conditions. There are workflow technologies that enable integration. In addition, it is determined whether at least one synchronization condition is achieved based on the activated branch among the input branches at the synchronization point, and the branch condition for selecting at least one output branch from the synchronization point is evaluated, so that the necessary execution order is achieved. There are techniques that make it possible to arrange processing tasks. Also, by having a copy control node for copying matters, and making the matter copied by the copy control node into a process flow that operates independently and in parallel for the number of matters, for example, matters with different number of approval requests Is a technology that can be deployed on the same process flow.

特開2009−43199号公報JP 2009-43199 A 特開2008−299836号公報JP 2008-299836 A 特開2003−44637号公報JP 2003-44637 A

ワークフローにおいて、1つのプロセスインスタンスは、1つの状態と、状態の変化(ノード遷移)に伴う履歴情報を保持するため、条件分岐による異なる処理ルートを同時に通ることはできない。したがって、同じ処理ルートの複数の伝票を1つのプロセスインスタンスで扱う場合に、処理ルートに分岐を含めることができないという問題がある。   In a workflow, one process instance holds one state and history information associated with a state change (node transition), and therefore cannot simultaneously pass through different processing routes due to conditional branching. Therefore, when a plurality of slips having the same processing route are handled by one process instance, there is a problem that a branch cannot be included in the processing route.

本発明は、1つの側面では、処理ルートに分岐を含む場合にも同じ処理ルートの複数の伝票を1つのプロセスインスタンスで扱うことができるワークフロー制御プログラム、ワクフロー制御方法及び情報処理装置を提供することを目的とする。   In one aspect, the present invention provides a workflow control program, a workflow control method, and an information processing apparatus capable of handling a plurality of slips of the same processing route with one process instance even when the processing route includes a branch. With the goal.

本願の開示するワークフロー制御プログラムは、1つの態様において、コンピュータに、処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成させる。そして、前記ワークフロー制御プログラムは、コンピュータに、作成させたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、取得させた判定条件に基づいて各処理要求の分岐先を判定させる。そして、前記ワークフロー制御プログラムは、コンピュータに、判定させた分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成させる。   In one aspect, the workflow control program disclosed in the present application is a process in which a plurality of processing requests having the same node transition are bundled in a workflow including a task node indicating execution of processing and a branch node indicating branching of a flow in a computer. Create an instance. Then, the workflow control program acquires a conditional branch determination condition when the next node of the node being processed in the processing of the process instance created by the computer is a branch node, and based on the acquired determination condition To determine the branch destination of each processing request. Then, the workflow control program causes the computer to generate a new process instance that bundles the processing requests with the same branch destination when there are a plurality of determined branch destinations.

1実施態様によれば、処理ルートに分岐を含む場合にも同じ処理ルートの複数の伝票を1つのプロセスインスタンスで扱うことができる。   According to one embodiment, a plurality of slips of the same processing route can be handled by one process instance even when the processing route includes a branch.

図1は、ESBシステムの構成を示す図である。FIG. 1 is a diagram showing a configuration of an ESB system. 図2は、ESB装置の機能構成を示す図である。FIG. 2 is a diagram illustrating a functional configuration of the ESB device. 図3は、開始部によるプロセスインスタンスの作成を説明するための図である。FIG. 3 is a diagram for explaining creation of a process instance by the start unit. 図4は、ルート情報のデータ構造の一例を示す図である。FIG. 4 is a diagram illustrating an example of a data structure of route information. 図5は、フロー情報のデータ構造の一例を示す図である。FIG. 5 is a diagram illustrating an example of the data structure of the flow information. 図6Aは、条件分岐判定部と異ルート遷移制御部による処理を説明するための第1の図である。FIG. 6A is a first diagram for explaining processing by the conditional branch determination unit and the different route transition control unit. 図6Bは、条件分岐判定部と異ルート遷移制御部による処理を説明するための第2の図である。FIG. 6B is a second diagram for explaining processing by the conditional branch determination unit and the different route transition control unit. 図7は、ESB装置の処理のフローを示すフローチャートである。FIG. 7 is a flowchart showing a process flow of the ESB apparatus. 図8は、各プロセスインスタンスについての処理のフローを示すフローチャートである。FIG. 8 is a flowchart showing a flow of processing for each process instance. 図9は、分岐判定実行処理のフローを示すフローチャートである。FIG. 9 is a flowchart showing the flow of the branch determination execution process. 図10は、実施例2に係るESB装置の機能構成を示す図である。FIG. 10 is a diagram illustrating a functional configuration of the ESB device according to the second embodiment. 図11は、条件分岐判定部と異ルート遷移制御部による処理を説明するための図である。FIG. 11 is a diagram for explaining processing by the conditional branch determination unit and the different route transition control unit. 図12Aは、条件分岐判定部による処理の詳細を説明するための第1の図である。FIG. 12A is a first diagram for explaining details of processing by the conditional branch determination unit. 図12Bは、条件分岐判定部による処理の詳細を説明するための第2の図である。FIG. 12B is a second diagram for explaining the details of the processing by the conditional branch determination unit. 図12Cは、条件分岐判定部による処理の詳細を説明するための第3の図である。FIG. 12C is a third diagram for describing the details of the processing by the conditional branch determination unit. 図12Dは、条件分岐判定部による処理の詳細を説明するための第4の図である。FIG. 12D is a fourth diagram for explaining details of processing by the conditional branch determination unit. 図13Aは、異ルート遷移制御部による処理の詳細を説明するための第1の図である。FIG. 13A is a first diagram for explaining details of processing by the different route transition control unit. 図13Bは、異ルート遷移制御部による処理の詳細を説明するための第2の図である。FIG. 13B is a second diagram for explaining details of processing by the different route transition control unit. 図13Cは、異ルート遷移制御部による処理の詳細を説明するための第3の図である。FIG. 13C is a third diagram for explaining details of processing by the different route transition control unit. 図13Dは、異ルート遷移制御部による処理の詳細を説明するための第4の図である。FIG. 13D is a fourth diagram for explaining details of processing by the different route transition control unit. 図14は、各プロセスインスタンスについての処理のフローを示すフローチャートである。FIG. 14 is a flowchart showing the flow of processing for each process instance. 図15Aは、分岐判定実行処理のフローを示す第1のフローチャートである。FIG. 15A is a first flowchart showing a flow of branch determination execution processing. 図15Bは、分岐判定実行処理のフローを示す第2のフローチャートである。FIG. 15B is a second flowchart illustrating the flow of the branch determination execution process. 図16は、実施例1及び2に係るワークフロー制御プログラムを実行するコンピュータのハードウェア構成を示す図である。FIG. 16 is a diagram illustrating a hardware configuration of a computer that executes the workflow control program according to the first and second embodiments. 図17は、ESBシステムを説明するための図である。FIG. 17 is a diagram for explaining the ESB system.

以下に、本願の開示するワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。   Embodiments of a workflow control program, a workflow control method, and an information processing apparatus disclosed in the present application will be described below in detail with reference to the drawings. The embodiments do not limit the disclosed technology.

まず、ESBシステムの構成について説明する。図1は、ESBシステムの構成を示す図である。図1に示すように、ESBシステム10は、ESB装置1と、社内システムAと、社内システムBと、外部システムCとを含む。社内システムA及び社内システムBは、社内ネットワーク11を介してESB装置1に接続される。外部システムCは、外部ネットワーク12を介してESB装置1に接続される。   First, the configuration of the ESB system will be described. FIG. 1 is a diagram showing a configuration of an ESB system. As shown in FIG. 1, the ESB system 10 includes an ESB device 1, an in-house system A, an in-house system B, and an external system C. The in-house system A and the in-house system B are connected to the ESB device 1 via the in-house network 11. The external system C is connected to the ESB device 1 via the external network 12.

ESB装置1は、ESBシステム10のユーザであるX社、Y社及びZ社から処理要求を受け付け、処理要求に対する処理の制御を行って、処理結果を返送する装置である。X社、Y社及びZ社は、外部ネットワーク12を介してESB装置1に接続される。   The ESB device 1 is a device that receives processing requests from companies X, Y, and Z, which are users of the ESB system 10, controls processing for the processing requests, and returns processing results. Company X, Company Y and Company Z are connected to the ESB device 1 via the external network 12.

社内システムA及び社内システムBは、ワークフローのタスクノードとして処理要求を処理する社内のシステムであり、外部システムCは、ワークフローのタスクノードとして処理要求を処理する社外のシステムである。ESB装置1は、処理要求で指定された処理ルートに基づいて、社内外のシステムに処理を依頼する。   The in-house system A and the in-house system B are internal systems that process processing requests as workflow task nodes, and the external system C is an external system that processes processing requests as workflow task nodes. The ESB device 1 requests a system inside and outside the company to perform processing based on the processing route specified by the processing request.

なお、ここでは、社内システムとして社内システムA及び社内システムBを示したが、ESBシステム10は、より多く又はより少ない社内システムを含んでもよい。また、ここでは、社外システムとして外部システムCのみを示したが、ESBシステム10は、より多くの社外システムを含んでもよい。また、ここでは、ESBシステム10のユーザとしてX社、Y社及びZ社を示したが、ESBシステム10は、より多く又はより少ないユーザに利用されてもよい。   Here, in-house system A and in-house system B are shown as in-house systems, but ESB system 10 may include more or fewer in-house systems. Although only the external system C is shown here as the external system, the ESB system 10 may include more external systems. Here, company X, company Y, and company Z are shown as users of the ESB system 10, but the ESB system 10 may be used by more or fewer users.

次に、ESB装置1の機能構成について説明する。図2は、ESB装置1の機能構成を示す図である。図2に示すように、ESB装置1は、情報を記憶する記憶部2と、処理の制御を行うワークフロー制御部3と、他のシステムと通信を行う通信制御部4とを有する。   Next, the functional configuration of the ESB device 1 will be described. FIG. 2 is a diagram illustrating a functional configuration of the ESB device 1. As illustrated in FIG. 2, the ESB device 1 includes a storage unit 2 that stores information, a workflow control unit 3 that controls processing, and a communication control unit 4 that communicates with other systems.

記憶部2は、受付情報記憶部21と、制御情報記憶部22と、履歴情報記憶部23と、業務情報記憶部24と、ルート情報記憶部25とを有する。ワークフロー制御部3は、受付部31と、開始部32と、処理依頼部33と、ノード遷移制御部34と、条件分岐判定部35と、異ルート遷移制御部36と、返送部37とを有する。   The storage unit 2 includes a reception information storage unit 21, a control information storage unit 22, a history information storage unit 23, a business information storage unit 24, and a route information storage unit 25. The workflow control unit 3 includes a reception unit 31, a start unit 32, a processing request unit 33, a node transition control unit 34, a conditional branch determination unit 35, a different route transition control unit 36, and a return unit 37. .

受付部31は、ワークフローにより処理される伝票すなわち処理要求をユーザから受け付け、受け付けた伝票の情報を受付情報記憶部21に格納する。   The accepting unit 31 accepts a slip to be processed by the workflow, that is, a processing request from the user, and stores information on the accepted slip in the acceptance information storage unit 21.

受付情報記憶部21は、受付部31が受け付けた伝票に関する情報である受付情報を記憶する。受付情報は、例えば、処理ルートを識別する処理ルートIDと、受け付けた伝票を識別する伝票IDと、ワークフローの入力となるデータである業務データとを伝票毎に対応付けた情報である。図3に受付情報の一例を示す。図3に示すように、「D−01」で識別される受付伝票の処理ルートは「ROOT−01」で識別され、ワークフローの入力となるデータは<CTRL>01</CTRL><DATA>11</DATA>である。   The reception information storage unit 21 stores reception information that is information related to the slip received by the reception unit 31. The reception information is, for example, information in which a processing route ID that identifies a processing route, a slip ID that identifies a received slip, and business data that is input of a workflow are associated with each slip. FIG. 3 shows an example of reception information. As shown in FIG. 3, the processing route of the receipt slip identified by “D-01” is identified by “ROOT-01”, and the data to be input to the workflow is <CTRL> 01 </ CTRL> <DATA> 11. </ DATA>.

開始部32は、受付情報を用いて処理ルートが同じ伝票を束ねてプロセスインスタンスを作成し、作成したプロセスインスタンスに関する情報を制御情報記憶部22、履歴情報記憶部23及び業務情報記憶部24に格納する。   The start unit 32 creates process instances by bundling slips having the same processing route using the received information, and stores information on the created process instances in the control information storage unit 22, the history information storage unit 23, and the business information storage unit 24. To do.

図3は、開始部32によるプロセスインスタンスの作成を説明するための図である。図3に示すように、X社、Y社及びZ社から受付部31が受け付けた処理要求に関する情報は受付情報として記憶される。なお、プロセスインスタンスを作成するために、先に受け付けられ処理要求は待たされることになる。そこで、開始部32は、長時間待たせることを抑止するため最大待ち合わせ時間を設け、最大待ち合わせ時間を超えると受け付けられた処理要求数が少なくてもプロセスインスタンスの作成を開始する。   FIG. 3 is a diagram for explaining creation of a process instance by the start unit 32. As illustrated in FIG. 3, information regarding processing requests received by the receiving unit 31 from the X company, the Y company, and the Z company is stored as reception information. Note that, in order to create a process instance, the processing request that has been accepted first is awaited. Therefore, the start unit 32 provides a maximum waiting time in order to suppress waiting for a long time, and when the maximum waiting time is exceeded, creation of a process instance is started even if the number of accepted processing requests is small.

図3では、開始部32は、受付情報の中から処理ルートIDが同じである5つの伝票をまとめて1つのプロセスインスタンスを作成し、作成したプロセスインスタンスに関する制御情報、履歴情報及び業務情報を作成する。   In FIG. 3, the start unit 32 creates one process instance by collecting five slips having the same processing route ID from the received information, and creates control information, history information, and business information regarding the created process instance. To do.

制御情報記憶部22は、ワークフローを制御するための情報である制御情報を記憶する。制御情報は、例えば、プロセスインスタンスを識別するプロセスインスタンスIDとフロー情報とをプロセスインスタンス毎に対応付けた情報である。図3では、開始部32は、作成したプロセスインスタンスのプロセスインスタンスID「P−01」と、フロー情報を制御情報記憶部22に格納する。   The control information storage unit 22 stores control information that is information for controlling the workflow. The control information is, for example, information in which a process instance ID for identifying a process instance and flow information are associated with each process instance. In FIG. 3, the start unit 32 stores the process instance ID “P-01” of the created process instance and the flow information in the control information storage unit 22.

図3において、プロセスインスタンスの状態は、プロセスインスタンスの処理状況を表す。プロセスインスタンスの状態において、○で囲まれたSは開始ノードを示し、○で囲まれたEは終端ノードを示す。   In FIG. 3, the state of a process instance represents the processing status of the process instance. In the process instance state, S surrounded by a circle indicates a start node, and E surrounded by a circle indicates a terminal node.

図3に示すように、「P−01」で識別されるプロセスインスタンスの処理ルートを示すルート情報は、開始ノードと、社内システムA、社内システムB及び外部システムCを示すタスクノードと、分岐ノードと、終端ノードから構成される。そして、フロー情報は、ルート情報で示されるノードのうち、実行が終了したノード及び実行中のノードまでの情報である。図3では、太線で示される開始ノードの処理が完了し、社内システムAのタスクノードが実行中である。   As shown in FIG. 3, the route information indicating the processing route of the process instance identified by “P-01” includes a start node, task nodes indicating in-house system A, in-house system B, and external system C, and branch nodes. And a terminal node. The flow information is information from the node indicated by the route information to the node that has been executed and the node that is being executed. In FIG. 3, the processing of the start node indicated by the bold line is completed, and the task node of the in-house system A is being executed.

図4は、ルート情報のデータ構造の一例を示す図であり、図5は、フロー情報のデータ構造の一例を示す図である。図4において、<process_definition id=“pd01”>は、ルート情報の識別子が「pd01」であることを示す。また、図4では、ルート情報は<nodes>と</nodes>で囲まれた5つのノードの情報から構成され、各ノードの情報は、<node ... />の形式で定義される。   FIG. 4 is a diagram illustrating an example of a data structure of route information, and FIG. 5 is a diagram illustrating an example of a data structure of flow information. In FIG. 4, <process_definition id = “pd01”> indicates that the identifier of the route information is “pd01”. In FIG. 4, the route information is composed of information of five nodes surrounded by <nodes> and </ nodes>, and the information of each node is <node. . . /> Format.

各ノードの定義において、idはノードを識別する識別子を示す。typeはノードの種類を示し、type=“start”は開始ノードを示し、type=“task”はタスクノードを示し、type=“branch”は分岐ノードを示し、type=“end”は終端ノードを示す。next_nodeは次のノードを示す。   In the definition of each node, id indicates an identifier for identifying the node. type indicates the type of node, type = “start” indicates the start node, type = “task” indicates the task node, type = “branch” indicates the branch node, and type = “end” indicates the end node. Show. Next_node indicates the next node.

タスクノードにおいて、nameはタスクを実行するシステム名を示す。分岐ノードにおいて、<branch ... />は、各分岐ルートを示し、idは分岐ルートの識別子を示し、conditionは分岐条件すなわち条件分岐の判定条件を示す。   In the task node, name indicates the name of the system that executes the task. At the branch node, <branch. . . /> Indicates each branch route, id indicates an identifier of the branch route, and condition indicates a branch condition, that is, a condition branch determination condition.

図5において、<process_instance id=“P−01”>は、フロー情報の識別子が「P−01」であることを示す。<process_definition id=“pd01”/>は、フロー情報の基となるルート情報の識別子が「pd01」であることを示す。<status id=“active”/>は対応するプロセスインスタンスが実行中であることを示す。   In FIG. 5, <process_instance id = “P-01”> indicates that the identifier of the flow information is “P-01”. <Process_definition id = “pd01” /> indicates that the identifier of the route information that is the basis of the flow information is “pd01”. <Status id = “active” /> indicates that the corresponding process instance is being executed.

<active_nodes> ... </active_nodes>は実行中のノードを示し、図5では、idが“node04”であるタスクノードに対応するシステム、すなわち、社内システムBが実行中である。<tasks> ... </tasks>は伝票の処理状況を示し、<task ... />は各伝票の処理状況を示す。idは伝票の識別子を示し、statusは処理の状況を示す。status=“finished”は終了を示し、status=“running”は実行中であることを示す。   <Active_nodes>. . . </ Active_nodes> indicates a node being executed. In FIG. 5, the system corresponding to the task node whose id is “node04”, that is, the in-house system B is being executed. <Tasks>. . . </ Tasks> indicates the processing status of the slip, and <task. . . /> Indicates the processing status of each slip. id indicates the identifier of the slip, and status indicates the status of processing. “status =“ finished ”” indicates the end, and “status =“ running ”indicates that it is being executed.

<finished_nodes> ... </finished_nodes>は実行が終了したノードを示す。ノードが分岐ノードである場合には、分岐先が示される。図5では、IDが“node03”である分岐ノードの分岐先が“右ルートへ”である。また、図5では、フロー情報のイメージで太線で示すように、開始ノード、社内システムAに対応するノード、分岐ノードの実行が終了している。   <Finished_nodes>. . . </ Finished_nodes> indicates a node that has finished executing. If the node is a branch node, the branch destination is indicated. In FIG. 5, the branch destination of the branch node whose ID is “node03” is “to the right route”. In FIG. 5, the execution of the start node, the node corresponding to the in-house system A, and the branch node is completed as indicated by the bold line in the flow information image.

図2に戻って、履歴情報記憶部23は、プロセスインスタンスに対する処理履歴の情報である履歴情報を記憶する。履歴情報は、例えば、プロセスインスタンスIDと処理ノードと実行日時とをプロセスインスタンス毎ノード毎に対応付けた情報である。ここで、処理ノードは、実行が終了したノードであり、実行日時は、ノードが実行された日時である。図3では、開始部32は、作成したプロセスインスタンスのプロセスインスタンスID「P−01」と処理ノード「S」と実行日時「5/13 10:00」を初期履歴情報として履歴情報記憶部23に格納する。   Returning to FIG. 2, the history information storage unit 23 stores history information that is processing history information for a process instance. The history information is, for example, information in which a process instance ID, a processing node, and an execution date / time are associated with each process instance node. Here, the processing node is a node that has been executed, and the execution date and time is the date and time that the node was executed. In FIG. 3, the start unit 32 stores the process instance ID “P-01”, the processing node “S”, and the execution date “5/13 10:00” of the created process instance in the history information storage unit 23 as initial history information. Store.

業務情報記憶部24は、プロセスインスタンス毎に業務データがまとめられた情報である業務情報を記憶する。業務情報は、例えば、プロセスインスタンスIDと業務データ群とをプロセスインスタンス毎に対応付けた情報である。ここで、業務データ群には、プロセスインスタンス毎にまとめられた業務データの数、伝票ID及び業務データが含まれる。   The business information storage unit 24 stores business information that is information in which business data is collected for each process instance. The business information is, for example, information in which a process instance ID and a business data group are associated with each process instance. Here, the business data group includes the number of business data, slip ID, and business data collected for each process instance.

図3では、開始部32は、作成したプロセスインスタンスのプロセスインスタンスID「P−01」と、プロセスインスタンス毎にまとめられた業務データの数「count=“5”」及び5つの業務データを含む業務データ群とを業務情報記憶部24に格納する。また、各業務データに対して伝票IDが<DENPYO id=“伝票ID”>の形式で付加されている。   In FIG. 3, the start unit 32 includes a process instance ID “P-01” of the created process instance, a number of business data “count =“ 5 ”” collected for each process instance, and a business including five business data. The data group is stored in the business information storage unit 24. A slip ID is added to each business data in a format of <DENPYO id = “slip ID”>.

ルート情報記憶部25は、ルート情報を記憶する。ルート情報は、例えば、図4に示したように、処理ルートの識別子と、処理ルートを構成するノード及びノード間の接続に関する情報とを対応付けた情報である。   The route information storage unit 25 stores route information. For example, as illustrated in FIG. 4, the route information is information in which an identifier of a processing route is associated with information on nodes constituting the processing route and connections between the nodes.

処理依頼部33は、タスクノードに対応する社内外のシステムに処理を依頼し、処理結果をシステムから受け取る。処理依頼部33は、伝票毎に処理を依頼し、伝票毎に処理結果を受け取る。また、処理依頼部33は、全ての伝票の処理結果を受け取ると、ノード完了処理として、制御情報記憶部22及び履歴情報記憶部23が各々記憶する制御情報及び履歴情報を更新する。   The processing request unit 33 requests processing inside and outside the company corresponding to the task node, and receives the processing result from the system. The processing request unit 33 requests processing for each slip and receives a processing result for each slip. When the processing request unit 33 receives the processing results of all the slips, the processing request unit 33 updates the control information and history information stored in the control information storage unit 22 and the history information storage unit 23, respectively, as node completion processing.

ノード遷移制御部34は、処理が終了したノードの次のノードの処理に遷移するように、プロセスインスタンスのルート情報に基づいてノードの遷移を制御する。   The node transition control unit 34 controls the transition of the node based on the route information of the process instance so as to transit to the process of the node next to the node for which the process has been completed.

条件分岐判定部35は、タスクノードの処理が完了したときに次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、ルート情報から分岐ノードの分岐条件を取得し、伝票毎に分岐先を判定する。そして、条件分岐判定部35は、分岐先毎に伝票を保持する。   The conditional branch determination unit 35 determines whether or not the next node is a branch node when the processing of the task node is completed. If the next node is a branch node, the branch condition of the branch node is determined from the route information. And determine the branch destination for each slip. Then, the conditional branch determination unit 35 holds a slip for each branch destination.

異ルート遷移制御部36は、次のノードが分岐ノードである場合に、条件分岐判定部35の判定結果に基づいて、分岐先が複数あるか否かを判定し、分岐先が複数ある場合には、新たなプロセスインスタンスを作成する。そして、異ルート遷移制御部36は、作成したプロセスインスタンスも含めて各プロセスインスタンスの処理が次のノードに遷移するように制御する。また、異ルート遷移制御部36は、伝票毎の分岐先に応じて業務情報をプロセスインスタンス毎に分ける。   The different route transition control unit 36 determines whether there are a plurality of branch destinations based on the determination result of the conditional branch determination unit 35 when the next node is a branch node. Creates a new process instance. Then, the different route transition control unit 36 performs control so that the processing of each process instance including the created process instance transitions to the next node. Also, the different route transition control unit 36 divides the business information for each process instance according to the branch destination for each slip.

図6A及び図6Bは、条件分岐判定部35と異ルート遷移制御部36による処理を説明するための第1の図及び第2の図である。図6Aは、分岐前の状態を示し、図6Bは、分岐後の状態を示す。   6A and 6B are a first diagram and a second diagram for explaining processing by the conditional branch determination unit 35 and the different route transition control unit 36. FIG. FIG. 6A shows a state before branching, and FIG. 6B shows a state after branching.

図6Aに示すように、分岐前のプロセスインスタンス「P−01」の状態は、社内システムAによる処理が終了した状態であり、制御情報、履歴情報及び業務情報にはプロセスインスタンス「P−01」の情報が登録されている。条件分岐判定部35は、伝票毎に分岐条件を判定し、伝票を分岐先に基づいて分ける。そして、異ルート遷移制御部36は、分岐先の数−1の新たなプロセスインスタンスを作成する。図6Bでは、「外部システムC」へ分岐する伝票に対して新たなプロセスインスタンス「P−03」が作成されている。   As shown in FIG. 6A, the state of the process instance “P-01” before branching is a state in which the processing by the in-house system A is completed, and the process instance “P-01” is included in the control information, history information, and business information. Is registered. The conditional branch determination unit 35 determines a branch condition for each slip and divides the slip based on the branch destination. Then, the different route transition control unit 36 creates the number of branch destinations minus 1 new process instances. In FIG. 6B, a new process instance “P-03” is created for the slip branching to “external system C”.

そして、異ルート遷移制御部36は、分岐前のプロセスインスタンス「P−01」の制御情報及び履歴情報をコピーしてプロセスインスタンス「P−03」の制御情報及び履歴情報とする。また、異ルート遷移制御部36は、伝票毎の分岐先に応じて業務情報を再構築する。図6Bでは、伝票IDが「D−01」、「D−04」及び「D−07」である3つの伝票がプロセスインスタンス「P−01」としてまとめられ、伝票IDが「D−02」及び「D−05」である2つの伝票がプロセスインスタンス「P−03」としてまとめられている。   Then, the different route transition control unit 36 copies the control information and history information of the process instance “P-01” before branching to make the control information and history information of the process instance “P-03”. Also, the different route transition control unit 36 reconstructs the business information according to the branch destination for each slip. In FIG. 6B, three slips having slip IDs “D-01”, “D-04”, and “D-07” are grouped as a process instance “P-01”, and slip IDs are “D-02” and “D-02”. Two slips “D-05” are collected as a process instance “P-03”.

図3に戻って、返送部37は、終端ノードに到達したプロセスインスタンスについて、各伝票の処理結果を処理の依頼元に送信する。   Returning to FIG. 3, the return unit 37 transmits the processing result of each slip to the process requester for the process instance that has reached the terminal node.

次に、ESB装置1の処理のフローについて説明する。図7は、ESB装置1の処理のフローを示すフローチャートである。図7に示すように、受付部31が、ユーザから処理要求を受け付け(ステップS1)、受け付けた処理要求の情報を受付情報記憶部21に格納する。   Next, a processing flow of the ESB device 1 will be described. FIG. 7 is a flowchart showing a processing flow of the ESB device 1. As illustrated in FIG. 7, the reception unit 31 receives a processing request from the user (step S <b> 1), and stores the received processing request information in the reception information storage unit 21.

そして、一定の待ち時間が経過すると、開始部32が、受付情報記憶部21に記憶された情報を用いて、処理ルートが同じ処理要求を束ねたプロセスインスタンス(群)を作成し(ステップS2)、対応する制御情報、履歴情報及び業務情報を作成する。ここで、プロセスインスタンス(群)は、作成されるプロセスインスタンスが1つ又は複数であることを表す。また、処理要求の処理ルートには、条件分岐が含まれてもよい。   Then, when a certain waiting time elapses, the start unit 32 uses the information stored in the reception information storage unit 21 to create a process instance (group) in which processing requests having the same processing route are bundled (step S2). Create corresponding control information, history information, and business information. Here, the process instance (group) indicates that one or more process instances are created. Further, the processing request processing route may include a conditional branch.

そして、ワークフロー制御部3が、作成された全てのプロセスインスタンスについて処理を開始する(ステップS3)。具体的には、ワークフロー制御部3は、開始ノードの次のタスクノードから処理を開始する。そして、各プロセスインスタンスの処理が終了すると、返送部37が各伝票の処理結果を依頼元に送信する(ステップS4)。   Then, the workflow control unit 3 starts processing for all created process instances (step S3). Specifically, the workflow control unit 3 starts processing from the task node next to the start node. When the processing of each process instance is completed, the return unit 37 transmits the processing result of each slip to the requester (step S4).

このように、開始部32が処理ルートに条件分岐が含まれる処理要求を含めて処理ルートが同じ処理要求を束ねることによって、ESB装置1は処理要求を効率よく処理することができる。   As described above, the ESB device 1 can efficiently process a processing request by the start unit 32 bundling processing requests having the same processing route including processing requests including a conditional branch in the processing route.

次に、各プロセスインスタンスについての処理のフローについて説明する。図8は、各プロセスインスタンスについての処理のフローを示すフローチャートである。図8に示すように、処理依頼部33が、タスクノードに対応するシステムに処理を依頼する(ステップS11)。処理依頼部33は、伝票毎にシステムに処理を依頼する。   Next, the process flow for each process instance will be described. FIG. 8 is a flowchart showing a flow of processing for each process instance. As shown in FIG. 8, the process request unit 33 requests a process corresponding to the task node (step S11). The processing request unit 33 requests the system for processing for each slip.

そして、処理依頼部33は、システムから伝票の処理結果を受領する(ステップS12)。処理依頼部33は、伝票毎にシステムから処理結果を受領する。そして、全ての伝票について処理結果を受領すると、ワークフロー制御部3は、ノード完了処理を実行する(ステップS13)。ノード完了処理には、制御情報及び履歴情報の更新が含まれる。   Then, the processing request unit 33 receives the processing result of the slip from the system (step S12). The processing request unit 33 receives a processing result from the system for each slip. When the processing results are received for all the slips, the workflow control unit 3 executes node completion processing (step S13). The node completion processing includes update of control information and history information.

そして、ワークフロー制御部3は、次のノードが分岐ノードであるか否かの判定及び次のノードが分岐ノードである場合の分岐処理を実行する分岐判定実行処理を行う(ステップS14)。   Then, the workflow control unit 3 performs a branch determination execution process for determining whether or not the next node is a branch node and executing a branch process when the next node is a branch node (step S14).

そして、ワークフロー制御部3は、次のノードが終端ノードであるか否かを判定し(ステップS15)、終端ノードでない場合には、ステップS11に戻り、終端ノードである場合には、処理を終了する。   Then, the workflow control unit 3 determines whether or not the next node is a terminal node (step S15). If the next node is not a terminal node, the process returns to step S11. If the next node is a terminal node, the process ends. To do.

このように、ワークフロー制御部3がタスクノードの処理が完了したときに分岐判定実行処理を行うことによって、ESB装置1は処理ルートが同じで条件分岐を含む処理要求を束ねて処理することができる。   As described above, the workflow control unit 3 performs the branch determination execution process when the processing of the task node is completed, so that the ESB device 1 can process the processing requests including the conditional branch with the same processing route. .

次に分岐判定実行処理のフローについて説明する。図9は、分岐判定実行処理のフローを示すフローチャートである。図9に示すように、条件分岐判定部35が、次のノードが分岐ノードか否かを判定する(ステップS21)。その結果、次のノードが分岐ノードでない場合には、ノード遷移制御部34が、処理中のプロセスインスタンスを次のノードに遷移し(ステップS31)、処理を終了する。   Next, the flow of the branch determination execution process will be described. FIG. 9 is a flowchart showing the flow of the branch determination execution process. As shown in FIG. 9, the conditional branch determination unit 35 determines whether or not the next node is a branch node (step S21). As a result, if the next node is not a branch node, the node transition control unit 34 transitions the process instance being processed to the next node (step S31), and ends the process.

一方、次のノードが分岐ノードである場合には、条件分岐判定部35は、分岐条件を取得し、各伝票について分岐条件を判定して分岐先毎すなわち処理ルート毎に分け、処理ルートと伝票(群)の対で保持する(ステップS22)。ここで、伝票(群)は、伝票の数が1つ又は複数であることを表す。   On the other hand, when the next node is a branch node, the conditional branch determination unit 35 acquires the branch condition, determines the branch condition for each slip, and divides the slip into each branch destination, that is, each processing route. The group is held in pairs (step S22). Here, the slip (group) indicates that the number of slips is one or more.

そして、異ルート遷移制御部36が、処理ルートと伝票(群)の対を順番に取り出し(ステップS23)、取り出した対が、保持している対の最後の対以外か否かを判定する(ステップS24)。   Then, the different route transition control unit 36 sequentially takes out the pair of the processing route and the slip (group) (step S23), and determines whether or not the taken out pair is other than the last pair held ( Step S24).

その結果、最後の対以外の場合には、異ルート遷移制御部36は、新しいプロセスインスタンスIDを割り当て、取り出した伝票(群)を業務データ群に追加する(ステップS25)。そして、異ルート遷移制御部36は、処理中のプロセスインスタンスの制御情報と履歴情報をコピーして、プロセスインスタンスIDに新しく割り当てたプロセスインスタンスIDを設定する(ステップS26)。すなわち、異ルート遷移制御部36は、コピーした情報を新しく割り当てたプロセスインスタンスIDに対応付けて制御情報と履歴情報に追加する。そして、異ルート遷移制御部36は、新しくIDを割り当てたプロセスインスタンスに対して、取り出した処理ルートを通って次のノードに遷移するように制御する(ステップS27)。   As a result, in the case other than the last pair, the different route transition control unit 36 assigns a new process instance ID and adds the retrieved slip (group) to the business data group (step S25). Then, the different route transition control unit 36 copies the control information and history information of the process instance being processed, and sets the newly assigned process instance ID to the process instance ID (step S26). That is, the different route transition control unit 36 adds the copied information to the control information and the history information in association with the newly assigned process instance ID. Then, the different route transition control unit 36 controls the process instance newly assigned an ID so as to transit to the next node through the extracted processing route (step S27).

一方、取り出した対が、保持している対の最後の対以外でない場合、すなわち保持している対の最後の対である場合、異ルート遷移制御部36は、処理ルートと伝票(群)の対が2対以上存在するか否かを判定する(ステップS28)。その結果、異ルート遷移制御部36は、2対以上存在しない場合には、ステップS30に進み、2対以上存在する場合には、取り出した伝票(群)を、処理中のプロセスインスタンスIDの業務データ群に設定する(上書きする)(ステップS29)。そして、異ルート遷移制御部36は、処理中のプロセスインスタンスに対して、取り出した処理ルートを通って次のノードに遷移するように制御する(ステップS30)。   On the other hand, when the taken-out pair is not the last pair of the retained pair, that is, the last pair of the retained pair, the different route transition control unit 36 sets the processing route and the slip (group). It is determined whether there are two or more pairs (step S28). As a result, if there are not two or more pairs, the different route transition control unit 36 proceeds to step S30, and if there are two or more pairs, the slip (group) that has been taken out is processed with the process instance ID being processed. The data group is set (overwritten) (step S29). Then, the different route transition control unit 36 controls the process instance being processed so as to transit to the next node through the extracted processing route (step S30).

このように、次のノードが分岐ノードであって、複数の処理ルートに分岐する場合に、異ルート遷移制御部36が、新たなプロセスインスタンスIDを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスIDに設定する。したがって、ESB装置1は、処理ルートに分岐ノードを含む伝票を束ねて処理することができる。   In this way, when the next node is a branch node and branches to a plurality of processing routes, the different route transition control unit 36 assigns a new process instance ID, copies the control information and history information, and creates a new one. Set to the correct process instance ID. Accordingly, the ESB device 1 can process a slip including a branch node in the processing route.

上述してきたように、実施例1では、条件分岐判定部35が、次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、分岐条件を伝票毎に判定する。そして、複数の分岐先があると、異ルート遷移制御部36が、新たなプロセスインスタンスIDを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスを作成する。したがって、ワークフローに分岐がある場合にも、ESB装置1は、処理ルートが同じ処理要求を束ねたプロセスインスタンスを作成して処理することができる。   As described above, in the first embodiment, the conditional branch determination unit 35 determines whether or not the next node is a branch node. If the next node is a branch node, the branch condition is set for each slip. judge. If there are a plurality of branch destinations, the different route transition control unit 36 assigns a new process instance ID and copies the control information and history information to create a new process instance. Therefore, even when there is a branch in the workflow, the ESB device 1 can create and process a process instance in which processing requests having the same processing route are bundled.

ところで、上記実施例1では、1つのタスクノードの処理が全ての伝票について完了したときに、分岐条件を判定して伝票を束ね直す場合について説明した。しかしながら、各伝票の処理が完了したときに分岐条件を判定して伝票を処理ルートに分けることもできる。そこで、実施例2では、タスクノードの処理が1つの伝票について完了したときに分岐条件を判定して伝票を処理ルートに分ける場合について説明する。   By the way, in the first embodiment, the case where the branch condition is determined and the slips are bundled again when the processing of one task node is completed for all the slips has been described. However, it is also possible to determine the branch condition when processing of each slip is completed and to divide the slip into processing routes. Thus, in the second embodiment, a case will be described in which the branch condition is determined when the task node processing is completed for one slip and the slip is divided into processing routes.

図10は、実施例2に係るESB装置の機能構成を示す図である。なお、ここでは説明の便宜上、図2に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。   FIG. 10 is a diagram illustrating a functional configuration of the ESB device according to the second embodiment. Here, for convenience of explanation, functional units that play the same functions as the respective units shown in FIG.

図10に示すように、実施例2に係るESB装置5は、記憶部6と、ワークフロー制御部7と、通信制御部4とを有する。記憶部6は、図2に示した記憶部2と比較して、判定結果情報記憶部66をさらに有する。ワークフロー制御部7は、図2に示したワークフロー制御部3と比較して、条件分岐判定部35の代わりに条件分岐判定部75を有し、異ルート遷移制御部36の代わりに異ルート遷移制御部76を有する。   As illustrated in FIG. 10, the ESB device 5 according to the second embodiment includes a storage unit 6, a workflow control unit 7, and a communication control unit 4. The storage unit 6 further includes a determination result information storage unit 66 as compared with the storage unit 2 shown in FIG. Compared with the workflow control unit 3 shown in FIG. 2, the workflow control unit 7 includes a conditional branch determination unit 75 instead of the conditional branch determination unit 35, and different route transition control instead of the different route transition control unit 36. Part 76.

判定結果情報記憶部66は、条件分岐判定部75による判定結果を分岐判定結果情報として記憶する。分岐判定結果情報は、例えば、図11に示すように、分岐前のプロセスインスタンスIDと、分岐先に対応する処理ルートと、分岐先に対応する処理ルートのプロセスインスタンスIDである処理ルートプロセスインスタンスIDとを対応付けた情報である。   The determination result information storage unit 66 stores the determination result by the conditional branch determination unit 75 as branch determination result information. For example, as shown in FIG. 11, the branch determination result information includes the process instance ID before branching, the processing route corresponding to the branch destination, and the processing route process instance ID that is the process instance ID of the processing route corresponding to the branch destination. Is associated with each other.

条件分岐判定部75は、処理中のタスクノードの次のノードが分岐ノードである場合に、1つの伝票の処理が完了するたびに分岐条件を判定し、判定結果に基づいて分岐判定結果情報を更新する。具体的には、条件分岐判定部75は、分岐条件の判定によりこれまでの分岐先とは異なる新たな分岐先があることが判明すると、新しいプロセスインスタンスIDを割り当て、処理ルートと共に分岐判定結果情報に追加する。   When the next node of the task node being processed is a branch node, the conditional branch determination unit 75 determines a branch condition each time processing of one slip is completed, and determines branch determination result information based on the determination result. Update. Specifically, the conditional branch determination unit 75 assigns a new process instance ID and determines the branch determination result information together with the processing route when it is determined by the determination of the branch condition that there is a new branch destination different from the previous branch destination. Add to

異ルート遷移制御部76は、処理中のタスクノードの次のノードが分岐ノードである場合に、条件分岐判定部75により新しくプロセスインスタンスIDが割り当てられたプロセスインスタンスを全ての伝票の処理が完了したときに作成する。そして、異ルート遷移制御部76は、新たに作成したプロセスインスタンス及び処理中のプロセスインスタンスについて、分岐先のノードに処理が遷移するように制御する。   When the next node of the task node being processed is a branch node, the different route transition control unit 76 has completed the processing of all slips for the process instance to which the process instance ID is newly assigned by the conditional branch determination unit 75. Create when. Then, the different route transition control unit 76 performs control so that the process transitions to the branch destination node for the newly created process instance and the process instance being processed.

図11は、条件分岐判定部75と異ルート遷移制御部76による処理を説明するための図である。図11は、「社内システムA」の処理後に分岐がある場合を示す。条件分岐判定部75は、「社内システムA」の処理で、あらかじめ条件分岐の判定条件を取り込んでおき、伝票毎の処理完了時に分岐判定を行う。   FIG. 11 is a diagram for explaining processing by the conditional branch determination unit 75 and the different route transition control unit 76. FIG. 11 shows a case where there is a branch after the processing of “in-house system A”. The conditional branch determination unit 75 fetches the conditional branch determination conditions in advance in the “in-house system A” process, and performs branch determination when the processing for each slip is completed.

そして、条件分岐判定部75は、新しい分岐先への分岐があることが判明すると、新しいプロセスインスタンスIDを割り当て、新しい分岐先と共に、分岐判定結果情報に追加する。   When it is determined that there is a branch to a new branch destination, the conditional branch determination unit 75 assigns a new process instance ID and adds it to the branch determination result information together with the new branch destination.

図11において、分岐前に「P−01」で識別されるプロセスインスタンスでは、分岐先が「右」である場合の処理ルートは「右ルートへ」であり、処理ルートのプロセスインスタンスIDは「P−01」で変わらない。また、分岐先が「下」場合の処理ルートは「下ルートへ」であり、処理ルートのプロセスインスタンスIDは新たに割り当てられた「P−03」に変更される。   In FIG. 11, in the process instance identified by “P-01” before branching, the processing route when the branch destination is “right” is “to right route”, and the process instance ID of the processing route is “P”. “-01” does not change. Further, when the branch destination is “down”, the processing route is “to lower route”, and the process instance ID of the processing route is changed to “P-03” newly assigned.

また、条件分岐判定部75は、伝票データを分岐判定結果に応じた処理ルートのプロセスインスタンスIDに対応付けて分ける。したがって、5つの伝票に対して「社内システムA」の処理が完了した時点で、業務情報は図11に示すように、2つのプロセスインスタンスIDに対応付けて分けられる。   In addition, the conditional branch determination unit 75 divides the slip data in association with the process instance ID of the processing route corresponding to the branch determination result. Accordingly, when the processing of “in-house system A” is completed for the five slips, the business information is divided in association with the two process instance IDs as shown in FIG.

そして、全ての伝票に対して「社内システムA」の処理が完了すると、異ルート遷移制御部76が、分岐先に対応する2つのプロセスインスタンスに対して分岐判定結果情報の処理ルートへの遷移を行う。すなわち、プロセスインスタンス「P−01」に対しては「社内システムB」への遷移を行い、プロセスインスタンス「P−03」に対しては「社内システムC」への遷移を行う。   When the processing of “in-house system A” is completed for all slips, the different route transition control unit 76 changes the branch determination result information to the processing route for the two process instances corresponding to the branch destinations. Do. That is, the process instance “P-01” is transitioned to “in-house system B”, and the process instance “P-03” is transitioned to “in-house system C”.

次に、条件分岐判定部75及び異ルート遷移制御部76による処理の詳細について説明する。図12A〜図12Dは、条件分岐判定部75による処理の詳細を説明するための第1の図〜第4の図である。図12Aに示すように、処理依頼部33は、伝票毎に「社内システムA」に処理を依頼する。   Next, details of processing by the conditional branch determination unit 75 and the different route transition control unit 76 will be described. 12A to 12D are first to fourth diagrams for explaining details of processing performed by the conditional branch determination unit 75. FIG. As illustrated in FIG. 12A, the processing request unit 33 requests the “in-house system A” for processing for each slip.

ここで、「社内システムA」の次の分岐ノードの分岐条件が、例えば、伝票データ<DATA>の1バイト目に基づくものであり、1バイト目が“0”以外の場合に右のルートへ遷移し、“0”の場合は下のルートに遷移するものとする。このように伝票毎のデータが分岐の判断条件となる場合、伝票データがばらけている状態の各伝票処理が完了したときに分岐判定を行って伝票データをプロセスインスタンス毎に分ける方が全ての伝票データを一度に分けるより効率が良い。そこで、条件分岐判定部75は、あらかじめ分岐条件を取り込んでおき、各伝票の処理が完了した時点で分岐判定を行って伝票データをプロセスインスタンス毎に分ける。   Here, the branch condition of the next branch node of “in-house system A” is based on, for example, the first byte of the slip data <DATA>, and when the first byte is other than “0”, go to the right route. Transition is made, and in the case of “0”, transition is made to the lower route. In this way, when the data for each slip is a decision criterion for branching, when each slip processing with the slip data being scattered is completed, branch determination is performed to separate the slip data for each process instance. It is more efficient than dividing the slip data at once. Therefore, the conditional branch determination unit 75 fetches branch conditions in advance, performs branch determination when processing of each slip is completed, and divides the slip data for each process instance.

すなわち、図12Bに示すように、伝票ID=“D−01”である伝票の処理結果を「社内システムA」から受け取ると、条件分岐判定部75は、分岐条件の判定を行い、判定の結果を分岐判定条件情報として記憶する。このとき、伝票データは“11”であるので、1バイト目が“0”以外の場合であり、処理ルートは「右ルートへ」となる。また、処理ルートプロセスインスタンスIDは、現在のプロセスインスタンスID「P−01」と同じになる。また、処理ルートプロセスインスタンスIDで伝票データを業務情報として記憶する。   That is, as shown in FIG. 12B, when the processing result of the slip with the slip ID = “D-01” is received from “in-house system A”, the conditional branch determination unit 75 determines the branch condition, and the determination result. Is stored as branch determination condition information. At this time, since the slip data is “11”, the first byte is other than “0”, and the processing route is “to the right route”. Further, the process root process instance ID is the same as the current process instance ID “P-01”. Further, the slip data is stored as business information with the processing route process instance ID.

そして、図12Cに示すように、伝票ID=“D−02”である伝票の処理結果を「社内システムA」から受け取ると、条件分岐判定部75は、分岐条件の判定を行う。そして、条件分岐判定部75は、伝票データは“02”であるので、1バイト目が“0”の場合であり、処理ルートを「下ルートへ」とする。分岐判定条件情報には同じ処理ルートの情報が存在しないため、条件分岐判定部75は、処理ルートプロセスインスタンスIDに新しいプロセスインスタンスID「P−03」を割り当てる。また、条件分岐判定部75は、処理ルートプロセスインスタンスIDで伝票データを業務情報として記憶する。この結果、業務情報には、「P−01」に対応付けられた伝票データと「P−03」に対応付けられた伝票データができる。   Then, as shown in FIG. 12C, when the processing result of the slip with the slip ID = “D-02” is received from “in-house system A”, the conditional branch determination unit 75 determines the branch condition. Since the slip data is “02”, the conditional branch determination unit 75 sets the processing route to “downward route” when the first byte is “0”. Since the information on the same processing route does not exist in the branch determination condition information, the conditional branch determination unit 75 assigns a new process instance ID “P-03” to the processing route process instance ID. Further, the conditional branch determination unit 75 stores the slip data as business information with the processing route process instance ID. As a result, the business information includes slip data associated with “P-01” and slip data associated with “P-03”.

そして、図12Dに示すように、伝票ID=“D−04”である伝票の処理結果を「社内システムA」から受け取ると、条件分岐判定部75は、分岐条件の判定を行う。そして、条件分岐判定部75は、伝票データは“44”であるので、1バイト目が“0”以外の場合であり、処理ルートを「右ルートへ」とする。分岐判定条件情報には同じ処理ルートの情報が存在するため、条件分岐判定部75は、処理ルートプロセスインスタンスID「P−01」に対応付けて伝票データを業務情報に追加する。   Then, as shown in FIG. 12D, when the processing result of the slip with the slip ID = “D-04” is received from “in-house system A”, the conditional branch determination unit 75 determines the branch condition. Since the slip data is “44”, the conditional branch determination unit 75 sets the processing route to “to the right route” in the case where the first byte is other than “0”. Since the branch determination condition information includes the same processing route information, the conditional branch determination unit 75 adds the slip data to the business information in association with the processing route process instance ID “P-01”.

このように、条件分岐判定部75は、分岐判定の結果を分岐判定結果情報として保存すると共に、伝票データを分岐判定毎に処理ルートプロセスインスタンスIDに対応付けて業務情報に追加する。したがって、ESB装置5は、一度束ねた業務データ群を分解して全伝票の分岐判定後にまとめて束ね直す処理コストを削減できる。   As described above, the conditional branch determination unit 75 stores the branch determination result as branch determination result information, and adds the slip data to the business information in association with the processing route process instance ID for each branch determination. Therefore, the ESB device 5 can reduce the processing cost of reassembling the business data group once bundled and re-bundling them together after branch determination of all slips.

図13A〜図13Dは、異ルート遷移制御部76の処理の詳細を説明するための第1の図〜第4の図である。図13Aに示すように、条件分岐までのプロセスインスタンスの情報(制御情報及び履歴情報)は同じなので、異ルート遷移制御部76は、制御情報と履歴情報をコピーしてルート毎にプロセスインスタンスの情報を分ける。なお、業務情報については、条件分岐判定部75によりプロセスインスタンス毎に分けられているので、異ルート遷移制御部76は処理を行う必要はない。   13A to 13D are first to fourth diagrams for explaining details of processing of the different route transition control unit 76. As shown in FIG. 13A, since the process instance information (control information and history information) up to the conditional branch is the same, the different route transition control unit 76 copies the control information and the history information to obtain the process instance information for each route. Separate. Since the business information is divided for each process instance by the conditional branch determination unit 75, the different route transition control unit 76 does not need to perform processing.

そして、異ルート遷移制御部76は、図13Bに示すように、新たに作成したプロセスインスタンス「P−03」の制御情報を「下ルート」を通った状態に変更する。すなわち、異ルート遷移制御部76は、プロセスインスタンス「P−03」のノードを分岐ノードから「外部システムC」に対応するノードに遷移する。   Then, as shown in FIG. 13B, the different route transition control unit 76 changes the control information of the newly created process instance “P-03” to a state that has passed through the “lower route”. That is, the different route transition control unit 76 transitions the node of the process instance “P-03” from the branch node to the node corresponding to the “external system C”.

また、異ルート遷移制御部76は、図13Cに示すように、プロセスインスタンス「P−01」の制御情報を「右ルート」を通った状態に変更する。すなわち、異ルート遷移制御部76は、プロセスインスタンス「P−01」のノードを分岐ノードから「社内システムB」に対応するノードに遷移する。   Further, as shown in FIG. 13C, the different route transition control unit 76 changes the control information of the process instance “P-01” to a state that has passed the “right route”. That is, the different route transition control unit 76 changes the node of the process instance “P-01” from the branch node to a node corresponding to the “in-house system B”.

図13Dは、分岐処理後の制御情報、履歴情報及び業務情報を示す。図13Dに示すように、制御情報には、プロセスインスタンス「P−01」及び「P−03」の情報が登録される。プロセスインスタンス「P−01」のフロー情報は、ワークフローの処理が「社内システムB」に遷移したことを示し、プロセスインスタンス「P−03」のフロー情報は、ワークフローの処理が「外部システムC」に遷移したことを示す。   FIG. 13D shows control information, history information, and business information after branch processing. As illustrated in FIG. 13D, information of process instances “P-01” and “P-03” is registered in the control information. The flow information of the process instance “P-01” indicates that the workflow processing has transitioned to “in-house system B”, and the flow information of the process instance “P-03” indicates that the workflow processing has changed to “external system C”. Indicates a transition.

履歴情報には、プロセスインスタンス「P−01」及び「P−03」に関する情報として同じ情報が登録される。業務情報には、プロセスインスタンス「P−01」に関して、伝票ID=“D−01”、伝票ID=“D−04”及び伝票ID=“D−07”の伝票データが登録される。また、プロセスインスタンス「P−03」に関して、伝票ID=“D−02”及び伝票ID=“D−05”の伝票データが業務情報に登録される。   In the history information, the same information is registered as information regarding the process instances “P-01” and “P-03”. In the business information, slip data of slip ID = “D-01”, slip ID = “D-04”, and slip ID = “D-07” is registered for the process instance “P-01”. Further, for the process instance “P-03”, the slip data of the slip ID = “D-02” and the slip ID = “D-05” is registered in the business information.

次に、各プロセスインスタンスについての処理のフローについて説明する。図14は、各プロセスインスタンスについての処理のフローを示すフローチャートである。図14に示すように、処理依頼部33が、タスクノードに対応するシステムに処理を依頼する(ステップS61)。処理依頼部33は、伝票毎にシステムに処理を依頼する。   Next, the process flow for each process instance will be described. FIG. 14 is a flowchart showing the flow of processing for each process instance. As shown in FIG. 14, the process request unit 33 requests a process corresponding to the task node (step S61). The processing request unit 33 requests the system for processing for each slip.

そして、ワークフロー制御部3は、分岐判定実行処理を行う(ステップS62)。そして、ワークフロー制御部3は、次のノードが終端ノードであるか否かを判定し(ステップS63)、終端ノードでない場合には、ステップS61に戻り、終端ノードである場合には、処理を終了する。   Then, the workflow control unit 3 performs a branch determination execution process (step S62). Then, the workflow control unit 3 determines whether or not the next node is a termination node (step S63). If it is not the termination node, the process returns to step S61, and if it is a termination node, the process ends. To do.

図15A及び図15Bは、分岐判定実行処理のフローを示す第1のフローチャート及び第2のフローチャートである。図15Aに示すように、条件分岐判定部75が、次のノードが分岐ノードか否かを判定する(ステップS71)。その結果、次のノードが分岐ノードでない場合には、処理依頼部33が、全ての伝票の処理の完了を待ってノード完了処理を行い、ノード遷移制御部34が、処理中のプロセスインスタンスを次のノードに遷移し(ステップS72)、処理を終了する。   15A and 15B are a first flowchart and a second flowchart showing the flow of the branch determination execution process. As shown in FIG. 15A, the conditional branch determination unit 75 determines whether or not the next node is a branch node (step S71). As a result, if the next node is not a branch node, the processing request unit 33 waits for the completion of processing of all the slips and performs the node completion processing, and the node transition control unit 34 continues the process instance being processed. (Step S72), and the process ends.

一方、次のノードが分岐ノードである場合には、条件分岐判定部75は、分岐条件を取り込み(ステップS73)、1つの伝票処理が完了するまで待ち合わせる(ステップS74)。そして、1つの伝票処理が完了すると、条件分岐判定部75は、分岐条件を判定し、分岐先すなわち処理ルートを求める(ステップS75)。   On the other hand, if the next node is a branch node, the conditional branch determination unit 75 takes in the branch condition (step S73) and waits until one slip process is completed (step S74). When one slip process is completed, the conditional branch determination unit 75 determines a branch condition and obtains a branch destination, that is, a processing route (step S75).

そして、条件分岐判定部75は、分岐判定結果情報に処理ルートのデータが存在しないか否かを判定し(ステップS75)、存在する場合には、ステップS79へ進む。一方、存在しない場合には、条件分岐判定部75は、分岐判定結果情報の当該分岐に関するデータ数が0か否かを判定する(ステップS76)。   Then, the conditional branch determination unit 75 determines whether or not processing route data exists in the branch determination result information (step S75). If there is, the process proceeds to step S79. On the other hand, if it does not exist, the conditional branch determination unit 75 determines whether or not the number of data related to the branch in the branch determination result information is 0 (step S76).

その結果、0である場合には、最初の分岐先の場合なので、条件分岐判定部75は、処理ルートのデータを分岐判定結果情報に追加する(ステップS77)。ここで、処理ルートのデータとは、処理中のプロセスインスタンスのID、処理ルート及び処理ルートプロセスインスタンスIDである。このとき、処理ルートプロセスインスタンスIDは処理中のプロセスインスタンスIDである。   As a result, when it is 0, since it is the case of the first branch destination, the conditional branch determination unit 75 adds the processing route data to the branch determination result information (step S77). Here, the processing route data is the ID of the process instance being processed, the processing route, and the processing route process instance ID. At this time, the process root process instance ID is the process instance ID being processed.

一方、0でない場合には、新たに異なる分岐先があると判明した場合なので、条件分岐判定部75は、処理ルートのデータを分岐判定結果情報に追加する(ステップS78)。このとき、処理ルートプロセスインスタンスIDは新しく割り当てられたプロセスインスタンスIDである。   On the other hand, if it is not 0, it is determined that there is a new different branch destination, so the conditional branch determination unit 75 adds the processing route data to the branch determination result information (step S78). At this time, the process root process instance ID is a newly assigned process instance ID.

そして、条件分岐判定部75は、処理ルートに対応する処理ルートプロセスインスタンスIDを分岐判定結果情報から求め、求めたプロセスインスタンスIDの業務データ群に伝票データを追加する(ステップS79)。そして、条件分岐判定部75は、全ての伝票処理が完了したか否かを判定し(ステップS80)、完了していない場合には、ステップS74に戻る。   Then, the conditional branch determination unit 75 obtains the processing route process instance ID corresponding to the processing route from the branch judgment result information, and adds the slip data to the business data group of the obtained process instance ID (step S79). And the conditional branch determination part 75 determines whether all the slip processes were completed (step S80), and when not completed, it returns to step S74.

一方、全ての伝票処理が完了した場合には、図15Bに示すように、異ルート遷移制御部76は、制御情報の処理中ノードを完了ノードに変更し、ノード処理の完了を履歴情報に追加する(ステップS81)。そして、異ルート遷移制御部76は、分岐判定結果情報から当該分岐に関するデータを探し(ステップS82)、探索結果のデータから1つのデータを抽出する(ステップS83)。ここで、データとは、処理中のプロセスインスタンスのID、処理ルート及び処理ルートプロセスインスタンスIDである。   On the other hand, when all the slip processes are completed, as shown in FIG. 15B, the different route transition control unit 76 changes the processing node of the control information to the completed node, and adds the completion of the node process to the history information. (Step S81). Then, the different route transition control unit 76 searches for data related to the branch from the branch determination result information (step S82), and extracts one data from the search result data (step S83). Here, the data is an ID of a process instance being processed, a processing route, and a processing route process instance ID.

そして、異ルート遷移制御部76は、データがあるか否かを判定し(ステップS84)、データがある場合には、抽出したデータの処理ルートプロセスインスタンスIDを取得する(ステップS85)。そして、異ルート遷移制御部76は、取得した処理ルートプロセスインスタンスIDが処理中のプロセスインスタンスIDと異なるか否かを判定する(ステップS86)。   Then, the different route transition control unit 76 determines whether or not there is data (step S84), and if there is data, acquires the processing route process instance ID of the extracted data (step S85). Then, the different route transition control unit 76 determines whether or not the acquired processing route process instance ID is different from the process instance ID being processed (step S86).

その結果、異なる場合には、異ルート遷移制御部76は、処理中のプロセスインスタンスの制御情報と履歴情報をコピーして、プロセスインスタンスIDに取得した処理ルートプロセスインスタンスIDを設定する(ステップS87)。すなわち、異ルート遷移制御部76は、コピーした情報を取得した処理ルートプロセスインスタンスIDに対応付けて制御情報と履歴情報に追加する。そして、異ルート遷移制御部76は、コピーしたプロセスインスタンスに対して、抽出したデータの処理ルートを通って次のノードに遷移するように制御し(ステップS88)、ステップS83に戻る。   As a result, if they are different, the different route transition control unit 76 copies the control information and history information of the process instance being processed, and sets the acquired processing route process instance ID as the process instance ID (step S87). . That is, the different route transition control unit 76 adds the copied information to the control information and the history information in association with the acquired processing route process instance ID. Then, the different route transition control unit 76 controls the copied process instance so as to transit to the next node through the processing route of the extracted data (step S88), and returns to step S83.

一方、取得した処理ルートプロセスインスタンスIDが処理中のプロセスインスタンスIDと異ならない場合には、異ルート遷移制御部76は、抽出したデータの処理ルートを変数に保持し(ステップS89)、ステップS83に戻る。   On the other hand, if the acquired processing route process instance ID is not different from the process instance ID being processed, the different route transition control unit 76 holds the processing route of the extracted data as a variable (step S89), and proceeds to step S83. Return.

また、ステップS84の判定において、データがない場合には、異ルート遷移制御部76は、処理中のプロセスに対して、ステップS89で変数に保持した処理ルートを通って次のノードに遷移するように制御する(ステップS90)。   In the determination in step S84, if there is no data, the different route transition control unit 76 causes the process being processed to transition to the next node through the processing route held in the variable in step S89. (Step S90).

上述してきたように、実施例2では、次のノードが分岐ノードである場合に、条件分岐判定部75が、分岐条件をあらかじめ取り込み、各伝票の処理が終了する毎に分岐条件を判定して、伝票データを分岐先のプロセスインスタンス毎に束ねる。したがって、分岐がある場合に、伝票データをまとめて束ね直す必要がなく、効率よく伝票データをプロセスインスタンスに対応付けることができる。   As described above, in the second embodiment, when the next node is a branch node, the conditional branch determination unit 75 fetches the branch condition in advance and determines the branch condition every time processing of each slip is completed. Bundle the slip data for each process instance at the branch destination. Therefore, when there is a branch, the slip data need not be bundled together and can be efficiently associated with the process instance.

なお、実施例1及び2では、ESB装置について説明したが、ESB装置が有する構成をソフトウェアによって実現することで、同様の機能を有するワークフロー制御プログラムを得ることができる。そこで、ワークフロー制御プログラムを実行するコンピュータについて説明する。   In the first and second embodiments, the ESB device has been described. However, a workflow control program having the same function can be obtained by realizing the configuration of the ESB device with software. Therefore, a computer that executes a workflow control program will be described.

図16は、実施例1及び2に係るワークフロー制御プログラムを実行するコンピュータのハードウェア構成を示す図である。図16に示すように、コンピュータ80は、メインメモリ81と、CPU(Central Processing Unit)82と、LAN(Local Area Network)インタフェース83と、HDD(Hard Disk Drive)84とを有する。また、コンピュータ80は、スーパーIO(Input Output)85と、DVI(Digital Visual Interface)86と、ODD(Optical Disk Drive)87とを有する。   FIG. 16 is a diagram illustrating a hardware configuration of a computer that executes the workflow control program according to the first and second embodiments. As shown in FIG. 16, the computer 80 includes a main memory 81, a CPU (Central Processing Unit) 82, a LAN (Local Area Network) interface 83, and an HDD (Hard Disk Drive) 84. The computer 80 has a super IO (Input Output) 85, a DVI (Digital Visual Interface) 86, and an ODD (Optical Disk Drive) 87.

メインメモリ81は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU82は、メインメモリ81からプログラムを読み出して実行する中央処理装置である。CPU82は、メモリコントローラを有するチップセットを含む。   The main memory 81 is a memory that stores a program, a program execution result, and the like. The CPU 82 is a central processing unit that reads a program from the main memory 81 and executes the program. The CPU 82 includes a chip set having a memory controller.

LANインタフェース83は、コンピュータ80をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD84は、プログラムやデータを格納するディスク装置であり、スーパーIO85は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI86は、液晶表示装置を接続するインタフェースであり、ODD87は、DVDの読み書きを行う装置である。   The LAN interface 83 is an interface for connecting the computer 80 to another computer via a LAN. The HDD 84 is a disk device that stores programs and data, and the super IO 85 is an interface for connecting an input device such as a mouse or a keyboard. The DVI 86 is an interface for connecting a liquid crystal display device, and the ODD 87 is a device for reading / writing a DVD.

LANインタフェース83は、PCIエクスプレス(PCIe)によりCPU82に接続され、HDD84及びODD87は、SATA(Serial Advanced Technology Attachment)によりCPU82に接続される。スーパーIO85は、LPC(Low Pin Count)によりCPU82に接続される。   The LAN interface 83 is connected to the CPU 82 by PCI Express (PCIe), and the HDD 84 and ODD 87 are connected to the CPU 82 by SATA (Serial Advanced Technology Attachment). The super IO 85 is connected to the CPU 82 by LPC (Low Pin Count).

そして、コンピュータ80において実行されるワークフロー制御プログラムは、DVDに記憶され、ODD87によってDVDから読み出されてコンピュータ80にインストールされる。あるいは、ワークフロー制御プログラムは、LANインタフェース83を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ80にインストールされる。そして、インストールされたワークフロー制御プログラムは、HDD84に記憶され、メインメモリ81に読み出されてCPU82によって実行される。   The workflow control program executed in the computer 80 is stored in the DVD, read from the DVD by the ODD 87, and installed in the computer 80. Alternatively, the workflow control program is stored in a database or the like of another computer system connected via the LAN interface 83, read from these databases, and installed in the computer 80. The installed workflow control program is stored in the HDD 84, read into the main memory 81, and executed by the CPU 82.

以上の実施例1〜2を含む実施形態に関し、さらに以下の付記を開示する。   The following appendices are further disclosed with respect to the embodiments including Examples 1 and 2 described above.

(付記1)コンピュータに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とするワークフロー制御プログラム。
(Supplementary note 1)
Create one process instance that bundles multiple process requests with the same node transition in a workflow that includes a task node that indicates the execution of the process and a branch node that indicates the branch of the flow,
When the next node of the node being processed in the process of the created process instance is a branch node, obtain the conditional branch judgment condition,
Determine the branch destination of each processing request based on the acquired judgment condition,
A workflow control program characterized by causing a process to generate a new process instance that bundles processing requests with the same branch destination when there are a plurality of determined branch destinations.

(付記2)前記判定条件を取得する処理は、タスクノードの処理において次の分岐ノードの条件分岐の判定条件を取得し、
前記分岐先を判定する処理は、前記タスクノードの処理において各処理要求に対する処理が完了した時点で行い、
前記新しいプロセスインスタンスを生成する処理は、前記タスクノードの処理において異なる分岐先があることが判明した際に前記新しいプロセスインスタンスの識別子を割り当て、前記タスクノードの処理が完了したら、前記識別子を有するプロセスインスタンスを生成することを特徴とする付記1に記載のワークフロー制御プログラム。
(Additional remark 2) The process which acquires the said judgment conditions acquires the judgment condition of the conditional branch of the following branch node in the process of a task node,
The process of determining the branch destination is performed when processing for each processing request is completed in the processing of the task node,
The process for generating the new process instance is to assign an identifier of the new process instance when it is found that there is a different branch destination in the process of the task node, and when the process of the task node is completed, the process having the identifier The workflow control program according to appendix 1, wherein an instance is generated.

(付記3)前記タスクノードの処理において各処理要求に対する処理が完了した時点で前記判定条件を判定した際に前記分岐先が同じ処理要求を束ねる処理を行うことを特徴とする付記2に記載のワークフロー制御プログラム。 (Supplementary note 3) The supplementary note 2, wherein the branch destination performs a process of bundling the same process request when the determination condition is determined when the process for each process request is completed in the process of the task node Workflow control program.

(付記4)前記識別子を割り当てる処理は、分岐先と対応付けて前記識別子を記憶装置に記憶し、
前記識別子を有するプロセスインスタンスを生成する処理は、分岐先に対応付けられて前記記憶装置に記憶した識別子を用いてプロセスインスタンスを生成することを特徴とする付記2に記載のワークフロー制御プログラム。
(Supplementary Note 4) The process of assigning the identifier stores the identifier in a storage device in association with the branch destination,
The workflow control program according to appendix 2, wherein the process of generating a process instance having the identifier generates a process instance using an identifier associated with a branch destination and stored in the storage device.

(付記5)コンピュータが、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行することを特徴とするワークフロー制御方法。
(Appendix 5) The computer
Create one process instance that bundles multiple process requests with the same node transition in a workflow that includes a task node that indicates the execution of the process and a branch node that indicates the branch of the flow,
When the next node of the node being processed in the process of the created process instance is a branch node, obtain the conditional branch judgment condition,
Determine the branch destination of each processing request based on the acquired judgment condition,
A workflow control method characterized by executing a process for generating a new process instance that bundles the same processing requests with the same branch destination when there are a plurality of determined branch destinations.

(付記6)処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成する作成部と、
前記作成部により作成されたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得する取得部と、
前記取得部により取得された判定条件に基づいて各処理要求の分岐先を判定する判定部と、
前記判定部により判定された分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する生成部と
を備えたことを特徴とする情報処理装置。
(Appendix 6) A creation unit that creates one process instance in which a plurality of processing requests having the same node transition are bundled in a workflow including a task node indicating execution of a process and a branch node indicating a branch of a flow;
An acquisition unit that acquires a condition branch determination condition when a node next to a node being processed in the process of the process instance created by the creation unit is a branch node;
A determination unit that determines a branch destination of each processing request based on the determination condition acquired by the acquisition unit;
An information processing apparatus comprising: a generation unit that generates a new process instance that bundles processing requests with the same branch destination when there are a plurality of branch destinations determined by the determination unit.

(付記7)メモリと該メモリに接続されたプロセッサとを有する情報処理装置において、
前記プロセッサに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とする情報処理装置。
(Supplementary note 7) In an information processing apparatus having a memory and a processor connected to the memory,
In the processor,
Create one process instance that bundles multiple process requests with the same node transition in a workflow that includes a task node that indicates the execution of the process and a branch node that indicates the branch of the flow,
When the next node of the node being processed in the process of the created process instance is a branch node, obtain the conditional branch judgment condition,
Determine the branch destination of each processing request based on the acquired judgment condition,
An information processing apparatus that executes processing for generating a new process instance that bundles processing requests with the same branch destination when there are a plurality of determined branch destinations.

1,5,9 ESB装置
2,6 記憶部
3,7 ワークフロー制御部
4 通信制御部
10 ESBシステム
11 社内ネットワーク
12 外部ネットワーク
21 受付情報記憶部
22 制御情報記憶部
23 履歴情報記憶部
24 業務情報記憶部
25 ルート情報記憶部
31 受付部
32 開始部
33 処理依頼部
34 ノード遷移制御部
35,75 条件分岐判定部
36,76 異ルート遷移制御部
37 返送部
66 判定結果情報記憶部
80 コンピュータ
81 メインメモリ
82 CPU
83 LANインタフェース
84 HDD
85 スーパーIO
86 DVI
87 ODD
DESCRIPTION OF SYMBOLS 1,5,9 ESB apparatus 2,6 Storage part 3,7 Workflow control part 4 Communication control part 10 ESB system 11 In-house network 12 External network 21 Reception information storage part 22 Control information storage part 23 History information storage part 24 Business information storage Unit 25 Route information storage unit 31 Reception unit 32 Start unit 33 Processing request unit 34 Node transition control unit 35, 75 Conditional branch determination unit 36, 76 Different route transition control unit 37 Return unit 66 Determination result information storage unit 80 Computer 81 Main memory 82 CPU
83 LAN interface 84 HDD
85 Super IO
86 DVI
87 ODD

Claims (6)

コンピュータに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とするワークフロー制御プログラム。
On the computer,
Create one process instance that bundles multiple process requests with the same node transition in a workflow that includes a task node that indicates the execution of the process and a branch node that indicates the branch of the flow,
When the next node of the node being processed in the process of the created process instance is a branch node, obtain the conditional branch judgment condition,
Determine the branch destination of each processing request based on the acquired judgment condition,
A workflow control program characterized by causing a process to generate a new process instance that bundles processing requests with the same branch destination when there are a plurality of determined branch destinations.
前記判定条件を取得する処理は、タスクノードの処理において次の分岐ノードの条件分岐の判定条件を取得し、
前記判定条件を判定する処理は、前記タスクノードの処理において各処理要求に対する処理が完了した時点で行い、
前記新しいプロセスインスタンスを生成する処理は、前記タスクノードの処理において異なる分岐先があることが判明した際に前記新しいプロセスインスタンスの識別子を割り当て、前記タスクノードの処理が完了したら、前記識別子を有するプロセスインスタンスを生成することを特徴とする請求項1に記載のワークフロー制御プログラム。
The process for obtaining the judgment condition obtains the condition branch judgment condition for the next branch node in the task node process,
The process for determining the determination condition is performed when processing for each processing request is completed in the processing of the task node,
The process for generating the new process instance is to assign an identifier of the new process instance when it is found that there is a different branch destination in the process of the task node, and when the process of the task node is completed, the process having the identifier The workflow control program according to claim 1, wherein an instance is generated.
前記タスクノードの処理において各処理要求に対する処理が完了した時点で前記判定条件を判定した際に前記分岐先が同じ処理要求を束ねる処理を行うことを特徴とする請求項2に記載のワークフロー制御プログラム。   3. The workflow control program according to claim 2, wherein when the determination condition is determined when processing for each processing request is completed in processing of the task node, the branch destination performs processing for bundling the same processing request. . 前記識別子を割り当てる処理は、分岐先と対応付けて前記識別子を記憶装置に記憶し、
前記識別子を有するプロセスインスタンスを生成する処理は、分岐先に対応付けられて前記記憶装置に記憶した識別子を用いてプロセスインスタンスを生成することを特徴とする請求項2に記載のワークフロー制御プログラム。
The process of assigning the identifier stores the identifier in a storage device in association with a branch destination,
The workflow control program according to claim 2, wherein the process of generating a process instance having the identifier generates a process instance using an identifier associated with a branch destination and stored in the storage device.
コンピュータが、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行することを特徴とするワークフロー制御方法。
Computer
Create one process instance that bundles multiple process requests with the same node transition in a workflow that includes a task node that indicates the execution of the process and a branch node that indicates the branch of the flow,
When the next node of the node being processed in the process of the created process instance is a branch node, obtain the conditional branch judgment condition,
Determine the branch destination of each processing request based on the acquired judgment condition,
A workflow control method characterized by executing a process for generating a new process instance that bundles the same processing requests with the same branch destination when there are a plurality of determined branch destinations.
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成する作成部と、
前記作成部により作成されたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得する取得部と、
前記取得部により取得された判定条件に基づいて各処理要求の分岐先を判定する判定部と、
前記判定部により判定された分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する生成部と
を備えたことを特徴とする情報処理装置。
A creation unit that creates one process instance in which a plurality of processing requests having the same node transition are bundled in a workflow including a task node indicating execution of a process and a branch node indicating a branch of a flow,
An acquisition unit that acquires a condition branch determination condition when a node next to a node being processed in the process of the process instance created by the creation unit is a branch node;
A determination unit that determines a branch destination of each processing request based on the determination condition acquired by the acquisition unit;
An information processing apparatus comprising: a generation unit that generates a new process instance that bundles processing requests with the same branch destination when there are a plurality of branch destinations determined by the determination unit.
JP2014201979A 2014-09-30 2014-09-30 Workflow control program, workflow control method and information processing unit Pending JP2016071725A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014201979A JP2016071725A (en) 2014-09-30 2014-09-30 Workflow control program, workflow control method and information processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014201979A JP2016071725A (en) 2014-09-30 2014-09-30 Workflow control program, workflow control method and information processing unit

Publications (1)

Publication Number Publication Date
JP2016071725A true JP2016071725A (en) 2016-05-09

Family

ID=55866987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014201979A Pending JP2016071725A (en) 2014-09-30 2014-09-30 Workflow control program, workflow control method and information processing unit

Country Status (1)

Country Link
JP (1) JP2016071725A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861418A (en) * 2020-07-30 2020-10-30 上海妙一生物科技有限公司 Task generation method and device and electronic equipment
CN113408912A (en) * 2021-06-23 2021-09-17 中央广播电视总台 Auditing system and electronic device for television station

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163495A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Workflow processing method, device for executing the same and medium recording processing program therefor
JP2004326598A (en) * 2003-04-25 2004-11-18 Hitachi Ltd Workflow system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163495A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Workflow processing method, device for executing the same and medium recording processing program therefor
JP2004326598A (en) * 2003-04-25 2004-11-18 Hitachi Ltd Workflow system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861418A (en) * 2020-07-30 2020-10-30 上海妙一生物科技有限公司 Task generation method and device and electronic equipment
CN113408912A (en) * 2021-06-23 2021-09-17 中央广播电视总台 Auditing system and electronic device for television station
CN113408912B (en) * 2021-06-23 2023-12-19 中央广播电视总台 Audit system for television station and electronic equipment

Similar Documents

Publication Publication Date Title
US10171377B2 (en) Orchestrating computing resources between different computing environments
CN108537543B (en) Parallel processing method, device, equipment and storage medium for blockchain data
US9852035B2 (en) High availability dynamic restart priority calculator
US7661061B2 (en) Visualization of collaborative portlet sequences
CN105493070B (en) The task context framework shared for efficient data
JP5929196B2 (en) Distributed processing management server, distributed system, distributed processing management program, and distributed processing management method
US20110320394A1 (en) Creation and Revision of Network Object Graph Topology for a Network Performance Management System
JP2006209749A (en) Method and system for providing automatic search menu to user interface
CN106776395B (en) A kind of method for scheduling task and device of shared cluster
US20130145032A1 (en) Candidate set solver with user advice
CN105302536A (en) Configuration method and apparatus for related parameters of MapReduce application
CN105183585A (en) Data backup method and device
CN113760847A (en) Log data processing method, device, equipment and storage medium
US20140379100A1 (en) Method for requesting control and information processing apparatus for same
JP2010072834A (en) Trouble handling program and device
CN111444148B (en) Data transmission method and device based on MapReduce
JP2016071725A (en) Workflow control program, workflow control method and information processing unit
US20160364403A1 (en) Tracking tuples to reduce redundancy in a graph
CN113448770A (en) Method, electronic device and computer program product for recovering data
CN110413207B (en) Method, apparatus and program product for reducing data recovery time of a storage system
US11321205B2 (en) Enterprise-scale time series graphite backend infrastructure
CN113837382A (en) Method and system for training graph neural network
JP6349837B2 (en) Scheduler apparatus, scheduling method therefor, arithmetic processing system, and computer program
JP6546704B2 (en) Data processing method, distributed data processing system and storage medium
WO2018198745A1 (en) Calculation resource management device, calculation resource management method, and computer-readable recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180702

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181211