目前,越来越多的客户正在使用 IBM FileNet BPM 系列产品,特别是其中的流程引擎(Process Engine),已经得到了广泛的使用。而其他的三个产品,流程模拟器、流程分析器以及业务活动监控器也同样有着非常重要的作用。本文将主要介绍这三个产 品的概念及功能,并加以举例使大家更为了解客户对流程优化的需求以及 FileNet 提供的这三种产品在实际应用中的作用。
IBM FileNet BPM 中的流程优化简介
IBM FileNet Business Process Management(BPM)作为业内领先的业务流程管理解决方案,流程优化是其必不可少的功能,而流程的监控与分析则是实现流程优化的重要途径。因 此,FileNet BPM 从流程的分析、模拟与监控三个方面出发,提供了相应的工具来帮助用户更好地管理及优化流程,分析业务状态,从而实现业务的高效运行与持续提高。在接下来的 章节中,我们就将围绕这三种 FileNet BPM 提供的流程优化相关工具进行一系列介绍与应用举例。
FileNet BPM 中用于流程优化的三种工具
前面提到,流程的监控与分析是实现流程优化的重要途径,那接下来,我们就来看一下流程优化的周期过程,以及在这个过程中,FileNet BPM 所提供的一系列用于流程监控与分析的工具分别处于什么阶段、发挥什么作用。
如图 1 所示,这是一个流程优化的循环周期过程。从图中我们可以看到,流程优化是贯穿于从流程设计建模到最终投入使用的整个解决方案实现过程之中的。从分析现有流 程,确定优化改进方案开始,FileNet BPM 就提供了流程分析器 Process Analyzer(PA)来帮助分析人员了解流程运行状态和业务瓶颈,从而做出相关改进。经过改进的流程在建模之后,可以利用 FileNet 流程模拟器 Process Simulator(PS)进行仿真,在流程真正投入使用前的流程开发阶段实现对流程正确性及改进效果的验证。而在流程投入使用之后,除了 PA 之外,管理人员或流程分析人员还可以使用业务活动监控器 Business Activity Monitor(BAM)来对业务流程的 主要性能指标(KPI)进行实时监控。通过以上提到的三种流程监控与分析的工具,FileNet BPM 就可以很好地帮助用户实现流程的不断优化和业务的持续提高。
FileNet BPM 三种工具间的关系
从图 2 的描述可知,PA 可以说是 FileNet BPM 流程优化系列产品的核心,因为无论是 PS 还是 BAM,都必须以 PA 的存在为前提。
首先,BAM 使用的流程数据是从 PA 数据库的事实表(Fact Tables)中获取的,也就是说,PA 是 PE 与 BAM 之间的数据桥梁。另一方面,PS 需要将流程模拟的输出发布到 PA 上,同时,PA 还可以提供流程的历史信息给 PS 作为流程模拟的输入。综上所述,FileNet BPM 所提供的流程优化主要是围绕 PA 来展开的,因此,在下面的章节里,我们将首先介绍 PA,然后会按照流程优化循环周期的顺序,对 FileNet BPM 提供的这三种工具进行逐一介绍,并给出简单的应用实例。
|
|
FileNet BPM 流程分析器(PA)
PA 的主要组成部分
如前所述,PA 是用于帮助流程分析人员或管理人员来对业务流程进行基于历史数据的相关分析,从而更好地了解流程运行状态并作出相应改进或决策。它主要是通过从 PE 数据库的 Event Log 表中收集工作流事件信息来支持对业务流程动态、快速的分析,并最终生成统计数据和图表。因此,PA 从功能上可以分为 PA Engine 和 PA Client 两个主要组成部分,同时在安装配置方面,这两部分也是相应独立的。
综上所述,FileNet PA 通过 PA Engine 和 Client 这两部分很好地结合了 OLAP 技术和 Excel 报表工具,从而为用户提供了强大的工作流分析功能。
PA 的工作原理与基本架构
PA 在工作原理方面经历了两个版本间的进化。对于最初的 PA,它是直接地与 Process Engine(PE)服务器相连,通过 PE 上一个专门的进程将事件日志信息以 XML 的格式“推”到 PA 上,这就造成有相当大一部分的 CPU 资源无谓地消耗在了对 XML 的解析上。同时,在 PA 服务器上对 PA 数据库的处理方式以及 PA 单线程工作的模式,也使得以前的 PA 在效率上相对低下。而更加局限的地方在于以这种原理工作的 PA 是不可能支持集群的 PE 服务器(PE Farm)的,因此,基于上述的一系列问题,P8 4.0 以后的 PA 改变了架构和原理,从而获得了更高的可用性和效率。以下所列出的是最主要的两点改进:
下图所显示的即是 4.0 以后 PA 的基本架构。
从图 4 中可以看到,PA 拥有一个事件调度管理器(Event Dispatch Manager),通过它来管理事件调度线程(Dispatcher Threads)。对于 PE 数据库中的每一个事件日志表(Event Log),管理器都会创建一个相应的事件调度线程,用它们来查询及获取事件日志中的事件。获取事件后,这些事件会被放入相应的事件队列(Event Queue)中,同时,发布管理器(Publisher Manager)会根据用户配置创建一定数量的发布线程(Publisher Threads)来从事件队列中取事件进行处理。另一方面,缓存管理器(Cache Manager)会从 PE 中获取必要的配置数据,如工作流定义信息,队列配置及用户信息等,来支持对事件的处理。上述操作完成后的原始统计数据会被存储在 PA 的数据库中,并提供给 OLAP Cubes 进行分析处理。最终,分析的结果会在 PA 客户端上以 Excel 图表的形式显示出来。
PA 的两种类型
从 PA 的用途上,我们可以把 PA 分为两种类型:Production PA 和 Simulation PA。
因此,基于前面介绍过的三种流程优化产品间的关系,从上面两种类型 PA 的作用可以知道,Simulation PA 对于 PS 而言是必不可少的,而 Production PA 则是可选的,只有当 PS 要用到历史产品数据作为模拟输入时才需要进行配置。
|
|
FileNet BPM 流程模拟器(PS)
PS 的主要用途及相关配置
流程模拟器 PS 主要是用于在流程真正投入使用前,根据实际业务活动对流程进行各种场景的模拟从而验证及改进流程。一般来说,用户会在以下两种情况中使用 PS 来帮助他们:
前面已经提到,流程模拟器 PS 是以 PA 的存在为前提的,特别是 Simulation PA,它对于 PS 的使用来说是必不可少的。所以,在 PS 安装完成以后,需要在 PS 的任务管理器上进行 PA 相关信息的配置,如图 5 所示,其中 Simulation 一栏是必须进行配置的,而 Production 一栏则是当 PS 要用到 PA 的历史数据作为模拟输入时才需要进行配置。
接下来,我们将对 PS 的相关工具及基本工作流程进行简单介绍。
PS 的相关工具
在介绍 PS 的工作流程之前,我们首先需要对其在 Workplace 上的三个主要工具进行了解。
PS 的基本工作流程
图 8 所示为流程模拟器的基本工作流程。从图中可以看到,FileNet PS 对流程的模拟大致可以分为以下十步:
|
|
FileNet BPM 业务活动监控器(BAM)
BAM 背景介绍
FileNet BAM 的前身是 Celequest 设计的一款数据显示分析工具。2006 年,Cognos 公司收购了 Celequest 这家小型的商务智能供应商,创建了新的产品线 Cognos Now! ,这款产品的主要特点是提供运行显示板来持续监控时间敏感型的主要性能指标和运行指标,以便业务部门的用户能够快速响应瞬息万变的商业环境。 而在 2007 年底,IBM 继收购 FileNet 以后又成功地收购了 Cognos,因此,我们可以认为 BAM 就是基于 IBM Cognos 的产品。综上所述,BAM 与业务流程及商业智能的关系可以用下面这个公式来表示:
业务流程 + 商业智能(BI )= 业务活动的实时监控(BAM ) |
针对 FileNet BPM 的产品为什么要包括 BAM,那是因为 BPM 里的 PA 所分析的主要是历史数据,如果要提高业务预测的准确性和时效性,我们就需要利用 BI 在数据分析上的优势,通过从 PA 上拿到的数据在 BAM 上建立商业智能模型来实现对业务流程的实时监控,从而最大限度地减少收集相关商务信息(财政,库存,采购)所需的时间,以降低运营成本。接下来,我们就将 从 BAM 的组成及功能等方面逐一展开介绍。
BAM 的主要组件
BAM 是基于 Application server 发布的 Web 界面,主要分为工作台(Workbench)和仪表板(Dashboard)两个入口。
它是建立和部署商业智能模型的平台,用于进行系统设置、用户权限与角色设置、定义上下文数据源、建立用于连接 PA 数据库的 JDBC Agent、建立业务视图、创建业务场景并定义报警、报告以及监控规则等等。它的 Web 入口为:
http://
它是本系统的监控平台,用于对定义的各项指标及报警等进行实时监控,并在可定制的界面上提供多样化的显示。它的 Web 入口为:
http://
BAM 的主要功能
从图 9 中可以看出,BAM 是以 Jar 包的形式提供给客户的,其本身也就是这些包的集合。因此,我们将通过以下三个 Jar 包的功能来介绍 BAM 的主要功能。
提供了 BAM 用于与 PA 数据库连接获取数据的基本对象(如用于访问 PA 数据库的 JDBC Agent),以及用于监控活动中的工作流及工作项的基本对象(如相关的 dashboard 对象和 workbench 对象)。其中,仪表板(dashboard)对象主要分为工作流和工作项相关的,而工作台(workbench)对象主要分为五种:Events(事 件)、Contexts(上下文)、Views(视图)、Dimensions(维)以及 Cubes。
主要是完成基于工作流及工作项的分段、分类、以及分区域的数据统计,以便为各个类别(bucket)进行进一步的分析,其中预定义的对象 是对工作流及工作项数目提供基于处理时间划分的监控。
这个 Jar 包包含了用于定义阈值(Threshold - KPI)、指定规则(Rule)以及在超过阈值时触发报警(Alert)的相关对象。其中预定义的对象主要是对工作流和工作项提供对于超过处理时间、空闲 时间等阈值的相关监控。
|
|
FileNet BPM 流程优化产品应用实例
下面,我们将以一个简单的订单流程为例来进一步介绍 PA,PS 以及 BAM 在实际使用中的功能及特点。如图 10 所示,在这个订单流程中,首先,销售人员会根据与客户协商的需求去提交一个订单请求,包含了客户姓名、地址、联系方式、产品规格、数量及销售人员姓名等信 息;然后审计人员会审查各项信息并确定订单金额;接下来,管理员将最终生成订单号从而使订单正式生效,完成整个订单流程。
首先,为了 PA 能够从 PE 数据库的事件日志表中获得工作流相关信息,我们需要在事件日志中暴露流程所需的字段。如图 11,TestEventLog 中暴露了产品类型(productType),地区(district),销售员姓名(salesName),销售数量(quantity)及销售金额 (money)五个字段,他们将被用作 PA 分析的维度及度量值。
图 11. 通过 PCC 在事件日志中暴露字段
图 12. 订单流程的工作流定义
在设计好如图 12 所示的工作流之后,我们就需要到 PA 的服务器端,通过 PA Task Manager 来选择事件日志中暴露的字段作为某个 Cube(如 Work Load)中的维度或度量值,如图 13。
最后,在 PA 客户端利用 Excel 自带的功能对用户所需要的报表格式进行配置后,我们就可以启动 PA 服务并发起 10 个订单流程来产生用于流程分析的数据。通过 PA 客户端上的配置工具,就能够得到以下的流程分析报表。
图 14. 各类型产品销售状况图
图 15. 各类型产品销售状况表
从上面的分析报表中,我们可以知道三种不同类型产品在各个地区八月份的销售情况,依此判断出各类产品的市场需求、盈利状态以及各地区的消费能 力和消费趋势等,从而对今后的生产以及销售做出正确合理的安排与决策。
同样地,如图 16 所示,我们还可以得到四个销售人员在八月份各自的订单数量以及销售金额,并且也能够了解到公司在这一个月的总体销售业绩。通过类似这样的图表,管理人员就 能够有依据地对业务人员进行跟踪和考核。
而对于 BAM,我们可以把它看作是 PA 的补充,它的出现完善了业务流程管理及优化的思想,可以更好地对工作流进行近乎实时的监控并提供诸如报警之类的功能,让信息的监控无时不在。从配置的角 度,BAM 其实主要是通过在 IBM Cognos Now 上的配置来从 PA 的数据库中获得工作流信息,从而进行分析。
利用 OOTBConfiguration.jar 的功能,登陆 BAM 工作台,通过对 JDBC Agent 的创建,Event 对象的编辑,Context、View 和 Dimension 的创建,以及 Cube 和 Measure 的配置,就可以根据实际需求实现对工作流的监控与分析。同时,在 BAM 提供的 Dashboard 上,创建一个新的对象,就可以得到如图 17 和 18 所示的运行结果。通过类似这样的监控图表,分析和管理人员就可以根据实时监控结果中的数据趋势和平均处理量来及时调整销售策略及各区域人员的配备。
图 17. 运行结果的图显示
图 18. 运行结果的数据显示
除了 OOTBConfiguration.jar 的功能外,对于 ThresholdExample.jar 所涉及的规则、报警及报告机制,同样可以根据实际需求来灵活定制。如图 19 所示,用户可以根据平均处理量及总量的峰值创建相应的业务规则、报警与报告,这些阈值可以让分析与监控工作变得更加严谨与及时,并且这些信息还可以以邮件 方式发送给指定的接收者。
此外,BAM 提供了很多种报表形式,以丰富直观的图形界面带给用户视觉冲击的体验,让数据变得生动和智能,见图 20。
接下来,我们来看看 PS 的应用。对于 PS 的相关配置,前面提到过与之相关的几种工具,首先,我们就需要通过流程模拟设计器导入想要模拟的工作流(图 6),并对其进行一系列模拟参数设置。如图 21,在场景属性中,主要需要对模拟的开始与结束时间以及 Shifts、Jobs 和 Resources 进行设置。
完成场景属性设置后,还需要对工作流开始与结束时间、到达频率,以及每一步骤的持续时间等做相关配置,如图 22。本例中,我们设置的模拟参数为每天开始时启动 5 个工作流,持续 62 天,其中 Account 工作队列的处理时间为 1 小时,而 Admin 的处理时间为 15 分钟。
场景通过逻辑验证并运行成功之后,我们可以打开模拟控制台来对产生的模拟对象进行操作。如图 7 所示,选择“View Animation”,就可以进入动画回放的界面,如图 23。设置适当的回放率并启动回放以后,我们就可以在动画显示下方的结果框中浏览图中所示的流程模拟统计结果。以工作流的步骤统计结果为例,它显示了每一 步骤完成的工作项总数,各步骤上的最小、最大以及平均处理时间、完成时间和等待时间等。通过这些模拟结果,流程设计和分析人员就可以预期到工作流在实际场 景中的运行效率与性能,从而做出相应的改进与优化。
综上,我们不难发现,在这个应用实例中,用户可以使用 PA 来收集历史流程数据并分析出不同地区不同产品的销售情况以及各个销售人员的业绩状况,从而很好地制定销售策略和计划。而在流程真正投入使用前,为了能够保 证流程运行的正确与高效,还可以利用 PS 来根据以前的经验值对所设计的流程在实际场景中的处理效果进行分析,同时,在流程的不断优化过程中,PS 也能够提供分析验证的相关功能。对于 BAM,它可以作为 PA 的一个很好的补充来帮助用户对流程进行实时监控,从而能够快速地发现瓶颈并做出决策。
|
|
结束语
通过以上的介绍可以看到,利用 IBM FileNet BPM 所提供的流程分析器 PA,流程模拟器 PS 以及业务活动监控器 BAM,用户能够更好地在实际应用中对业务流程进行管理与优化,同时借助这一系列的工具来对业务运行状态及性能指标等进行分析、监控,从而更加准确与高效 地做出相应决策。希望文中的产品介绍和应用举例可以让大家更加全面地认识 FileNet BPM 产品家族以及其在业务流程管理领域能够给用户带来的帮助。