CN103049811A - 工作流控制方法和装置 - Google Patents
工作流控制方法和装置 Download PDFInfo
- Publication number
- CN103049811A CN103049811A CN2012104353893A CN201210435389A CN103049811A CN 103049811 A CN103049811 A CN 103049811A CN 2012104353893 A CN2012104353893 A CN 2012104353893A CN 201210435389 A CN201210435389 A CN 201210435389A CN 103049811 A CN103049811 A CN 103049811A
- Authority
- CN
- China
- Prior art keywords
- module
- workflow
- service
- flow
- workflow engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种工作流控制方法和装置,该装置包括:工作流引擎服务模块接收来自用户的操作请求;工作流引擎模块根据工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作。本发明通过工作流引擎服务模块接收来自用户的操作请求,工作流引擎模块根据所述工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作,能够在云计算环境下实现工作流的管理。
Description
技术领域
本发明涉及计算机领域,具体地,涉及一种工作流控制方法和装置。
背景技术
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,从而达到提高生产组织水平和工作效率的目的。
在云计算环境下,各种资源与各类业务子系统相互交织,流程关系错综复杂,缺少统一、有效的管理。资源种类的变更、规则的修改以及其他相关子系统的升级均会导致流程出现异常,甚至出现流程中断现象。这些问题极大的影响了云计算系统的稳定性和工作效率,也为系统管理员实施有效管理增加了很多障碍。由此可见,一个统一、规范、灵活的流程管理工具在云计算环境下非常必要。
由于云计算尚属发展中阶段,目前缺少成熟可靠的流程引擎支持,在OSGi(Open Service Gateway Initiative,是面向Java的动态模块化系统)环境下更是没有可用的流程处理框架。从长远角度看,这不利于云计算技术的稳定持续发展。在软件即服务(Software-as-a-service,简称为SaaS)、平台即服务(Platform-as-a-Service,简称PaaS)甚至基础设施即服务(Infrastructure-as-a-Service,简称IaaS)层均有各自的业务流程,有的流程相对简单,有的流程非常复杂,有的需要人工参与,有的完全由系统自动执行。例如SaaS层的各种应用,申请审批,IaaS层的设备运维、资源整合等都是以流程的模式运作的(或者可以抽象为某种形式的流程)。能否设计实现一个在云计算环境下满足各种需求的工作流框架一直都是各大云计算厂商持续关注的热点问题。
针对相关技术中在云计算环境下无法实现动态模块化式的工作流的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中在云计算环境下无法实现动态模块化工作流的问题,本发明提出一种工作流控制方法和装置,能够在云计算环境下实现动态模块化的工作流管理,能够有效提高灵活性。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种工作流控制方法,该方法包括:
工作流引擎服务模块接收来自用户的操作请求;
工作流引擎模块根据工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作。
其中,进一步包括:
工作流引擎服务模块根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
并且,执行与操作请求对应的操作包括:
工作流引擎模块通过调用工作流框架的流程实现接口来确定执行操作的预定流程,并执行操作。
根据本发明的另一个方面,提供了一种工作流控制装置,该装置包括:
工作流引擎服务模块,用于接收来自用户的操作请求;
工作流引擎模块,用于根据工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作。
其中,工作流引擎服务模块还用于根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
并且,工作流引擎模块通过调用工作流框架的流程实现接口来确定执行操作的预定流程,并执行操作。
此外,工作流引擎服务模块包括工作流服务模块和工作流服务管理模块,工作流引擎模块包括服务实现模块和服务管理实现模块;
其中,工作流服务模块用于接收来自用户的操作请求,服务实现模块用于根据工作流服务模块接收的操作请求以及业务的预定流程,执行与该操作请求对应的操作;
工作流服务管理模块继承自工作流服务模块,服务管理实现模块继承自服务实现模块,并且,服务管理实现模块与工作流服务管理模块配合执行操作。
而且,服务实现模块和服务管理实现模块被作为服务而预先发布。
本发明通过工作流引擎服务模块接收来自用户的操作请求,工作流引擎模块根据所述工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作,能够在云计算环境下实现模块化的工作流的管理,从而有效提高系统灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的工作流控制方法的流程图;
图2是根据本发明实施例的工作流控制装置的原理框图;
图3是根据本发明实施例的工作流系统结构图;
图4是根据本发明实施例的工作流主要类图;
图5是根据本发明实施例的工作流框架参考图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种工作流控制方法。
如图1所示,根据本发明实施例的工作流控制方法包括:
步骤S101,工作流引擎服务模块接收来自用户的操作请求;
步骤S103,工作流引擎模块根据工作流引擎服务模块接收的操作请求以及业务的预定流程,执行与操作请求对应的操作。
其中,该方法进一步包括:
工作流引擎服务模块根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
并且,执行与操作请求对应的操作包括:
工作流引擎模块通过调用工作流框架的流程实现接口来确定执行操作的预定流程,并执行操作。
根据本发明的实施例,提供了一种工作流控制装置。
如图2所示,根据本发明实施例的工作流控制装置包括:
工作流引擎服务模块21,用于接收来自用户的操作请求;
工作流引擎模块22,用于根据工作流引擎服务模块21接收的操作请求以及业务的预定流程,执行与操作请求对应的操作。
其中,工作流引擎服务模块21还用于根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
并且,工作流引擎模块22通过调用工作流框架的流程实现接口来确定执行操作的预定流程,并执行操作。
此外,工作流引擎服务模块21包括工作流服务模块(图2中未示出)和工作流服务管理模块(图2中未示出),工作流引擎模块22包括服务实现模块(图2中未示出)和服务管理实现模块(图2中未示出);
其中,工作流服务模块用于接收来自用户的操作请求,服务实现模块用于根据工作流服务模块接收的操作请求以及业务的预定流程,执行与该操作请求对应的操作;
工作流服务管理模块继承自工作流服务模块,服务管理实现模块继承自服务实现模块,并且,服务管理实现模块与工作流服务管理模块配合执行操作。
而且,服务实现模块和服务管理实现模块被作为服务而预先发布。
本发明的技术方案采用了基于OSGi技术的模块化设计,充分实现了松耦合、易扩展的特性。工作流框架被设计为双层架构,顶层是工作流框架接口定义,底层是工作流框架接口实现。这样的设计满足了上层接口定义不依赖于下层具体实现的软件设计要求。随着软件日后的不断升级,底层的接口实现可以在不影响现有系统的情况下动态变更。
如图3所述,为根据本发明实施例的工作流系统结构图。
在图3中,Workflow Service Bundle(对应于上述的工作流引擎服务模块)定义了工作流框架中使用的对象,以及工作流框架对外提供的服务接口。Workflow jBPM模块(对应于上述的工作流引擎模块)是Workflow Service模块的实现,它基于开源框架jBPM 3.2版本,实现自定义的工作流框架接口。
为了保证应用系统与工作流框架底层实现的无关性,本发明实现了公共对象与业务对象的分离式设计。
工作流对象被划分为:流程定义(WFProcessDef)、流程实例(WFProcessInfo)、任务定义(WFTaskDef)、任务实例(WFTaskInfo)等。
如图4所示,为根据本发明实施例的工作流主要类图。
基于图3所示的架构,在Workflow Service Bundle中,工作流框架定义了两个接口IWorkflowService(对应于上述的工作流服务模块)和IWorkflowAdminService(对应于上述的工作流服务管理模块)。通过这两个接口为流程提供相关服务。IWorkflowService接口主要提供创建流程、获取任务、提交任务等常规方法;IWorkflowAdminService接口继承自IWorkflowService接口,主要提供对工作流框架进行管理的相关操作,如发布流程定义,删除流程定义,任务解锁等操作。
另外,在Workflow jBPM模块中,定义了JbpmServiceImpl(对应于上述的服务实现模块)和JbpmAdminServiceImpl(对应于上述的服务管理实现模块)。JbpmServiceImpl和JbpmAdminServiceImpl两个类都是基于jBPM 3.2分别实现IWorkflowService、IWorkflowAdminService的接口,并发布成OSGi服务。在同一OSGi环境中的系统,可以通过引用OSGi服务的方式获得工作流框架提供的接口;其他外部系统可以通过WebService的方式来调用工作流接口。也就是说,JbpmServiceImpl和JbpmAdminServiceImpl分别用于实现IWorkflowService和IWorkflowAdminService的具体功能和操作。
本发明的技术方案结合工作流自身的一些特点和云计算环境下的特殊业务需求,整理了云计算环境下工作流框架的基本模型及系统间的主要交互接口。
结合图3和图4所示的结构,本发明的技术方案是基于OSGi技术的工作流框架设计;并且采用双层框架设计:第一层(上层)为基本接口层,用于管理接口定义,第二层(下层)为接口实现层;还采用了接口与实现分离的框架设计,当底层接口实现发生变化的时候,可以灵活的替换底层接口实现,而无需对上层做出改变,由此保证了框架的稳定性、可扩展性;而且,工作流普通使用接口与管理接口的分离,便于不同权限用户的管理;因此,工作流框架可以自维护,自动部署已经定义的流程,自动检测流程定义,已经部署过的流程不再重复部署。
如图5所示,为根据本发明实施例的工作流框架参考图。
在整个工作流框架中最重要的是工作流引擎,因为所有的工作流管理系统都要依赖于工作流引擎。
在图5中,接口1为流程定义工具:用于设计业务流程定义供工作流引擎来实例化运行。“业务流程定义”一般来说就是一段XML,它一般遵循XPDL(Xml Process Define Language)标准、BPEL(Business Process ExecutionLanguage)标准或其他自定义的标准(例如jBPM的流程定义语言就是jPDL)。
在图5中,接口2为工作流客户端应用:当业务流程设计完成并运行后,可以通过工作流引擎接口2与工作流引擎交互,它提供各种各样的工作任务列表、工作表单、流程列表以及一些查询功能。通过这些接口应用,就可以填写表单、处理任务等,从而实现人与工作流引擎的沟通。
在图5中,接口3为执行外部应用:通过该接口去执行一些外部的或面向专门职能领域的应用程序,例如云计算中的审计系统、报表系统等,让第三方系统参与进来,从而完成定义的工作流程。类似于EAI(Enterpris ApplicationIntegration,企业应用集成)。
在图5中,接口4为其他工作流应用接口服务:用来处理若干自治工作流管理系统之间的工作交换,例如实例转移、工作任务外包等。
在图5中,接口5为管理和监控工具:主要被用来搜集管理信息,包括诸如工作流系统功能管理工具、流程实时监视和控制工具,以及工作效率分析和流程覆盖面析等各种云计算中的商业智能工具,这为提升“云”的管理能力、优化重组业务流程、分析云计算系统工作效率瓶颈等提供了重要的量化数据支持。
根据本发明图1至4所实现的技术方案,就能够得到图5中所示的框架,从而,在OSGI环境下有效实现了工作流的管理。
本发明的技术方案实现了云计算环境下统一的流程管理,包括流程定义、流程发布、流程监控、统计分析等功能。很好的满足了云计算环境下的各种业务需求。本发明采用了松耦合的软件设计、当软件升级或者业务变更时能够最低限度的减小外界变化对原有系统的冲击。
此外,本发明借助工作流应用接口与管理接口的分离式设计方便了不同业务系统使用工作流框架,这种分离式设计有效的降低了系统发生错误的概率。流程框架中允许同一个流程定义对应不同的版本,这样的设计可以极大程度的满足流程升级的业务需求。
在可选实施例中,本发明的技术方案是基于开源工作流框架JBPM 3开发的,将JBPM 3移植到OS Gi环境中,显然本发明同样也可以使用其他开源框架实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种工作流控制方法,其特征在于,包括:
工作流引擎服务模块接收来自用户的操作请求;
工作流引擎模块根据所述工作流引擎服务模块接收的所述操作请求以及业务的预定流程,执行与所述操作请求对应的操作。
2.根据权利要求1所述的工作流控制方法,其特征在于,进一步包括:
所述工作流引擎服务模块根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
3.根据权利要求1所述的工作流控制方法,其特征在于,执行与所述操作请求对应的操作包括:
所述工作流引擎模块通过调用工作流框架的流程实现接口来确定执行所述操作的预定流程,并执行所述操作。
4.一种工作流控制装置,其特征在于,包括:
工作流引擎服务模块,用于接收来自用户的操作请求;
工作流引擎模块,用于根据所述工作流引擎服务模块接收的所述操作请求以及业务的预定流程,执行与所述操作请求对应的操作。
5.根据权利要求4所述的工作流控制装置,其特征在于,所述工作流引擎服务模块还用于根据用户的指示,调用工作流框架的流程定义接口进行业务流程的定义和管理。
6.根据权利要求4所述的工作流控制装置,其特征在于,所述工作流引擎模块通过调用工作流框架的流程实现接口来确定执行所述操作的预定流程,并执行所述操作。
7.根据权利要求4所述的工作流控制装置,其特征在于,所述工作流引擎服务模块包括工作流服务模块和工作流服务管理模块,所述工作流引擎模块包括服务实现模块和服务管理实现模块;
其中,所述工作流服务模块用于接收来自用户的操作请求,所述服务实现模块用于根据所述工作流服务模块接收的所述操作请求以及业务的预定流程,执行与该操作请求对应的操作;
所述工作流服务管理模块继承自所述工作流服务模块,所述服务管理实现模块继承自所述服务实现模块,并且,所述服务管理实现模块与所述工作流服务管理模块配合执行操作。
8.根据权利要求4所述的工作流控制装置,其特征在于,所述服务实现模块和所述服务管理实现模块被作为服务而预先发布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104353893A CN103049811A (zh) | 2012-11-02 | 2012-11-02 | 工作流控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104353893A CN103049811A (zh) | 2012-11-02 | 2012-11-02 | 工作流控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103049811A true CN103049811A (zh) | 2013-04-17 |
Family
ID=48062442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104353893A Pending CN103049811A (zh) | 2012-11-02 | 2012-11-02 | 工作流控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049811A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858727A (zh) * | 2018-11-28 | 2019-06-07 | 深圳中广核工程设计有限公司 | 一种用户控件及其构建方法以及工作流控制方法 |
CN111915275A (zh) * | 2020-07-31 | 2020-11-10 | 上海燕汐软件信息科技有限公司 | 一种应用操作的流程管理方法、装置及系统 |
CN112200403A (zh) * | 2020-08-24 | 2021-01-08 | 南方电网数字电网研究院有限公司 | 一种电力行业运维调度系统能力管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132911A (ja) * | 2000-10-24 | 2002-05-10 | Diamond Pc:Kk | サービス受注管理サーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN101661582A (zh) * | 2009-09-28 | 2010-03-03 | 浙江大学 | 工作流管理系统及实现工作流定义工具的方法 |
CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
-
2012
- 2012-11-02 CN CN2012104353893A patent/CN103049811A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132911A (ja) * | 2000-10-24 | 2002-05-10 | Diamond Pc:Kk | サービス受注管理サーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
CN101661582A (zh) * | 2009-09-28 | 2010-03-03 | 浙江大学 | 工作流管理系统及实现工作流定义工具的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858727A (zh) * | 2018-11-28 | 2019-06-07 | 深圳中广核工程设计有限公司 | 一种用户控件及其构建方法以及工作流控制方法 |
CN109858727B (zh) * | 2018-11-28 | 2021-05-04 | 深圳中广核工程设计有限公司 | 一种用户控件及其构建方法以及工作流控制方法 |
CN111915275A (zh) * | 2020-07-31 | 2020-11-10 | 上海燕汐软件信息科技有限公司 | 一种应用操作的流程管理方法、装置及系统 |
CN112200403A (zh) * | 2020-08-24 | 2021-01-08 | 南方电网数字电网研究院有限公司 | 一种电力行业运维调度系统能力管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9800675B2 (en) | Methods for dynamically generating an application interface for a modeled entity and devices thereof | |
US10404551B2 (en) | Automated event management | |
US10803411B1 (en) | Enterprise platform deployment | |
US10983824B2 (en) | Remotely monitoring and scheduling a data integration job | |
CN105809356A (zh) | 一种基于应用集成云平台的信息系统资源管理方法 | |
CN102375734B (zh) | 应用产品开发系统、方法、装置和运行系统、方法、装置 | |
CN102663543A (zh) | 一种用于企业数据统一平台的调度系统 | |
CN111008762A (zh) | 一种电力营销服务系统业务中台设计方法 | |
CN103577165A (zh) | 一种表单生成方法和表单生成器 | |
Poort et al. | Architecting as a risk-and cost management discipline | |
CN110874272A (zh) | 资源配置方法及装置、计算机可读存储介质、电子设备 | |
CN111177541B (zh) | 基于用户标签生成时间的数据分析方法及装置 | |
CN107222575B (zh) | 实现工控设备间opc通信的方法 | |
CN103049811A (zh) | 工作流控制方法和装置 | |
CN114201294A (zh) | 一种任务处理方法、装置、系统、电子设备及存储介质 | |
CN103561092A (zh) | 私有云环境下管理资源的方法及装置 | |
CN103973465A (zh) | 分布式跨平台虚拟化能力管理方法和系统 | |
Van den Heuvel et al. | Software service engineering: Tenets and challenges | |
US20210141668A1 (en) | Background job scheduling restrictions | |
CN103905543A (zh) | 云资源情境感知体系结构 | |
CN101521592B (zh) | 一种建立打印机snmp代理的方法及装置 | |
CN113362037A (zh) | 一种基于边缘云的煤矿智能管理系统及方法 | |
KR20210111516A (ko) | 맞춤형 인공지능 서비스를 위한 실시간 지능화 플랫폼 구성 | |
CN105550143A (zh) | 一种信息设备工况采集的接口系统 | |
CN111061789A (zh) | 一种智能电网基建信息管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130417 |
|
RJ01 | Rejection of invention patent application after publication |