一种协同的柔性Activiti5引擎设计

2017-03-29 04:52陈路路
计算机技术与发展 2017年3期
关键词:引擎柔性动态

陈路路,周 凤

(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)

一种协同的柔性Activiti5引擎设计

陈路路,周 凤

(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)

近年来,各类工作流技术产品层出不穷,虽然满足了流程的跟踪和业务监控需求,但随着信息技术的发展,一方面,一些行业对于跨区域、跨组织的要求越来越高,这就要求工作流产品在实际的应用中要解决协同办公问题。另一方面,由于业务流程的变更而引起的动态自适应问题也日益突出。针对这两方面的问题,提出了协同的柔性Activiti5引擎的设计方案。其中针对协同问题采用Web Service技术,把需要交互的工作流技术封装为Web服务,通过SOAP和UDDI等协议进行交互。另外针对柔性问题采用BP算法,不断地模拟上下文环境和用户的输入数据,把产生的执行路径的结果存入策略池,动态地自主选择实际执行路径。该协同的柔性Activiti5模型不仅能很好地解决协同交互问题,而且也能有效支持业务的动态变更,从而实现行业的跨区域办公和业务流程的自适应性。

Activiti5引擎;柔性;工作流技术;动态变更;Web Service技术

0 引 言

伴随着网络信息技术的快速发展,各行各业对信息化的要求越来越高,随之而来的相关业务也就复杂起来,人们的办公不仅仅局限于同一地点同一部门,可能还涉及不同地点不同部门的相互协同工作,进而就要把各个不同系统的相关需求都要考虑进去。另一方面,由于业务可能随时出现变更问题,对于一些动态的业务变化,工作流技术要有很好的自适应和处理能力。目前,针对协同和柔性支持这两个领域,众多的研究工作者都做了不同程度的研究和探索,也有相应的一些研究成果。在这些领域中,都是针对其中某一个问题给出了解决方案,然而,在实际应用中,工作流管理系统不但要提供协同办公,还要提供一定程度的柔性支撑。因此在已有工作流的研究基础上,文中结合当前工作流开源产品,设计了一种基于Web支持的协同办公和业务动态变更的Activiti5工作流模型[1]。

1 相关技术分析

1.1 协同工作流

协同工作流[2-3],就是可以在不同的系统、组织或者企业中进行流程或者应用服务上的交互技术,这样相互合作的对象就必须要知道对方的一些流程信息,可是从数据安全性角度考虑,协同工作流并不需要完全知道对方的详细流程信息和数据。目前的大多数交互模式中,普遍采用的是“黑盒子”模式,需要沟通交互的双方建立一个平台,然后以“黑盒子”形式进行,这样可以确保流程信息的安全性。另外一种交互模式[4]就是对外发布一些交互的流程接口,由工作流引擎进行统一的协调和交互,但是对于一些复杂的交互量大的业务来说,这种以Workflow Engine为核心的交互技术会加重其交互负担,形成瓶颈,降低交互效率。文中协同工作流技术解决交互问题采用的技术是Web Service,把需要交互的工作流技术封装为Web服务,通过SOAP和UDDI等协议进行交互。

1.2 柔性工作流

“柔性”就是指在外部因素改变的情况下,自身能够对这种改变有一定自适应能力,从而保证原有特性的一种能力。相同地,柔性工作流[5-7]中柔性与此类似,就是在工作流定义完成后,在其运行阶段,对外部的环境和突发事件,比如任务的提前处理,任务处理人的更换等问题,给出合理的应对措施,从而让业务流程顺利执行下去。再比如当流程或者系统的某个模块发生改变时,仅对相应的流程定义或者相关参数规则进行调节即可,而系统本身的架构不会发生变化。一般来说,柔性工作流技术对于节点的删除、添加、更改等操作,都有一个动态的调整度,并且能够动态地设置流程节点属性及其执行人员,大部分的这种柔性的实现是通过动态选择、动态细化、动态变更、动态偏离等方法进行提高和改进的。文中的柔性问题的解决是通过BP算法,不断地模拟上下文环境和用户的输入数据,把所有可能产生执行路径结果存入策略池,从而动态地自主选择实际所执行的路径。

2 协同柔性的工作流模型的设计与实现

2.1 设计思想

有关协同工作流的设计思想:首先要做的就是工作流服务提供者把准确无误的流程或者应用服务通过Web服务中介进行发布,并在工作流服务注册中心进行注册。其次,如果有需要工作流服务的用户或者系统,可以向Web服务中介发起请求,服务中介者根据请求查询UDDI注册中心,找出需求者所满意的服务,找到之后,Web服务中介者向工作流服务需求者返回满足条件的工作流服务描述信息,用WSDL对该信息进行描述,这样可以方便支持Web服务的PC端都能解析。紧接着,工作流服务的需求者利用从Web服务中介返回的描述信息生成相应的SOAP消息,进而发送给工作流服务提供者,以实现工作流服务的调用。最后工作流服务提供者按SOAP消息执行相应的Web服务,并将服务结果返回给工作流服务请求者,这样就可以实现在数据相对私密的情况下,两者进行交互和流程信息以及应用服务上的共享问题。其交互图如图1所示。

图1 工作流服务共享交互图

有关柔性方面的设计思想[8-9]:目前工作流的柔性方面的改进主要是通过动态选择、动态细化、动态变更、动态偏离等进行。其中,动态选择方法是在流程定义阶段,尽可能地把各种可能出现的变化,即执行路径都设计描述出来,这就要求流程设计人员非常了解整个执行过程以及可能出现的突然事件,给设计人员带来了很多设计上的难点。首先不可能穷尽所有的可能执行路径,其次预先设计好的路径也不一定能够执行,随机性很大。然后就是动态细化,由于提前把模糊的不确定的节点用占位符来表示,等到后期流程执行时,流程引擎再根据流程的具体数据信息进行细化补充,如果这些流程节点是整个流程定义中的关键节点,或者业务流程比较复杂时,这种方法就显得臃肿和不堪重负了。动态变更问题目前主要有流程定义的变更和流程实例的变更,目前还是主要的研究热点。

基于以上改进方法的优点和不足之处,现选择采用BP算法进行改进,可以模拟外部环境的变化和一些参数的改变,然后进行大量训练,进而把可能执行的路径结果都记忆下来。BP算法的核心思想就是输入一些学习样本,结合工作流的实际情况,这些学习样本就是流程执行的上下文环境和用户的输入数据,然后采用反向传播思想对预先结果的偏差进行不断的训练和调整。其中采用BP算法的流程图如图2所示。

图2 增加BP算法的流程图

每次改变外部环境和参数,如果进行训练后的执行路径偏离原来的很严重,或者和实际的不相符,那么就重新设定,然后再训练;如果达到的偏离范围在两个任务节点以内,那么就可以认为是误差合理的,再把所有可能出现的流程执行路径存储在策略池中;如遇到实际的流程执行路径,就可以从策略池自动地选取合适的执行路径进行传递。图3为增加BP算法后的柔性改进。

图3 流程执行路径选取图

其中虚线的是不执行的,实线是实际流程执行的实际路径。由图可知,业务流程的选取可以不用事先设定好,只需要把平时的训练结果放入策略池中,然后当流程需要执行时,就可以自动地从策略池中进行选取,这样不用设计人员浪费大量的时间去设计描述流程执行路径,增加了工作流的柔性度。

2.2 模型设计

在该设计模型中,核心部分是Activiti5工作流引擎[10],负责生成流程运行时的各种实例以及数据,并且监控和管理流程的运行。该模型中的流程定义工具与管理和监控接口都是面向管理者的,其中流程定义工具主要是用来建模的,流程管理和监控接口是用来管理和监控流程运行状态的。工作流服务注册,是提供方便的信息交换平台,进行交互的其他工作流的系统[11-12]所提供的服务都符合这个标准。用户接口主要是用户和工作流进行交互的。Web服务代理的功能就是发送Web服务请求,接收Web服务结果,也可以和其他工作流进行交互通信。模型如图4所示。

图4 协同柔性工作流模型

2.3 引擎实现框架

流程实例开始执行的时候,倘若出现一些流程业务变更问题[13],引擎通过任务与实例间的关联关系就可以恰当处理。比如流程变更问题,引擎只需要通过变更任务的定义标识以及相关的流程实例获取任务的执行信息,经过变更机制处理,重新生成新的任务实例,将新的数据增添到当前的任务实例列表中,与此同时,在历史任务列表中更新当前新数据。图5的引擎框架中,ProcessEngine[14]共提供了7个接口,实现流程动态变更问题就是通过TaskService接口来实现,在这个接口中新增任务重做接口,具体的指令实现在Command库中添加指令,实现流程变更功能。

3 结束语

该协同柔性的Activiti5引擎设计主要是依据Web

图5 引擎实现框架图

Service技术和BP算法,Web Service技术可以解决不同部门、不同区域的交互办公问题,方便了人们的服务共享。与以往提出的分布式工作流模型相比,该模型具有更好的扩展性、平台无关性和互操作性,无论工作流的系统内部如何实现,只需要把交互的技术封装为Web服务即可,这样也保证了数据的安全性。另外,柔性的实现主要是通过BP算法不断地训练修改,把所有可能的结果放入策略池中,让流程的产生可以自动地从策略池中选取,不用人为地去提前设定,节省了大量的人力、物力,减少了设计成本。

[1] 岑炬徽.基于移动Agent的柔性工作流协同模型的研究与实现[D].广州:华南理工大学,2013.

[2] 马晨华.面向协同工作环境的多层级访问控制模型研究及应用[D].杭州:浙江大学,2011.

[3] 李 申.大型天线结构协同设计关键技术研[D].西安:西安电子科技大学,2013.

[4] Zhao P L,Li Y H,Yang H K,et al.Design,synthesis and antiproliferative activity of novel 5-nitropyrimidine-2,4-diamine derivatives bearing alkyl acetate moiety[J].European Journal of Medicinal Chemistry,2016,118:161-169.

[5] 甄 雪.基于工作流的装配执行过程集成监控与柔性业务协同技术[D].北京:北京理工大学,2015.

[6] 魏 华.基于柔性工作流技术的电力生产协同组织管理系统的研究与实现[D].北京:北京交通大学,2007.

[7] 马 竞.基于OSGi的海战场柔性工作流的技术研究[D].北京:中国舰船研究院,2015.

[8] 史银雪.目标驱动—情境感知的柔性Web服务组合研究[D].北京:中国农业大学,2014.

[9] 王卫华.基于柔性工作流的质量管理系统设计与实现[D].南昌:南昌大学,2010.

[10] Xiao S,Zhu W,Liu P,et al.CNTs threaded (001) exposed TiO2 with high activity in photocatalytic NO oxidation[J].Nanoscale,2016,8(5):2899-2907.

[11] 何 佳.基于Activiti5的Web管理控制台的设计与实现[D].昆明:昆明理工大学,2012.

[12] 陈 启,孙树栋.基于组件化柔性工作流的协同质量控制系统设计[J].中国制造业信息化,2008,37(6):18-21.

[13] Sun J,Wang L,Song R,et al.Enhancing pyridinic nitrogen level in graphene to promote electrocatalytic activity for oxygen reduction reaction[J].Nanotechnology,2016,27(5):055404.

[14] Zhang S Y,Fu D J,Yue X X,et al.Design,synthesis and structure-activity relationships of novel chalcone-1,2,3-triazole-azole derivates as antiproliferative agents[J].Molecules,2016,21(5):653.

Design of a Cooperative Flexible Activiti5 Engine

CHEN Lu-lu,ZHOU Feng

(College of Computer Science and Technology,Guizhou University,Guiyang 550025,China)

In recent years,diverse kinds of workflow products emerge in an endless stream.With the development of information technology,these products could satisfy need of process tracking and business monitoring.However,requests of inter-region and inter-organization integration in several industries have become higher and higher which needs to solve the problem of collaboration office on one hand,and dynamic adaptive problems caused by alteration of business process have been more and more prominent on the other hand.Aiming at the two problems,a design scheme of collaborative and flexible workflow Activiti5 engine has been proposed among which Web Service technology is employed for coordination problem through encapsulating the interactive workflow techniques into Web Services under SOAP and UDDI protocol.In addition,BP algorithm is introduced to solve flexible problems,by which context environments and input data from user are continuously simulating so that the generated result of executive path can be conserved into strategy pool in convenient for dynamically self-determining practical executive path.Eventually the Activiti5 model is shown effective for having solved the collaborative and flexible problems and supported dynamic alteration of business with realizations of interregional office and self-adaption potential of business process.

Activiti5 engine;flexibility;workflow technology;dynamic change;Web Service Technology

2016-05-03

2016-09-07

时间:2017-02-17

贵州省自然科学基金(黔科合20102257)

陈路路(1989-),女,硕士,研究方向为工作流技术;周 凤,硕士,副教授,研究方向为网络技术。

http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1632.076.html

TP31

A

1673-629X(2017)03-0048-04

10.3969/j.issn.1673-629X.2017.03.010

猜你喜欢
引擎柔性动态
国内动态
柔性接口铸铁排水管在建筑排水工程中的应用
柔性仓储自动化技术在家居建材行业中的应用
国内动态
国内动态
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
动态
柯马智能柔性激光焊接站震撼发布
蓝谷: “涉蓝”新引擎