JP2008027282A - Workflow switching framework - Google Patents
Workflow switching framework Download PDFInfo
- Publication number
- JP2008027282A JP2008027282A JP2006200502A JP2006200502A JP2008027282A JP 2008027282 A JP2008027282 A JP 2008027282A JP 2006200502 A JP2006200502 A JP 2006200502A JP 2006200502 A JP2006200502 A JP 2006200502A JP 2008027282 A JP2008027282 A JP 2008027282A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- workflow engine
- module
- engine
- engine module
- 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.)
- Withdrawn
Links
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、バッチシステムのレシピやシーケンシャルファンクションチャートなど制御システムで用いられているワークフロー記述を、用途に応じて切り替えることができるワークフロー切り替えフレームワークに関するものである。 The present invention relates to a workflow switching framework capable of switching a workflow description used in a control system such as a batch system recipe or a sequential function chart according to a use.
制御システムでは、バッチシステムのレシピやシーケンシャルファンクションチャート(SFC)等の、処理を記述するためのワークフロー記述が多数用いられている。なお、シーケンシャルファンクションチャートはPLC(programmable logic controller)のためのグラフィカルな言語であり、シーケンス制御を状態遷移図のように記述することができる。 In the control system, many workflow descriptions for describing processing, such as a batch system recipe and a sequential function chart (SFC), are used. The sequential function chart is a graphical language for PLC (programmable logic controller), and sequence control can be described like a state transition diagram.
これらのワークフロー記述は業種やドメインによっても変化する。例えば、食薬業界で使用されるシステムにおけるレシピと、石油精製などのシステムで使用されるバッチとでは、ワークフロー記述が異なっている。そのため、汎用の制御システムでは、多数のワークフローを扱わなければならない。 These workflow descriptions vary depending on the type of business and domain. For example, the workflow description is different between a recipe in a system used in the food industry and a batch used in a system such as oil refining. Therefore, a general-purpose control system must handle a large number of workflows.
ワークフロー記述を扱うためには、ワークフロー毎に異なったワークフローエンジンを作成しなければならない。図4に従来用いられている、ワークフロー記述を扱うことができる制御アプリケーションの構成を示す。 In order to handle the workflow description, a different workflow engine must be created for each workflow. FIG. 4 shows a configuration of a control application that can handle a workflow description that is conventionally used.
図4において、10はワークフロー記述を扱うことができる制御アプリケーションであり、ワークフローエンジン制御部11およびワークフローエンジン12を内蔵している。ワークフロー記述を扱うときは、ワークフローエンジン制御部11がワークフローエンジン12にワークフローの実行を指示する。ワークフローエンジン12は、この指示に基づいてワークフローを実行する。
In FIG. 4,
しかしながら、このようなワークフローを扱うことができる制御アプリケーションには、次のような課題があった。前述したように、制御システムでは多種類のワークフローを扱わなければならない。図4の制御アプリケーションはワークフローエンジンがシステムと一体になっているために、ワークフローエンジンを切り替えることができない。このため、業種やドメイン毎にシステムを作り直さなければならないという課題があった。 However, a control application that can handle such a workflow has the following problems. As described above, the control system must handle many types of workflows. In the control application of FIG. 4, the workflow engine cannot be switched because the workflow engine is integrated with the system. For this reason, there was a problem that the system had to be recreated for each industry and domain.
従って本発明の目的は、ワークフローエンジンを切り替えることができるワークフロー切り替えフレームワークを提供することにある。 Accordingly, an object of the present invention is to provide a workflow switching framework capable of switching workflow engines.
このような課題を達成するために、本発明のうち請求項1記載の発明は、
ワークフローを実行するワークフローエンジン、およびこのワークフローエンジンを生成するワークフローエンジンファクトリを内蔵し、ワークフロー毎に異なるワークフローエンジンモジュールと、
前記ワークフローエンジンモジュールをデプロイするワークフローエンジンローダを内蔵したワークフローエンジンコンテナと、
ワークフローを指定して、前記ワークフローエンジンコンテナにワークフローエンジンモジュールのデプロイを要求し、デプロイされたワークフローエンジンモジュール内の生成されたワークフローエンジンにワークフローの実行を指示するアプリケーションと、
を具備したものである。ワークフローエンジンモジュールを切り替えることができる。
In order to achieve such a problem, the invention according to claim 1 of the present invention is:
A workflow engine that executes a workflow and a workflow engine factory that generates this workflow engine are built in, and a workflow engine module that is different for each workflow,
A workflow engine container incorporating a workflow engine loader for deploying the workflow engine module;
An application that specifies a workflow, requests the workflow engine container to deploy the workflow engine module, and instructs the generated workflow engine in the deployed workflow engine module to execute the workflow;
Is provided. The workflow engine module can be switched.
請求項2記載の発明は、請求項1記載の発明において、
前記ワークフローエンジンコンテナは、デプロイを要求されたワークフローエンジンモジュールと異なるワークフローエンジンモジュールが実行中であるときは、このワークフローエンジンモジュールをアンデプロイした後、デプロイを要求されたワークフローエンジンモジュールをデプロイするようにしたものである。ワークフローエンジンモジュールが2重に起動されることがない。
The invention according to claim 2 is the invention according to claim 1,
When a workflow engine module different from the workflow engine module requested to be deployed is running, the workflow engine container undeploys the workflow engine module and then deploys the workflow engine module requested to be deployed. It is what. The workflow engine module is not activated twice.
請求項3記載の発明は、請求項1若しくは2記載の発明において、
前記ワークフローエンジンは、アプリケーションの実行をブロックする同期型実行と、ブロックしない非同期型実行を切り替えて実行できるようにしたものである。長期に渡るトランザクションを容易に管理できる。
The invention according to claim 3 is the invention according to claim 1 or 2,
The workflow engine can be executed by switching between synchronous execution that blocks execution of an application and asynchronous execution that does not block. Can manage long-term transactions easily.
請求項4記載の発明は、請求項1乃至請求項3いずれかに記載の発明において、
前記ワークフローエンジンファクトリは、他のワークフローフレームワークのワークフローエンジンファクトリと通信できるようにしたものである。他のワークフローエンジンと連携できる。
The invention according to claim 4 is the invention according to any one of claims 1 to 3,
The workflow engine factory can communicate with a workflow engine factory of another workflow framework. Can be linked with other workflow engines.
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項1,2、3および4の発明によれば、ワークフローエンジンコンテナはアプリケーションの要求によってワークフローエンジンモジュールをデプロイし、このワークフローエンジンモジュール内のワークフローエンジンファクトリがワークフローエンジンを生成して、前記アプリケーションがこの生成したワークフローエンジンにワークフローの実行を指示するようにした。
As is apparent from the above description, the present invention has the following effects.
According to the first, second, third, and fourth aspects of the present invention, the workflow engine container deploys a workflow engine module in response to an application request, and a workflow engine factory in the workflow engine module generates a workflow engine, and the application The generated workflow engine is instructed to execute the workflow.
複数のワークフローエンジンを切り替えて実行することができるので、多くの種類のワークフローを実行することができるという効果がある。そのため、業種やドメインに特化したワークフローをも実行することができる。 Since a plurality of workflow engines can be switched and executed, many types of workflows can be executed. Therefore, it is possible to execute a workflow specialized for the type of business or domain.
また、ワークフローエンジンを抽象化して上位アプリケーションから切り離すことができるので、ワークフローが変わっても、その度に上位アプリケーションを作り直す必要がなくなるという効果もある。 In addition, since the workflow engine can be abstracted and separated from the upper application, there is an effect that even if the workflow changes, it is not necessary to recreate the upper application each time.
さらに、同期型実行と非同期型実行の両方を選択して実行することができるので、長期間にわたるトランザクションを管理することが容易になるという効果もある。 Furthermore, since both synchronous execution and asynchronous execution can be selected and executed, there is an effect that it is easy to manage a transaction over a long period of time.
以下本発明を図面を用いて詳細に説明する。図1は本発明に係るワークフロー切り替えフレームワークの一実施例を示す構成図である。図1において、20は制御動作を行う制御アプリケーション、21はこの制御アプリケーション20に付属しているワークフローエンジンインターフェイスである。ワークフローエンジンインターフェイス21は、後述するワークフローエンジンから送られてくるI/Oなどのリソース要求を受けるための統一されたインターフェイスである。
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a workflow switching framework according to the present invention. In FIG. 1,
30はワークフローエンジンコンテナであり、ワークフローエンジンローダ31を内蔵している。ワークフローエンジンコンテナ30は、制御アプリケーション20と後述するワークフローエンジンモジュールとの仲介役となるソフトウエアモジュールである。
A
40はワークフローエンジンモジュールであり、ワークフローエンジンファクトリ41およびワークフローエンジン43を内蔵しているソフトウエアモジュールである。ワークフローエンジン43には、ワークフローエンジンインターフェイス21と同様の動作を行うワークフローエンジンインターフェイス42が付属している。
ワークフローエンジンコンテナ30はワークフロー記述とは独立した汎用のモジュールであり、制御アプリケーション20から送られてくるワークフローエンジン生成要求に応じて、ワークフローエンジンモジュールをデプロイし、またデプロイされているワークフローエンジンモジュール40をアンデプロイする。なお、デプロイとはソフトウエアモジュールを利用可能なように準備することを言い、アンデプロイとはソフトウエアモジュールを切り離すことを言う。
The
ワークフローエンジン43はワークフロー記述を実行するためのコンポーネントであり、ワークフロー記述によって異なっている。このワークフローエンジン43はワークフローエンジンファクトリ41によって生成される。
The
次に、この実施例の動作を図2フローチャートに基づいて説明する。図2において、まず工程(P2−1)で制御アプリケーション20は、ワークフロー記述を指定して、ワークフローエンジンコンテナ30にワークフローエンジンモジュール40のデプロイを要求する。ワークフロー記述を指定するのは、デプロイするワークフローエンジンモジュールを特定するためである。
Next, the operation of this embodiment will be described with reference to the flowchart of FIG. In FIG. 2, first, in step (P2-1), the
次に、工程(P2−2)で、ワークフローエンジンコンテナ30内のワークフローエンジンローダ31は、デプロイを要求されたワークフローエンジンモジュールが既にデプロイされているかをチェックし、デプロイされていれば工程(P2−6)に移行する。
Next, in step (P2-2), the
デプロイされていなければ、工程(P2−3)で、他のワークフローエンジンモジュールが実行中であるかをチェックし、実行中であれば工程(P2−4)で実行中のワークフローエンジンモジュールをアンデプロイし、実行中でなければ工程(P2−5)に移行する。 If not deployed, it is checked in step (P2-3) whether another workflow engine module is being executed. If it is being executed, the workflow engine module being executed in step (P2-4) is undeployed. If not, the process proceeds to step (P2-5).
ワークフローエンジンローダ31は、実行中のワークフローエンジンモジュールをアンデプロイするために、そのワークフローエンジンモジュールに割り込みをかけて処理を中断させるか、処理が中断あるいは終了するまで待った後、このワークフローエンジンモジュールをアンデプロイする。なお、ワークフローエンジンモジュールのデプロイは、制御アプリケーション20が動作中であっても可能なように構成される。
In order to undeploy the workflow engine module being executed, the
工程(P2−5)で、ワークフローエンジンローダ31は要求されたワークフローエンジンモジュール40をデプロイして、工程(P2−6)に移行する。
In step (P2-5), the
次に、工程(P2−6)で、ワークフローエンジンローダ31は、デプロイされたワークフローエンジンモジュール40内のワークフローエンジンファクトリ41にワークフローエンジンの生成を指示する。
Next, in step (P2-6), the
ワークフローエンジンファクトリ41は、工程(P2−7)で指示されたワークフローエンジンが生成済みであるかをチェックし、生成済みでないと、工程(P2−8)で指示されたワークフローエンジンを生成する。生成済みであれば、この工程をスキップする。
The
次に、工程(P2−9)で、制御アプリケーション20は、ワークフローエンジンインターフェイス21と42、およびワークフローエンジンコンテナ30を介して、ワークフローエンジン43にワークフローの実行を指示する。工程(P2−10)で、ワークフローエンジン43はI/Oなどのリソースを使用してワークフローを実行する。
Next, in step (P2-9), the
なお、ワークフローエンジン43がワークフローを実行する実行形式には、制御アプリケーション20の動作を一時ブロックする同期型と、ブロックしない非同期型がある。この実施例では、同期型実行と非同期型実行を切り替えて実行することができる。
The execution format in which the
非同期型実行は制御アプリケーション20とは独立して実行されるので、そのままでは制御アプリケーション20はワークフローの終了を検知できない。制御アプリケーション20がワークフロー実行の終了を知る手法として、制御アプリケーション20を含む上位アプリケーションが定期的にワークフローエンジン43にアクセスして実行終了を確認する手法と、ワークフローエンジン43が実行終了時にイベントを発生させて、上位アプリケーションに実行終了を通知する手法がある。
Since asynchronous execution is executed independently of the
図3に、本発明の応用例を示す。なお、図1と同じ要素には同一符号を付し、説明を省略する。図3において、50は図1と同様構成の制御システムである。すなわち、制御アプリケーション20はワークフローエンジンコンテナ30にワークフローエンジンモジュールの生成を要求する。ワークフローエンジンローダ31はワークフローエンジンモジュール40をデプロイして、ワークフローエンジンファクトリ51にワークフローエンジン43の生成を指示する。制御アプリケーション20は、生成したワークフローエンジン43にワークフローの実行を指示し、ワークフローエンジン43はワークフローを実行する。制御システム60も、ワークフローエンジンファクトリが異なるだけで、同じ構成を有する。
FIG. 3 shows an application example of the present invention. In addition, the same code | symbol is attached | subjected to the same element as FIG. 1, and description is abbreviate | omitted. In FIG. 3,
ワークフローエンジンファクトリ51、61は、図1実施例のワークフローエンジンファクトリ41と同様にワークフローエンジン43を生成する。また、ワークフローエンジンファクトリ51、61は、SOAP(Simple Object Access Protocol)等を用いて相互に通信することができる。このようにすることにより、ワークフローエンジンファクトリ51、61は、ウエブサービス等を使用して連携することができ、ワークフローの一部を他のワークフローエンジン依頼することが可能になる。
The
ビジネス分野等で用いられるBPEL(Business Process Execution Language for Web Services)でも、ワークフロー記述が用いられている。MES(Manufacturing Execution System)やERP(Enterprise Resource Planning)等のレイヤーと制御システムの下位制御レイヤーとの垂直統合を行うためには、ビジネス分野のワークフロー記述をも扱えるようにしなければならない。本発明を使用することにより、上位レイヤーで使用しているワークフローをそのまま下位層に適合することができ、垂直統合を容易に実現することができる。 Workflow descriptions are also used in Business Process Execution Language for Web Services (BPEL) used in the business field. In order to vertically integrate a layer such as MES (Manufacturing Execution System) or ERP (Enterprise Resource Planning) and a lower control layer of the control system, it is necessary to be able to handle workflow descriptions in the business field. By using the present invention, the workflow used in the upper layer can be adapted to the lower layer as it is, and vertical integration can be easily realized.
図3のような構成にすることにより、ワークフローを複数のシステムで実行することが可能になり、グリッド的なシステムを構築することができる。また、通信を介して他のシステムのリソースをアクセスすることもできる。 With the configuration as shown in FIG. 3, the workflow can be executed by a plurality of systems, and a grid-like system can be constructed. It is also possible to access resources of other systems via communication.
20 制御アプリケーション
21、42 ワークフローエンジンインターフェイス
30 ワークフローエンジンコンテナ
31 ワークフローエンジンローダ
40 ワークフローエンジンモジュール
41、51、61 ワークフローエンジンファクトリ
43 ワークフローエンジン
50、60 制御システム
20
Claims (4)
前記ワークフローエンジンモジュールをデプロイするワークフローエンジンローダを内蔵したワークフローエンジンコンテナと、
ワークフローを指定して、前記ワークフローエンジンコンテナにワークフローエンジンモジュールのデプロイを要求し、デプロイされたワークフローエンジンモジュール内の生成されたワークフローエンジンにワークフローの実行を指示するアプリケーションと、
を具備したことを特徴とするワークフロー切り替えフレームワーク。 A workflow engine that executes a workflow and a workflow engine factory that generates this workflow engine are built in, and a workflow engine module that is different for each workflow,
A workflow engine container incorporating a workflow engine loader for deploying the workflow engine module;
An application that specifies a workflow, requests the workflow engine container to deploy the workflow engine module, and instructs the generated workflow engine in the deployed workflow engine module to execute the workflow;
A workflow switching framework characterized by comprising:
The workflow switching framework according to any one of claims 1 to 3, wherein the workflow engine factory is configured to be able to communicate with a workflow engine factory of another workflow framework.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006200502A JP2008027282A (en) | 2006-07-24 | 2006-07-24 | Workflow switching framework |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006200502A JP2008027282A (en) | 2006-07-24 | 2006-07-24 | Workflow switching framework |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008027282A true JP2008027282A (en) | 2008-02-07 |
Family
ID=39117842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006200502A Withdrawn JP2008027282A (en) | 2006-07-24 | 2006-07-24 | Workflow switching framework |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008027282A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190043446A (en) * | 2017-10-18 | 2019-04-26 | 한국전자통신연구원 | Workflow engine framework |
US11036539B2 (en) | 2017-10-18 | 2021-06-15 | Electronics And Telecommunications Research Institute | Workflow engine framework |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002230250A (en) * | 2001-02-02 | 2002-08-16 | Seiko Epson Corp | Work flow cooperative processing device, work flow cooperative processing system, work flow system cooperative method, and program and recording medium therefor |
JP2004280820A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Framework for supporting business software application |
JP2004280299A (en) * | 2003-03-13 | 2004-10-07 | Omron Corp | Controller, developing device and system |
JP2005317848A (en) * | 2004-04-30 | 2005-11-10 | Toshiba Corp | Measurement system |
WO2005106666A1 (en) * | 2004-04-29 | 2005-11-10 | International Business Machines Corporation | A system and method for modeling and dynamically deploying services into a distributed networking architecture |
-
2006
- 2006-07-24 JP JP2006200502A patent/JP2008027282A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002230250A (en) * | 2001-02-02 | 2002-08-16 | Seiko Epson Corp | Work flow cooperative processing device, work flow cooperative processing system, work flow system cooperative method, and program and recording medium therefor |
JP2004280820A (en) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | Framework for supporting business software application |
JP2004280299A (en) * | 2003-03-13 | 2004-10-07 | Omron Corp | Controller, developing device and system |
WO2005106666A1 (en) * | 2004-04-29 | 2005-11-10 | International Business Machines Corporation | A system and method for modeling and dynamically deploying services into a distributed networking architecture |
JP2005317848A (en) * | 2004-04-30 | 2005-11-10 | Toshiba Corp | Measurement system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190043446A (en) * | 2017-10-18 | 2019-04-26 | 한국전자통신연구원 | Workflow engine framework |
KR102259927B1 (en) * | 2017-10-18 | 2021-06-03 | 한국전자통신연구원 | Workflow engine framework |
US11036539B2 (en) | 2017-10-18 | 2021-06-15 | Electronics And Telecommunications Research Institute | Workflow engine framework |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6020476B2 (en) | Process control apparatus and updating method thereof | |
US10165043B2 (en) | Multi-core device with separate redundancy schemes in a process control system | |
WO2009147802A1 (en) | Priority controller and priority control method | |
RU2647659C2 (en) | Offloading human-machine-interaction tasks | |
RU2605918C2 (en) | Method for providing functions in industrial automation system and industrial automation system | |
KR20120099222A (en) | Multi-processor based programmable logic controller and method for operating the same | |
WO2014171130A1 (en) | Information processing system, deployment method, processing device, and deployment device | |
CN116719533A (en) | Environment automatic deployment method, deployment device, electronic equipment and storage medium | |
CN102622229A (en) | Fusion method, fusion system and fusion device of development frameworks of different types | |
Son et al. | A study on OPC specifications: Perspective and challenges | |
Atmojo et al. | Dynamic reconfiguration and adaptation of manufacturing systems using SOSJ framework | |
JP2008027282A (en) | Workflow switching framework | |
JP2007221364A (en) | Expansion method of controller, control system, and control device | |
Setty et al. | A unified framework for the design of distributed cyber-physical systems-industrial automation example | |
WO2015045004A1 (en) | Programmable controller and control method for programmable controller | |
Frank et al. | Workflow and decision support for the design of distributed automation systems | |
EP4193225B1 (en) | Method and system for providing engineering of an industrial device in a cloud computing environment | |
CN109906440B (en) | Multi-core device with split redundancy scheme in a process control system | |
KR101653925B1 (en) | Engineering apparatus, engineering system, and download processing method | |
Anton et al. | Deploying on demand cloud services to support processes in robotic applications and manufacturing control systems | |
WO2019216191A1 (en) | Control system, support device, and support program | |
Stein et al. | Consistency challenges in self-organizing distributed hard real-time systems | |
CN105550027A (en) | Switching method for multiple time scheduling tables based on partition operation system | |
US12066806B2 (en) | Chainable and nested edge for industrial automation device analytics | |
US20240103491A1 (en) | Automation device firmware as a service via a container implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110714 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110726 |