JP2016071725A - Workflow control program, workflow control method and information processing unit - Google Patents
Workflow control program, workflow control method and information processing unit Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 281
- 230000010365 information processing Effects 0.000 title claims description 8
- 230000007704 transition Effects 0.000 claims description 72
- 238000010586 diagram Methods 0.000 description 32
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置に関する。 The present invention relates to a 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
図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
なお、ワークフローに関する従来技術として、合流アクティビティに到達した複数のプロセスを一時停止して保存し、待ち合わせ条件に適合している複数のプロセスを統合して実行することで、指定された条件でプロセスの統合を可能とするワークフロー技術がある。また、同期点の入力分岐のうちアクティベートされた分岐に基づき少なくとも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.
ワークフローにおいて、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.
以下に、本願の開示するワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。 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装置1は、ESBシステム10のユーザであるX社、Y社及びZ社から処理要求を受け付け、処理要求に対する処理の制御を行って、処理結果を返送する装置である。X社、Y社及びZ社は、外部ネットワーク12を介してESB装置1に接続される。
The
社内システム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
なお、ここでは、社内システムとして社内システム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装置1の機能構成について説明する。図2は、ESB装置1の機能構成を示す図である。図2に示すように、ESB装置1は、情報を記憶する記憶部2と、処理の制御を行うワークフロー制御部3と、他のシステムと通信を行う通信制御部4とを有する。
Next, the functional configuration of the
記憶部2は、受付情報記憶部21と、制御情報記憶部22と、履歴情報記憶部23と、業務情報記憶部24と、ルート情報記憶部25とを有する。ワークフロー制御部3は、受付部31と、開始部32と、処理依頼部33と、ノード遷移制御部34と、条件分岐判定部35と、異ルート遷移制御部36と、返送部37とを有する。
The
受付部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
図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
図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
業務情報記憶部24は、プロセスインスタンス毎に業務データがまとめられた情報である業務情報を記憶する。業務情報は、例えば、プロセスインスタンスIDと業務データ群とをプロセスインスタンス毎に対応付けた情報である。ここで、業務データ群には、プロセスインスタンス毎にまとめられた業務データの数、伝票ID及び業務データが含まれる。
The business
図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
ルート情報記憶部25は、ルート情報を記憶する。ルート情報は、例えば、図4に示したように、処理ルートの識別子と、処理ルートを構成するノード及びノード間の接続に関する情報とを対応付けた情報である。
The route
処理依頼部33は、タスクノードに対応する社内外のシステムに処理を依頼し、処理結果をシステムから受け取る。処理依頼部33は、伝票毎に処理を依頼し、伝票毎に処理結果を受け取る。また、処理依頼部33は、全ての伝票の処理結果を受け取ると、ノード完了処理として、制御情報記憶部22及び履歴情報記憶部23が各々記憶する制御情報及び履歴情報を更新する。
The
ノード遷移制御部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
異ルート遷移制御部36は、次のノードが分岐ノードである場合に、条件分岐判定部35の判定結果に基づいて、分岐先が複数あるか否かを判定し、分岐先が複数ある場合には、新たなプロセスインスタンスを作成する。そして、異ルート遷移制御部36は、作成したプロセスインスタンスも含めて各プロセスインスタンスの処理が次のノードに遷移するように制御する。また、異ルート遷移制御部36は、伝票毎の分岐先に応じて業務情報をプロセスインスタンス毎に分ける。
The different route
図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
図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
そして、異ルート遷移制御部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
図3に戻って、返送部37は、終端ノードに到達したプロセスインスタンスについて、各伝票の処理結果を処理の依頼元に送信する。
Returning to FIG. 3, the
次に、ESB装置1の処理のフローについて説明する。図7は、ESB装置1の処理のフローを示すフローチャートである。図7に示すように、受付部31が、ユーザから処理要求を受け付け(ステップS1)、受け付けた処理要求の情報を受付情報記憶部21に格納する。
Next, a processing flow of the
そして、一定の待ち時間が経過すると、開始部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
このように、開始部32が処理ルートに条件分岐が含まれる処理要求を含めて処理ルートが同じ処理要求を束ねることによって、ESB装置1は処理要求を効率よく処理することができる。
As described above, the
次に、各プロセスインスタンスについての処理のフローについて説明する。図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
そして、処理依頼部33は、システムから伝票の処理結果を受領する(ステップS12)。処理依頼部33は、伝票毎にシステムから処理結果を受領する。そして、全ての伝票について処理結果を受領すると、ワークフロー制御部3は、ノード完了処理を実行する(ステップS13)。ノード完了処理には、制御情報及び履歴情報の更新が含まれる。
Then, the
そして、ワークフロー制御部3は、次のノードが分岐ノードであるか否かの判定及び次のノードが分岐ノードである場合の分岐処理を実行する分岐判定実行処理を行う(ステップS14)。
Then, the
そして、ワークフロー制御部3は、次のノードが終端ノードであるか否かを判定し(ステップS15)、終端ノードでない場合には、ステップS11に戻り、終端ノードである場合には、処理を終了する。
Then, the
このように、ワークフロー制御部3がタスクノードの処理が完了したときに分岐判定実行処理を行うことによって、ESB装置1は処理ルートが同じで条件分岐を含む処理要求を束ねて処理することができる。
As described above, the
次に分岐判定実行処理のフローについて説明する。図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
一方、次のノードが分岐ノードである場合には、条件分岐判定部35は、分岐条件を取得し、各伝票について分岐条件を判定して分岐先毎すなわち処理ルート毎に分け、処理ルートと伝票(群)の対で保持する(ステップS22)。ここで、伝票(群)は、伝票の数が1つ又は複数であることを表す。
On the other hand, when the next node is a branch node, the conditional
そして、異ルート遷移制御部36が、処理ルートと伝票(群)の対を順番に取り出し(ステップS23)、取り出した対が、保持している対の最後の対以外か否かを判定する(ステップS24)。
Then, the different route
その結果、最後の対以外の場合には、異ルート遷移制御部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
一方、取り出した対が、保持している対の最後の対以外でない場合、すなわち保持している対の最後の対である場合、異ルート遷移制御部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
このように、次のノードが分岐ノードであって、複数の処理ルートに分岐する場合に、異ルート遷移制御部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
上述してきたように、実施例1では、条件分岐判定部35が、次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、分岐条件を伝票毎に判定する。そして、複数の分岐先があると、異ルート遷移制御部36が、新たなプロセスインスタンスIDを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスを作成する。したがって、ワークフローに分岐がある場合にも、ESB装置1は、処理ルートが同じ処理要求を束ねたプロセスインスタンスを作成して処理することができる。
As described above, in the first embodiment, the conditional
ところで、上記実施例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
判定結果情報記憶部66は、条件分岐判定部75による判定結果を分岐判定結果情報として記憶する。分岐判定結果情報は、例えば、図11に示すように、分岐前のプロセスインスタンスIDと、分岐先に対応する処理ルートと、分岐先に対応する処理ルートのプロセスインスタンスIDである処理ルートプロセスインスタンスIDとを対応付けた情報である。
The determination result information storage unit 66 stores the determination result by the conditional
条件分岐判定部75は、処理中のタスクノードの次のノードが分岐ノードである場合に、1つの伝票の処理が完了するたびに分岐条件を判定し、判定結果に基づいて分岐判定結果情報を更新する。具体的には、条件分岐判定部75は、分岐条件の判定によりこれまでの分岐先とは異なる新たな分岐先があることが判明すると、新しいプロセスインスタンスIDを割り当て、処理ルートと共に分岐判定結果情報に追加する。
When the next node of the task node being processed is a branch node, the conditional
異ルート遷移制御部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
図11は、条件分岐判定部75と異ルート遷移制御部76による処理を説明するための図である。図11は、「社内システムA」の処理後に分岐がある場合を示す。条件分岐判定部75は、「社内システムA」の処理で、あらかじめ条件分岐の判定条件を取り込んでおき、伝票毎の処理完了時に分岐判定を行う。
FIG. 11 is a diagram for explaining processing by the conditional
そして、条件分岐判定部75は、新しい分岐先への分岐があることが判明すると、新しいプロセスインスタンスIDを割り当て、新しい分岐先と共に、分岐判定結果情報に追加する。
When it is determined that there is a branch to a new branch destination, the conditional
図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
そして、全ての伝票に対して「社内システム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
ここで、「社内システム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
すなわち、図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
そして、図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
そして、図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
このように、条件分岐判定部75は、分岐判定の結果を分岐判定結果情報として保存すると共に、伝票データを分岐判定毎に処理ルートプロセスインスタンスIDに対応付けて業務情報に追加する。したがって、ESB装置5は、一度束ねた業務データ群を分解して全伝票の分岐判定後にまとめて束ね直す処理コストを削減できる。
As described above, the conditional
図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
そして、異ルート遷移制御部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
そして、ワークフロー制御部3は、分岐判定実行処理を行う(ステップS62)。そして、ワークフロー制御部3は、次のノードが終端ノードであるか否かを判定し(ステップS63)、終端ノードでない場合には、ステップS61に戻り、終端ノードである場合には、処理を終了する。
Then, the
図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
一方、次のノードが分岐ノードである場合には、条件分岐判定部75は、分岐条件を取り込み(ステップS73)、1つの伝票処理が完了するまで待ち合わせる(ステップS74)。そして、1つの伝票処理が完了すると、条件分岐判定部75は、分岐条件を判定し、分岐先すなわち処理ルートを求める(ステップS75)。
On the other hand, if the next node is a branch node, the conditional
そして、条件分岐判定部75は、分岐判定結果情報に処理ルートのデータが存在しないか否かを判定し(ステップS75)、存在する場合には、ステップS79へ進む。一方、存在しない場合には、条件分岐判定部75は、分岐判定結果情報の当該分岐に関するデータ数が0か否かを判定する(ステップS76)。
Then, the conditional
その結果、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
一方、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
そして、条件分岐判定部75は、処理ルートに対応する処理ルートプロセスインスタンスIDを分岐判定結果情報から求め、求めたプロセスインスタンスIDの業務データ群に伝票データを追加する(ステップS79)。そして、条件分岐判定部75は、全ての伝票処理が完了したか否かを判定し(ステップS80)、完了していない場合には、ステップS74に戻る。
Then, the conditional
一方、全ての伝票処理が完了した場合には、図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
なお、実施例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)
メインメモリ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インタフェース83は、PCIエクスプレス(PCIe)によりCPU82に接続され、HDD84及びODD87は、SATA(Serial Advanced Technology Attachment)によりCPU82に接続される。スーパーIO85は、LPC(Low Pin Count)によりCPU82に接続される。
The
そして、コンピュータ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
以上の実施例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
(付記3)前記タスクノードの処理において各処理要求に対する処理が完了した時点で前記判定条件を判定した際に前記分岐先が同じ処理要求を束ねる処理を行うことを特徴とする付記2に記載のワークフロー制御プログラム。
(Supplementary note 3) The
(付記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
(付記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
83
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に記載のワークフロー制御プログラム。 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.
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)
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)
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 |
-
2014
- 2014-09-30 JP JP2014201979A patent/JP2016071725A/en active Pending
Patent Citations (2)
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)
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 |
---|---|---|
US10735345B2 (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 | |
US8494996B2 (en) | Creation and revision of network object graph topology for a network performance management system | |
US7661061B2 (en) | Visualization of collaborative portlet sequences | |
CN105493070B (en) | Task context architecture for efficient data sharing | |
JP2017027116A (en) | Process control device and process control program | |
CN106776395B (en) | A kind of method for scheduling task and device of shared cluster | |
CN113760847A (en) | Log data processing method, device, equipment and storage medium | |
CN105302536A (en) | Configuration method and apparatus for related parameters of MapReduce application | |
US20140379100A1 (en) | Method for requesting control and information processing apparatus for same | |
CN111444148B (en) | Data transmission method and device based on MapReduce | |
JP2016071725A (en) | Workflow control program, workflow control method and information processing unit | |
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 | |
JP6546704B2 (en) | Data processing method, distributed data processing system and storage medium | |
US11321205B2 (en) | Enterprise-scale time series graphite backend infrastructure | |
JP5574993B2 (en) | Control computer, information processing system, control method, and program | |
JP2016018269A (en) | Information processing apparatus, information processing method, and program | |
CN114240632A (en) | Batch job execution method, apparatus, device, medium, and product | |
CN113837382A (en) | Method and system for training graph neural network | |
JP6349837B2 (en) | Scheduler apparatus, scheduling method therefor, arithmetic processing system, and computer program | |
WO2018198745A1 (en) | Calculation resource management device, calculation resource management method, and computer-readable recording medium | |
JP7201080B2 (en) | Screen transition aggregation device, screen transition aggregation method and program | |
CN102480522A (en) | Storage appliance, application server and method thereof |
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 |