通用型企业流程管理平台(BPM)的实现方法

2021-11-05 08:04陈杰
电子技术与软件工程 2021年17期
关键词:业务流程组件流程

陈杰

(上海明华电力科技有限公司 上海市 200090)

1 业务流程管理(BPM)平台建设背景

随着企业业务的拓展和信息化技术的飞速发展,很多企业,特别是大型企业在信息系统建设上的投入越来越多,所建成的信息系统也越来越多,小到一个用车、用印申请,大到财务报销报账系统,都建立了各自的业务管理系统,为企业高效运转提供支持。

这些大大小小的系统都会用到审批流引擎,大多数系统都会自带,或者定制开发。这就导致了各系统的开发成本和运维成本高,而且不利于各种制度的落地。所以,根据企业管理特点,建立一套通用的、可扩展的、易维护的业务流程管理(BPM)平台尤为重要。以作者所在公司为例,我司为能源企业,下属企业100 多家,因管理和业务需求,建立了项目、合同、库存、财务、资产、办公等业务系统,虽然有统一的管理制度,但每个子公司都会有所差异,所以,所有模块,所有公司的流程种数超过2000 个,每天产生业务流程超1000 条,涉及的专业包括采购、计划、财务、工程等等。流程配置困难、无移动审批、操作不方便、不支持复杂流程配置的问题尤为突出。目前行业已经从整体打通企业流程业务的BPM 时代,迈向了全面支撑业务、驱动业务创新的BPM-PAAS 平台时代,而我们还停留在Workflow 时代。

大型企业都会选择一个成熟的流程引擎,如K2、H3 等,这些引擎只提供基本的流程流转功能,在流程配置和管理方面是弱项,且配置不方便。

所以,建立一套统一高效的流程管理平台迫在眉睫,它的意义主要包括:

(1)适应各业务系统的审批流程配置、运行需求。

(2)可实现跨组织、跨岗位的复杂审批需求。

(3)提供规范的流程接口,各业务系统无需自建流程引擎,降低系统运维成本。

(4)提供移动审批功能。

第一点说明BPM 系统是一套独立的系统,可兼容各系统的需求。而第二点,就是BPM 系统最大的优点,一站式解决企业流程管理、审批需求。第三点是对企业带来的可见的、立竿见影的效益。第四点能大大提升办公效率。

2 BPM系统所提供的功能

一套扩展性、易用性、兼容性良好的业务流程管理系统必须具备一下功能:

(1)根据业务数据模型建立审批模型:这个功能的目的就是为兼容各业务系统。在软件开发过程中,不通的业务单据类型都有不通业务模块,一般称为Model,根据不同的Model,确定不同的业务流程大类,这个可以确定流程的相关属性。

(2)组件化配置审批内容:这个功能的目的是为了满足各审批环节允许看到的内容不一致的需求,但相关业务系统需要是组件化开发,这个在目前的软件开发行业中应该已经很普遍了。

(3)场景化配置审批流:在第一步里确定业务流程大类后,就可以确定各Model 下的相关业务属性,可以根据不同的业务属性配置不通的流程场景,如货物类合同和服务类合同的审批人完全不一样,那就可以根据合同属性配置不通场景,当然,这个是最基本的,场景条件可以根据业务需求设置的很复杂。

(2) 加强对国际科技前沿重点领域的谋划布局。我国基础研究相关资助计划和专项按学科领域布局相对均衡,学科间差异不大,对生命科学等弱势学科的支持力度低于其他科技强国(地区)[9]。建议加强对国际科技前沿重点领域的资助,在继续强优势的基础上注重补短板,如加大对脑科学、微生物学、免疫学等生命科学的支持力度,夯实我国生物技术、健康医疗产业发展的根基,弥补我国产业发展的短板。

(4)统一的审批组织、角色、用户管理:这个是流程引擎的基础数据,在流程配置中,可以选择某个公司下的某个角色,或具体到某个人。

(5)审批节点条件配置:可以根据业务流程大类(Model)属性,来配置流程走向,比如小于100 万的A 批,大于100 万的B 批等等,这个条件可以设置的很复杂。

(6)流程开始前、结束后的动作配置:流程开始前或结束后可能需要有其他事件出发,例如发消息、执行一段程序等等,这个很实用。

(7)扩展属性配置:扩展属性可以对流程节点定义某个属性,为流程统计或流程特殊处理提供支持。

(8)其他流程属性配置:例如是否手动选人、是否跳过同一审批人、是否会签、指定出口节点等等。这些功能也都很实用,也很必要。

(9)移动审批:基于H5 开发,支持IOS、安卓,并支持企业微信审批。

其实BPM 系统的最终目的就是怎么争取的过滤出审批人。

3 具体实现方法

(1)业务模型的制定:以合同审批为例,通常,一个合同的属性包括:名称、金额、合同类型、交易方、是否重大合同、所属公司、所属部门等等,每个公司的属性不一样;Model 的字段可能为:ContractName、Amount、Type、Trader、IsMajor、Org、Dept, 合同审批页面绑定相关字段,作为显示用;在BPM 系统中,注册这个Model,包括流程所用到的字段、审批页面地址等属性。模型确定了,发起业务流程时的主流程也就定了。

(2)组件化配置审批内容:这个需要前端开发以组件形式进行,例如合同,组件包括合同基础数据、交易方、付款计划、合同清单,可能还有会计相关信息,这几个组件得分开开发,拼成一个大页面,在流程节点配置是,可以根据需要拼装显示,满足不同审批人的个性化。

(3)场景化配置审批流:还是以合同Model 为例,合同类型为货物的,需要三级审批,为服务的,需要六级审批,这个就可以根据合同类型配置两个场景;当然,也可以配置一个场景,在配置节点是,根据接口入口条件判断是否走相关审批人。

(4)审批节点条件配置:一个节点包括环节code、节点code、节点名称、入口条件、所属部门、审批人过滤、组件选择等等;例如同一个审批环节,需要财务部和综合部审批,那就可以设置一个环节,两个节点,还例如大于10 万的财务部经理审批,小于10 万的综合部经理审批,就可以在节点入口条件里配置Model里的Amount,再配置审批人,审批人可以固定为某个人,也可以根据角色过滤,一般来讲,只有设置部门经理这个角色,而不会分综合部经理或财务部经理,所在,在选在角色为经理后,需要配置所属部门为综合部或财务部,这样就可以过滤出对应的人;你可能要问,不用的业务单据是属于不同的公司的,怎么判断是哪个公司的经理呢,那就需要在过滤角色时,通过Model 的Org 字段来确定,你也可以选择指定公司下的角色来处理。审批节点最好再增加一个扩展审批人功能,一个节点的审批人可以有多个,根据管理规定需要由不同的人审批,你当然可以配置做个审批节点,但这种方式灵活性不太好,增肌扩展审批人,可以选择多个审批人,并增加审批人入口条件,程序自动根据入口条件过滤审批人,那么,下次再增加审批人时,只要在扩展审批人中处理即可。

(5)流程开发前、结束后的事件:每个节点会设置一个开始前的调用接口配置和结束后的调用接口配置,流程结束后程序调用指定的接口,接口里做什么,就按需而定了。可扩展性极强。

(6)扩展属性配置:还是以合同流程为例,有些公司会有法律顾问,某些合同需要法律顾问审核,年底时需要核定其工作量,那么,配置一个“法律顾问节点code”的扩展属性,标志某个节点是法律顾问,那么,统计就易如反掌了。扩展属性的妙用还有很多,比如判断为某个特定节点,可以做特殊操作等等。

(7)其他流程属性配置:这些属性得根据每家公司的需求类特殊定义,当然,作为一个完善的流程平台,可以自带。

(8)移动审批:这个已经是流程审批的基本功能了,只是页面样式需要适应手机,其他诸如流程发起、流程审批等的接口调用和PC 端无异。

(9)代理功能:设置了A 代理B,那么,本该A 审批的,程序检查到有代理,会自动替换成B,这个只需要在BPM 系统程序中写个方法就可以实现,对流程引擎来说没任何影响。

(10)场景复制功能:场景需要提供复制功能,审批流会因为管理要求进行修改,有了复制场景功能,在新复制的场景中修改,就不会影响正在审批中的单据,可以保证明确清晰的流程切换时间点。合同审批流配置示例如表1所示。

表1:合同审批流配置示例

4 后期展望及规划

随着企业业务的不断扩展,业务审批需求也需要与时俱进,可以在以下几个方面对流程管理平台进行优化:

4.1 合规审查条款嵌入

大企业都会有合规审查部门,他们对业务审批环节的合规审查条款有要求,这些条款如何潜入流程中呢,可以考虑在流程节点中增加合规条款配置功能,前端增加合规组件,此节点配置了合规条款就显示此组件,没有就隐藏即可。

4.2 发起子流程

某些场景,在某个流程审批到某个节点时,需要发起另外一个流程,这个在k2 等引擎的原生产品中是支持的,但需要画流程图,并进行一系列配置,不太好操作。可以考虑在流程节点审批结束后调用某个接口,该接口发起新流程,当然,原流程需要有个暂停和激活功能,这个功能的实现也不难。

4.3 监控

任何系统都会有出错的时候,更何况是兼容各种系统的流程管理平台,所以,错误监控也很重要,可以帮助运维人员及时发现和处理问题,降低出错成本。最主要的监控内容应该是单据状态和流程状态不一致,这个概率相对来讲较大。

5 结束语

流程管理平台发展到今天,已经是百花齐放,任何一套成熟的业务系统都会自带或大或小的流程审批功能,但对于集团性的企业来讲,更应该有一套统一的、符合企业管理要求的流程平台,但需要因地制宜,具体需求具体分析。笔者只是结合自身经验,从具体技术和实现方式给出了一些拙见,还有很大的不足之处,换句话说,还有很大的提升空间。任何一个系统都不是一蹴而就的,都是通过几轮的优化升级,经过一段时间的磨合才能稳定运行。总而言之,任何系统都是基于公司需求产生的,帮助企业解决痛点,才是各系统软件生存之本。

猜你喜欢
业务流程组件流程
无人机智能巡检在光伏电站组件诊断中的应用
吃水果有套“清洗流程”
RPA机器人助业务流程智能化
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
STK业务流程优化的探究
企业财务管理、业务流程管理中整合ERP之探索
基于财务业务流程再造的ERP信息系统构建探析
本刊审稿流程
析OGSA-DAI工作流程