APP下载

基于BPS的工作流技术在管理系统中的应用研究

2023-03-12孙雪松

职业 2023年20期
关键词:管理系统应用

孙雪松

■摘 要:工作流是实现办公自动化的一项重要的技术。基于BPS的工作流技术构建了应用系统功能框架,可以实现对流程全生命周期的管理。通过对流程的设计建模、部署、运行、监控、访问权限控制等管理功能,实现了流程的标准化、规范化,从而提高了办公效率。本文对基于BPS的工作流技术进行深入研究,结合业务工作实际进行了应用实例的开发,探讨了管理系统中的流程设计过程,对提高业务过程控制和业务协同机制具有重要意义。

■关键词:工作流技术;管理系统;应用

随着信息化程度的不断提高,许多业务的处理方式逐渐由纸质操作转为信息系统进行处理和管理。通常情况下,业务处理都需要多个部门、多个人员协同工作,依据流程的特定顺序完成工作。传统的信息系统在任务流程层面缺乏一种信息化、可视化的动态监控研发设计全过程的有效手段,不能按规范的设计流程引导和驱动设计过程,因此,制约了有效设计知识的传承和协同设计能力的提升。

笔者通过对现有工作流的分析与研究,发现其存在着一些不足。例如,有些工作流引擎在运行时需要解释预先设定好的工作流文件从而导致在流程运行中无法灵活修改。对于逻辑复杂的大型流程来说,若存在节点变化,需逐个修改流程定义文件。重量级的流程引擎可以满足大部分需求,但存在修改起来困难、学习成本高和部署复杂等问题,而轻量级的引擎则存在无法满足需求等问题。针对这些问题,笔者提出了基于BPS的工作流技术在管理系统中的应用。

一、工作流技术研究

(一)工作流的组成

工作流是处理业务的步骤,是将一个复杂的工作分为多个步骤来完成。每个步骤或者小的环节安排一个或者多个参与者来完成。在事务的处理过程中,还需要对事务进行监控和管理,从而提高企业的工作效率和管理水平。在工作流中,最基本的两个元素是活动与活动之间的连接关系。活动是业务过程中的任务,对应着业务流程中的某个步骤,而连接关系则表示业务规则。根据不同的业务流程和相应的规则,信息会在不同的执行者之间流转和处理。

1.业务流程

描述一个完整的业务过程,它由若干活动组成,包括流程的基本信息、开始和结束条件、组成的活动、活动间流转的规则、需要用户执行的工作任务(工作项)、可能调用的应用程序以及流程相关数据等信息。提交到流程定义库后会包含流程定义编号(流程定义的唯一标识)、流程定义名称、版本号、流程定义描述以及提交时间等描述。

2.过程定义

过程定义包含在流程定义之中,代表了一个相对独立的逻辑工作单元。一个活动代表一个需要由相关资源处理,或者由计算机处理的任务。其中,定义了该活动的基本信息、执行该活动的参与者、时间限制、工作项信息、触发事件和启动策略等信息。

3.活动

活动定义过程中每一个节点所需完成的工作。活动包含在流程定义之中,代表了一个相对独立的逻辑工作单元。定义了活动基本信息、参与者、工作项信息、触发事件和启动策略等信息。

4.流程实例

当流程定义提交并发布到服务器以后,就可以启动该流程。启动时会创建流程定义的一个实例,称为流程实例。同一个流程定义可以有多个流程实例。每一个流程实例会被保存在流程实例库中,包括流程实例编号(唯一标识)、流程实例名称、流程定义编号、流程实例状态、流程实例启动者、流程实例启动时间和相关数据等信息。

5.活动实例

流程实例中的每个活动称为活动实例。每一个活动实例会被保存在活动实例库中,包括活动实例编号(唯一标识)、活动实例的状态、所属的活动定义编号以及流程实例编号、时间限制、是否超时和创建时间等信息。

6.工作流管理系统

一套完整的工作流创建和使用的计算机管理系统,其主要功能是完成对流程及组成活动的定义与建模、在执行中对业务流程进行协调管理、完成系统与参与者或其他系统的交互。

7.工作项

表示流程实例在流转过程中为完成某个活动实例需要参与者做的工作。一个活动实例可以对应一个或多个工作项。每个工作项会被保存在工作项库中,包括工作项编号(唯一标识)、参与者、工作项的状态、所属的活动实例编号、流程实例编号等信息。

(二)BPS原理及机制

BPS是完全基于业务化思想实现的SOA流程平台。在国际工作流管理联盟所描述的基础上进行了改进,旨在实现在正确的时间将正确的任务按照正确的顺序交给正确的人。

在开发期间,利用流程定义工具定义流程,通过调用组织模型接口获取组织模型或外部相关应用。在运行期间,通过流程引擎来实现相应的工作。BPS能够实现解释工作流定义过程、控制流转过程事务状态转变提供方位接口、监控管理流程流转等功能,使流程具有稳定性、易维护性、灵活性及高可靠性等特点。

二、工作流的设计

(一)工作流引擎设计

工作流引擎对于流程的执行过程中的管理主要分为流程发起、流程流转、流程终止以及流程查询。现阶段存在的大多数重量级的工作流引擎往往将实现部分放在逻辑层中进行封装处理,从而导致当流程运转时存在较多配置文件。部署时,通常需要考虑全套的工作流引擎。基于BPS的工作流引擎主要针对流程执行的4种功能作为储存过程进行设计。在创建流程定义的相关静态数据表单外,还建立了流程运行相关表和流程历史相关表,分别用来保存流程运行时的数据及流程完成后的歷史数据。针对流程执行过程中的4种功能分别做如下操作。

1.流程发起

在流程启动后,生成流程相关信息,并将信息分为流程层面、活动层面及工作项层面,将信息存放到流程业务表和运行相关表中,并标记流程及相关节点状态信息。

2.流程流转

在流程流转过程中,流程层面的表中始终保持流程状态可用,将节点活动层面数据及工作项层面数据更新为“结束”状态并写入流程明细表中。

3.流程终止

在流程终止时,将流程相关信息从运行表中删除并加入流程历史表中。

4.流程查询

其实质是指对运行中的流程及已完成的流程的监控与使用。

(二)数据模型设计

流程实例是流程与业务关联的纽带。因此,将业务表与流程进行关联是实现工作流的基础。将流程引擎相关数据通过流程实例编号关联,通过映射表将业务系统中的业务表主键与流程实例编号关联,从而能够获取流程与业务对应关系,得到相应信息,得到流程开发中的数据模型。

(三)服务接口

工作流引擎提供用于进行工作流部署和执行及管理的服务接口。通过该接口可以操控服务相对应的数据库表。服务接口主要包括以下几种类型。

一是资源服务组件。该组件是资源管理类,其提供了管理和控制流程发布包和流程定义的操作。主要是通过工作流建模工具将业务流程的定义部署到服务器上,同时,也能提供引擎中发布的包含流程的查询操作。對发布包的激活操作或暂停操作就是对应的流程定义操作。暂停意味着不允许执行任何操作,而激活则是暂停所对应的反向操作,即能够激活多种资源。例如,包含在发布包里的文件或引擎自动生成的流程图等流程信息。

二是运行服务组件。该组件是流程的运行管理类。通过这一组件可以获取流程运行中的相关信息。

三是任务服务组件。该组件是流程的任务管理类。通过这一组件可以获取流程中每个工作项的相关信息。

四是历史服务组件。该组件是流程的历史管理类。流程结束后,流程实例信息会自动归结到历史信息数据库表内。因此,可以通过此组件查询流程的历史信息。流程引擎会保存许多信息。例如,流程启动时间、参与人、结束时间和流程相关数据等。通常情况下我们会通过这个类型查询到相关信息。

五是管理服务组件。该组件是流程引擎管理类,其提供了关于流程引擎的管理和维护功能。这些功能一般不在工作流驱动的应用程序中使用,而是用于对流程引擎系统本身的维护方面。

三、管理系统中工作流的实现

(一)需求分析

系统内一般通过工作流建立一个完善的管理流程体系。工作流一般由开始节点、人工活动节点、自由活动节点、网关和结束节点构成。每个流程都包含且仅包含一个开始节点和一个结束节点。网关则包括排他网关、并行网关、包容网关及事件网关。一般情况下,我们可以根据业务特点判断节点的选择。有些工作流会根据业务情况选择是否启用子流程。满足操作人员习惯、实现界面友好、支持多个入口对业务数据进行操作设计;支持各种逻辑下的业务流程流转方式,保证特殊业务流转的灵活性。

根据业务需求,需要考虑业务办理过程中的问题。例如,当节点完成操作后,需要将信息发给流程启动者;当操作失误导致数据填错时,需要将事务撤回等。

(二)工作流在管理系统中的应用

在表单初始化时,页面之间通过请求传递工作项编号,利用工作项编号获取工作项明细,得到流程实例编号后根据关联关系得到业务表记录。当表单提交时,利用工作项编号或流程实例编号调用流程接口,创建并启动流程。在流程中根据条件设置相关数据,完成或退回工作项,驱动流程实现流转。

(三)异常处理

一般而言,异常情况的产生主要是业务人员操作不当或系统漏洞而导致。无论是操作人员失误还是系统漏洞,都必须遵循一个原则,即流程数据或者业务数据存在异常情况时,必须对流程进行严格控制使其不能继续流转。实现这一目的的手段通常是对存储过程进行回滚。

四、结束语

笔者对工作流技术进行了深入的研究和分析,剖析工作流技术理论,并结合现有的工作流进行分析,将轻量级的工作流设计方案应用于管理系统,取得了良好的应用效果,具有较高的应用价值和参考意义。

参考文献

[1]陈广智,潘嵘,李磊.工作流建模技术综述及其研究趋势[J].计算机科学,2014(1).

[2]杜清华,张凯.一种高效的跨平台工作流优化方法[J].计算机工程,2022(7).

[3]田倬璟,黄震春,张益农.云计算环境任务调度方法研究综述[J].计算机工程与应用,2021(2).

[4]陈红燕,王新,何学洲.基于关系数据库的工作流管理系统设计与实现[J].工程建设与设计,2020(22).

[5]刘其臻.基于工作流的项目管理系统的设计与实现[D].济南:山东大学,2020.

[6]王刚.基于BPMN规范的工作流引擎设计与实现[D].成都:电子科技大学,2020.

[7]吕博文.基于SOA的服务组合工作流引擎研究与设计[D].西安:西安石油大学,2019.

[8]徐春婕,史天运,刘硕研,等.基于SOA和工作流的铁路客运站管理系统研究[J].计算机工程与设计,2014(2).

[9]李青,赵萌,闻敬谦.基于工作流的集成质量管理系统设计[J].北京航空航天大学学报,2005(11).

(作者单位:中国航发沈阳发动机研究所)

猜你喜欢

管理系统应用
基于LED联动显示的违停管理系统
停车场寻车管理系统
船舶压载水管理系统
海盾压载水管理系统
多媒体技术在小学语文教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
气体分离提纯应用变压吸附技术的分析
会计与统计的比较研究