1 引论
相比于工作流管理系统,业务过程管理系统BPMS(BusinessProcess Management System)对业务的集成、优化、监控与绩效给予了更多的关注。随着业务流程敏捷、动态和多变特性日趋明显,对BPMS柔性策略、方法研究的重要性日益突出,而BPMS对流程监控力度的高低在很大程度上影响其柔性。
纵观目前软件市场上的BPM产品套件,代表性产品主要有CommerceQuest的业务流程管理套件TRAXION、FileNet的企业内容管理ECM解决方案Business ProcessManager、IBM的WebSphere Business Integration、HandySoft的BPM应用框架Global Corp.’S BizFlow等。这些产品中,除IBM的WebSphere Business Integration外,其余BPM套件中的监控器都只提供针对过程监控的实例运行相关数据,而明显忽略了流程的业务性能信息数据,这既不能满足面向企业决策的管理需求,也不能为流程监控管理提供更深入、全面的监控信息与报告。如FileNet的Business Process Manager,它借助基于在线分析处理(On Line AnalyticalProcessing,oLAP)的内容仓库、引擎内嵌的日志子系统分别提供详细的实时流程信息和业务活动事件日志,但其管理信息则仅仅是借助Microsoft Excel或其它工具生成的周期时间(CycleTime)、生产力(Productivity)等数据统计报告。而BizFlow则只是通过可视化的过程监视和管理功能,为授权用户提供图形化的活动详细信息,以及各种统计报告与实时分析报表等。IBM通过WebSphere Business Monitor为业务管理者提供了监控和业务数据分析功能,使用户既能查看过程运行情况,还可重新指定或执行更正操作,从而完成企业绩效管理和优化。其实时数据、消息/事件数据分别存放在于WebSphere Process Server和WebSphere Message/Event Broker中,而其它非流程相关数据则来自于数据库。
为此,本文在分析BPMS监控器的基本功能、实现方式和方法的基础上,借鉴IBM的WebSphere Business Mommr模式,提出利用流程知识来提高BPMS监控能力。
2 BPM的柔性
任何业务过程在运行过程中,都可能会受到来自系统内、外各种因素的影响,从而与原来定义的过程发生偏差,这就是BPMS的变更和异常。而BPM系统处理异常和变更的能力即是BPM的柔性。
2.1 变更与异常
变更一般指在业务流程建模或流程运行中,以流程顺利演进、优化为目的的主动、可自动执行的流程更改,它一般都是可预知的。BPMS对变更的处理能力体现为流程的灵活性和动态性。前者指系统在流程运行时描述流程定义的能力,主要发生在建模和实例化阶段;动态性主要指变更发生时,由于流程更改需求而对原有已经实例化的流程实例的处置情况。
目前BPM的变更处理方法和策略较多,主要有从流程建模角度着手的提前建模+推后建模、将流程规则从模型定义中解耦/半解耦出来的规则后绑定、定义调整(如增加/删除活动、活动重新排序)等,以及在流程运行中实施的实例调整(如向前/向后恢复、继续、迁移等)等等。
异常主要指流程运行中偏离正常设置、可能导致流程障碍的变化,异常仅发生在过程运行期间,对流程总是产生负面影响,并往往是不可预知或不可完全预知的,且需要人工活动进行干预的。
由于可预知性较小,系统在异常处理过程中也相对被动。通常BPM系统只能由异常检测控件在目标测试点的采样结果分析后得出异常判断,进而挂起运行中的实例、分析异常原因及系统的处理条件后,选择相应的处理方式,进行异常处理。BPM系统对于异常的处理策略主要包括忽略、回退、重试、修改实例/模型以及上述策略的组合运用等。
2.2 BPM监控器与BPM系统柔性
业务过程管理系统通过流程建模、仿真运行、模型修改、流程实施以及流程优化等几个反复循环的环节,构成一个不断优化、螺旋上升的BPM生命周期。其中监控对BPM全生命周期各环节均发生直接(图中实线箭头)或间接(图中虚线箭头)的关联,具体如图1所示。流程仿真和实施运行环节的管理都依赖于监控器所采集的有关数据、状态信息,通过分析,了解、掌握流程情况,进而采取相应措施(修改、调整模型等)控制流程,保证流程结果。显然,流程建模、模型修改和优化虽然并未与监控器发生直接关联,但它们都以监控器获取的流程信息为基础。
图1 监控对BPM全生命周期各环节的关系
BPM监控器的监控对象是运行中流程的活动实例及工作项的状态和绩效,通过模型中设定的相关测试点、测试参数以及测试方式规定,即可在流程运行时通过监控器取得流程的实际运行数据,将其与设计数据进行比较,得出流程的实际运行情况,并以此为据,做出相应的流程调整或更改。由于业务流程的跨边界特性和环境复杂性等因素,任何流程在实施过程中都不可避免地会呈现动态多变的特征,这也即BPM柔性所需面对与处理的问题。显然,监控获取的流程信息为BPM动态地适应和处理各种变更与异常,提供了最真实的第一手基本信息,是实现柔性BPM的前提。
3 利用流程知识的BPM监控方法
目前主流的监控器都借助基于Web的应用代理,以图形化界面方式为监控管理人员提供流程相关情况,使其可以直观观察流程实例的运行状态,了解流程运行情况并实施相应的调整、修改措施等。因此说,监控器提供的流程数据与信息是操作人员进行在线分析管理、保障流程运行,以及找到流程进一步优化方案的主要依据。同时,监控器提供的流程运行分析统计,还为企业高层进行企业长期决策规划提供了重要的参考凭据。
因此,本文提出利用流程知识提高BPM监控能力的方法,不仅将运行中的流程实时数据和信息导入监控器,还赋予监控器系统数据库查询调用功能,通过预先设置好的滤波器类型(计数Duration、布尔Boolean、数字Numerical、文本Text和日期Date等几种)及参数,将用户需要的流程有关历史数据和统计信息按相应权限、以窗口图形和表格形式(称之为仪表板)提供给各级用户,帮助其全面、准确地掌握流程运行情况。其具体实现方式如下。
3.1 工作流仪表板
工作流仪表板主要提供流程的实时运行情况,通过相关流程实例数据、信息,使系统管理员、各级在线操作人员可查明流程运行中的问题和瓶颈所在,赋予系统更强的流程可操作能力以及预警能力。工作流仪表板的主要监控对象为流程实例及其活动实例,其主要的测试对象分别如表1、2所示。
表1工作流仪表板流程实例主要监控测试项
表2工作流仪表板活动实例主要监控测试项
3.2 业务仪表板
业务仪表板按照设定的滤波器类型和参数,从流程数据库中提取相关流程历史数据,以统计报表等形式为用户提供一定时段内监控项目的内容数据,使其可由此推知被监控流程的情况。因此,业务仪表板就是从流程绩效的角度,以多层次的流程业务测试监控统计报告,为管理决策人员全面分析流程状况、进行长期规划决策提供依据。它的主要分析方式为:
·基本分析:监控项本身价值分析;
·对比分析:监控对象与指定期间内相关项的对比价值分析;
·趋势分析:监控对象与相关项的加权平均对比价值分析;
·控制分析:监控对象的相关综合平均价值分析。
将工作流仪表板上当前流程的数据与业务仪表板上相关统计数据对比,即可了解监控流程的综合水平,并在流程运行一段时间后,将其实际综合状况从监控器导出,用于后续流程的分析优化。业务仪表板主要收集监控的相关流程项目如下表3所示。
4 利用流程知识提高BPM流程监控能力
异常对业务流程的影响总是负面的,所以BPM系统应尽可能减小异常对流程环节的影响范围、降低异常对流程结果的影响程度。但异常发生往往是不可预知或起码是不可完全预知的,因此,提高系统对于异常的预测能力,以及在非预知异常发生时能够尽早采取有效的解决措施,就成为减少异常对流程运行环节的影响范围、减轻异常对流程结果的负面影响,进而提高BPM系统柔性的一项主要措施。
前述工作流仪表板和业务仪表板分别提供关于流程的实时、历史运行情况,以图表方式使用户得以获取直观的流程状况,并通过在监控窗口设立相关预警功能栏目,提高系统对各种异常的监控响应速度,以及监控准确程度。
4.1 利用流程知识提高监控响应速度
业务监控仪表板上的预警通知栏,用于对用户发出关于流程运行可能出现异常或故障、瓶颈的警告,同时给出预警流程的实例ID、预警发布时间(alarm time)以及预警内容(alarmissue),使管理员注意到这类尚未发生、但很可能出现的异常,直接采取干预措施(如中止活动、改善环境重新运行等)或有所准备,从而避免异常发生或在异常发生较早的阶段采取相应补偿措施,减小异常影响范围,保证流程结果。
上述方式主要取决于预警信号能否及时发送以及预警内容是否准确,即触发预警的条件设置恰当与否。根据活动相关历史记录,可以明确掌握导致异常的主要条件及其对异常触发的关系(AND、OR、NOT等),以及活动的实时状态数据,并由此设置恰当的预警触发条件。如某活动A最近一个月内被执行10次,其平均执行时间为20小时(average eompleteDuration=20(hours)),规定执行时间为48小时(averageworking Duration=20(hours)),操作者分别为甲、乙、丙三人。
设当前A的状态(State)为Running,经过时间(ElapsedDuration)为22小时,虽然该活动并未超期(Is Delayed==F),但由于已超过平均执行时间(average complete Duration)2小时,若设定的预警触发条件之一为“超过平均执行时间2小时”,各触发条件为“与”关系,则监控器将在仪表板上发出该活动的可能异常预警。
收到预警信号后,管理员通过调查,发现此次指派的活动执行者乙出差在外,在系统异常发生前以人员变更的方式,改派甲完成此次活动,即可避免异常出现。
4.2 利用流程知识增加监控准确度
当非预期异常发生时需要通过管理员进行处理,此时管理员对异常情况的了解深度、异常性质判断的准确度、掌握该种异常处理方法的多少,往往成为流程能否排除异常、顺利完成的关键。
前面介绍的业务仪表板提供相关流程的历史资料数据统计,如相应测试项的平均值、最高值、最低值等,使监控人员获得有关流程运行的全面、准确的资料。当非预期异常发生时,即使不能按现成规则进行处理,系统也可按相似度在流程知识库相关条目中搜索到最相似的异常案例,并在业务仪表板上提供给管理员,使其可参照案例处理方式,结合当前流程情况进行调整、修改,采取最有效的干预措施,降低因不当选择而可能引起的流程结果偏差。
继续前面的例子,若管理员改派A后,又经过22小时后(Elapsed Duration=44 hours),从监控仪表板上再次得知该活动可能发生异常的预警(Is Delayed==F),再次调查后发现甲因病住院,遂再次改派人员丙执行此次活动。由于其平均完成时间为20小时,故该活动执行到4小时后,其异常已不可避免(Is Delayed==F),只是由于其执行者丙有过操作经验(相关流程知识),既可以减少完成时间(低于20小时),还可以尽量避免出现执行中的其它失误等等,从而避免了出现异常影响扩大等情况。若管理员没有相关流程历史信息的参考,而指派了一个从未执行过上述活动的员工,其后果则难以预测。
结论同济大学CIMS中心研发的基于流程知识的业务过程管理系统PK-BPMS(Business Process Management System based on Process Knowledge),利用流程知识对业务过程管理的指导与促进作用,把从流程中提取的流程知识用于协助流程管理监控,以工作流仪表板、业务仪表板两个窗口的形式,为各级流程管理、执行人员提供流程的实时运行数据和历史相关资料统计,加快了系统的监控响应速度、扩展了系统的监控范围,并通过预警通知栏,提高系统对异常的预测能力,辅助系统在异常发生时采取更有效的干预补偿措施,保证了流程的顺利运行,提高BPM系统的柔性。其实施系统框架如图2所示。
CIO之家 www.ciozj.com 公众号:imciow