0 引言
经过多年的信息化建设,工作流软件在电力系统主要业务应用(如营销、生产、企业资源计划(ERP)等)中得到了广泛应用,极大地提高了业务操作处理效率。信息化的逐步深入对业务流程管理的建设提出了更高要求,即建设支撑电力系统业务融合。然而,若应用系统各自建设业务流程管理(BPM)组件,易出现以下问题:① 技术路线不统一,且各应用自己完成产品发布、使用、上线以及维护,难以实现企业流程集约化管理;②缺乏支持各业务间流程整合 的流程管理平台,难以实现跨系统流程的运行;③ 现有各系统内工作流只覆盖流程管理的某个阶段,而非全部阶段,难以实现全生命周期管理。
国内外现有的业务流程管理解决方案一般采用商业的工作流或BPM 产品并进行二次开发。工作流产品可以较好地支撑单个应用内部的流程流转,但难以实现不同系统之间的流程集成;商业的BPM 产品功能较为丰富,但定制性不强,难以根据电力系统复杂的业务应用灵活扩展,无法直接满足电力系统各业务之间复杂的流程集成及集约化管理的需求。
与数据交换平台定位不同,BPM 定位于企业流程的全生命周期管理,管理实时流程数据,而数据交换平台定位于数据在不同单位之间的交换,交换的数据类型包括各种业务数据,但不包括流程数据,这些数据的交换可以是非实时的。本文在系统分析电力行业业务流程管理需求的基础上,设计并开发了适用于集团型分级管理企业的业务流程管理平台,该平台已在国家电网公司信息化SG-ERP建设中得到实际应用。
1 流程管理组件需求
信息化对流程管理组件提出的要求分为系统间流程集成、系统内流程集中管理、业务流程闭环管理等三大类。
1.1 系统间流程集成
随着电力系统业务的深入融合,要求信息化能够支持公司业务的融合和统一管理,支撑企业集团化运作和集约化发展,具体体现为以下方面。
1)以流程化的方式支撑业务融合。要求能够按照电力企业业务主线对相关的页面、功能模块、工作流程等进行整合,如电网设备资产全寿命管理要求能够实现对资产全生命周期的管理和监控,能够以流程化的方式以业务主线为线索对各个相关业务应用进行集成,复用现有业务应用资源。
2)实现纵向流程集成。可以通过流程集成平台的上下互联实现业务应用的纵向流转,如集团总部和基层单位之间的综合计划的编制上报、平衡优化、审核下发、执行反馈等“纵向”全流程管理。
1.2 系统内流程集中管理
当前,电力系统的各个主要业务应用中已使用工作流来管理流程。这些工作流主要提供系统内流程实例状态的监控,未实现企业级流程的集约化管理。流程集约化管理有以下优点:
1)提高系统开发效率。将流程进行集中管理后,流程管理软件的安装、开发、上线、运行、维护等都有专门的团队提供服务,各应用项目组只需关注自己业务的应用开发,无需关注流程软件的安装与维护。
2)为实现企业级的业务活动运营实时监控提供支持。只有实现了系统内流程的集约化管理,将企业的流程数据集中管理,才能够支撑对业务流程的实时监控。
1.3 业务流程闭环管理
企业级的业务流程管理是一个全生命周期的管理,可分为流程梳理、流程建模、流程运行、流程监控、流程绩效与优化5个阶段。其中,流程梳理及建模是从企业的业务体系和流程的规划入手,规划企业的流程层次,进行流程梳理,并通过流程建模工具(如BPM 工具)绘制流程;流程运行是指在该阶段执行流程模型,生成一系列的流程实例,而流程实例可自动运行、与外部应用进行交互、也可人工驱动运行;流程监控、绩效与优化是指对流程实例进行全方位、细粒度的监控,包括查看流程运行的状态及当前处理人、流程活动列表、终止活动、挂起活动等操作。此外,还可以通过一系列的统计图表展示流程执行的效率、瓶颈,通过对这些图表进行分析,达到对流程调整及优化的目的。
2 流程管理组件设计
2.1 总体架构
大型电力集团企业下属各单位地域分布较广,且都建有局域网并通过广域网相连。考虑到BPM组件集成的应用分布在总部和下属单位两侧,为实现不同单位业务系统之间的流程集成,需要在公司总部、下属单位各部署一套BPM 组件,对系统内流程进行集中统一管理。BMP组件的架构模式如图1所示。
图1 BPM 组件的架构模式
为实现跨系统流程和系统内流程的统一管理,同时避免不同应用系统的数据产生相互干扰,BPM运行时,采用“多实例”的模式提供服务,即为不同的应用提供不同的BPM实例,跨系统流程则在跨系统流程引擎实例中运行,其服务模式如图2所示。
图2 BPM组件多实例服务模式
在BPM组件多实例服务模式中,所有业务流程应用共用一个流程平台,在流程平台中有多个BPM实例,不同的实例为不同的业务应用提供服务。这些流程实例都基于一个数据库进行存储,不同应用之间的数据通过不同的数据库用户名来隔离。
2.2 模块设计
本文设计与研发的BPM组件的整体功能如图3所示。
图3 BPM 平台整体功能
图中,流程设计器负责业务流程的可视化建模,通过简单的拖拽操作实现流程的绘制;流程客户端能够在需求分析阶段对流程进行快速验证和模拟,具有流程启动、任务处理、代理设置、代理查看等功能;流程引擎端为BPM 产品的核心组件,具有流程定义解析、流程实例运行、调用外部业务操作或者Web服务等功能;流程管理控制台能够实现流程的建模设计并对流程引擎进行管理,可进行流程设计建模、业务流程定制、流程管理监控、引擎配置管理;流程统计与监控环节通过各种图表展示流程执行的时间和效率,并对业务流程及业务资源进行分域管理,实现端到端流程监控。
2.2.1 流程设计器
业务流程设计器是BPM 的重要功能组件,其采用B/S的方式,实现了BPMN2.0建模标准。基于Flex展现技术,通过简单可视化的拖拽操作为流程设计人员提供了丰富的业务流程建模服务。其为业务人员与技术人员分别提供了2种相关的操作视图,并支持2种视图的平滑过渡。
1)业务建模视图:为业务人员提供的操作视图。该视图提供了流程建模必需的基本图元,包括开始与结束活动、人工活动、自动活动、子流程、网关、泳道图等。此外,还提供了用于复杂流程建模的图元,如事务块、外部子流程、消息开始活动等。这些图元都是以业务化的方式提供给业务人员,并不包含具体的技术实现细节。基于这些图元,业务人员可以绘制出复杂的流程模型。
2)技术建模视图:为技术人员提供的操作视图。该视图是对业务建模视图的进一步细化。针对业务人员绘制的自动活动,技术人员可将其技术细节设置为调用Java代码或者web服务。
此外,流程设计器还提供了一体化的建模环境,即在一个设计器中就可以完成流程所有的建模操作,包括业务资源建模、业务规则管理、子流程编辑和Web服务配置。
2.2.2 流程客户端
流程客户端是一个基于BPM 接口的业务流程客户端,该客户端可使用户在业务流程建模设计及开发过程中快速进行业务流程的模拟调试和验证,及早对业务流程进行调整和优化。它提供集中的任务处理及流程模拟测试功能。
1)通过集中任务处理功能,用户可以查看自己的待办任务、处理任务、管理自己的已办任务、跟踪流程运行状态、代理任务。
2)流程模拟测试指流程在相关的业务资源比如Java代码还没有开发好之前就可对流程进行测试,提前发现流程建模中的问题。
2.2.3 流程引擎端
流程引擎是BPM 的核心组件,它提供流程运行的环境和对流程实例从启动、运行再到结束的全生命周期管理,其核心组件包括统一流程服务接口、业务资源库、PVM 虚拟机、规则引擎、人工任务管理、BPMN 组件、流程集成组件、SOA&EDA基础框架等。其中,PVM 虚拟机为流程引擎的微内核,其提供了流程实例运行的最小运行环境,流程引擎基于它扩展实现相关功能;规则引擎提供业务规则的定义、运行、解析等功能;人工任务管理提供对人工任务的管理,包括待办任务的分配、任务的回退、跳转、撤销等;流程集成组件负责与外部流程的集成,通过调用相关的web服务,实现对Web服务的串接,集成外部应用流程;SOA&EDA 基础框架提供了流程处理的基本框架,实现了流程的分段式处理,支撑流程在大数据量以及集成环境下的稳定运行。
2.2.4 流程管理控制台
流程管理监控台是专为流程管控人员提供的从流程定义、实例监控到异常定位、再到备份和数据迁移的一组强大工具,主要包括流程实例管理与引擎配置管理功能:① 流程实例管理提供了对流程实例的精益监控,包括查看流程状态、终止流程、挂起流程、调整活动处理人、设置流程相关数据、流程版本管理、流程综合查询、流程日志管理、流程导入与导出等操作;②引擎配置管理提供了对流程引擎的一系列配置进行修改的功能,包括运行参数、web服务、消息调用、集群、邮件、扩展、转历史、组织机构、系统变量等配置。通过调整相关配置,可对流程引擎运行性能和功能进行调整和优化。
2.2.5 流程统计与分析
流程统计与监控提供了对流程异常活动、端到端流程以及流程执行效率等关键指标的统计分析功能。其中,异常活动监控列出了流程执行过程中发生的异常活动,用户可以根据实际应用需要对这些活动进行人为干预和调整,包括终止活动、修改活动处理人、重新启动活动、单步回退、路由到其他活动等;端到端流程监控则提供对流程关键信息的查看,包括流程实例的运行状态,运行轨迹,流程定义名称和ID,流程实例名称和ID,流程实例创建者,创建/启动时间,结束时间,时间限制等功能,还提供对流程实例的一系列监控操作,包括启动、挂起、恢复、终止、删除、更换版本等;流程统计分析模块针对流程数据做统计分析,提供流程执行时间、环节执行时间、个人与部门工作量、流程实例数量、流程环节超时数量以及流程环节回退抽回数量统计等6类图表,每类图表又分为数量统计图和趋势分析图2类。
2.3 应用示例
图4列出了某示例流程,该流程由某电力公司发起并提交总部审批,总部在审批过程中会提出修改意见,省电力公司根据总部的修改意见修改后再提交总部,如此往复直至最终通过该业务的审批。这是一个典型的纵向流程集成的应用示例。基于BPM 实现该流程的步骤如图4所示。
图4 某业务总部网省两级审批流程
电力公司的用户登录网省公司SAP门户,起草业务审批计划,然后启动该计划的审批,启动时会调用网省的BPM,创建一个流程实例,此时流程处于启动状态;省电力公司BPM 向总部BPM 发送消息,通知该BPM 启动总部的审批流程,总部流程启动后,会通知专责进行处理,专责审批后,提出修改意见,将流程消息发送到网省并通知网省进行修改;省公司的BPM 收到消息后,创建待办任务,网省用户收到待办任务后,落实相关修改意见,修改完毕后再发送到总部进行审批;总部收到消息后,对计划进行审核,审核通过后,向网省的BPM 发送消息,通知网省提交相关的工程决算;省电力公司收到消息后,提交相关预算,将流程发送到总部进行审批,总部审批通过后,向网省BPM 发送消息,通知其进行下一步工作;省电力公司收到待办任务后,进行工程转资,流程结束。
3 结语
本文设计开发了基于BPMN2.0标准的分布式业务流程管理平台,实现了流程集成及流程的集约化管理。该平台在国家电网公司信息系统的多个业务中得到应用,部署在国家电网公司总部、所有网省公司和直属产业单位及直属金融单位。该平台支撑了国家电网公司总部及网省单位的IRS系统、人资集约化、大规划项目、审计综合、电动汽车、基建标准成本管理、能效管理、智能支付平台、政工管理系统等约30个项目的建设,应用部署点100余个,累计使用约1100人,强有力地支撑了国家电网公司的信息化建设。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于BPMN2.0标准的电力ERP系统业务流程管理平台
本文网址:http://www.toberp.com/html/consultation/1082039472.html