IBM FileNet BPM 流程优化系列产品简介及应用实例

目前,越来越多的客户正在使用 IBM FileNet BPM 系列产品,特别是其中的流程引擎(Process Engine),已经得到了广泛的使用。而其他的三个产品,流程模拟器、流程分析器以及业务活动监控器也同样有着非常重要的作用。本文将主要介绍这三个产 品的概念及功能,并加以举例使大家更为了解客户对流程优化的需求以及 FileNet 提供的这三种产品在实际应用中的作用。

 

IBM FileNet BPM 中的流程优化简介

IBM FileNet Business Process Management(BPM)作为业内领先的业务流程管理解决方案,流程优化是其必不可少的功能,而流程的监控与分析则是实现流程优化的重要途径。因 此,FileNet BPM 从流程的分析、模拟与监控三个方面出发,提供了相应的工具来帮助用户更好地管理及优化流程,分析业务状态,从而实现业务的高效运行与持续提高。在接下来的 章节中,我们就将围绕这三种 FileNet BPM 提供的流程优化相关工具进行一系列介绍与应用举例。

FileNet BPM 中用于流程优化的三种工具

前面提到,流程的监控与分析是实现流程优化的重要途径,那接下来,我们就来看一下流程优化的周期过程,以及在这个过程中,FileNet BPM 所提供的一系列用于流程监控与分析的工具分别处于什么阶段、发挥什么作用。


图 1. 流程优化循环周期
图 1. 流程优化循环周期

如图 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 的存在为前提。


图 2. PA 与 BAM, PS 之间的关系
图 2. PA 与 BAM, PS 之间的关系

首先,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 两个主要组成部分,同时在安装配置方面,这两部分也是相应独立的。

  • PA Engine:主要是用于流程相关数据的收集、处理以及分析。它的核心就是 Microsoft SQL Server 数据库以及 Analysis Service。一方面,数据库是用于存储 PA 的原始统计数据以便于提供给 OLAP Cubes 进行分析。另一方面,SQL Server 的 Analysis Service 提供了联机分析处理(OLAP)技术来实现快速的多维数据分析。PA 提供了六个 OLAP Cube,来满足用户在常用的六个领域的需求,其中的 Queue load,Work in progress,Work item processing time 以及 Routing 这四个 Cube 是用于与工作项相关的信息,而 Work load 和 Workflow in progress 这两个 Cube 则是用于与工作流相关的信息。
  • PA Client:用于连接 PA Engine 上的 OLAP 数据库,并通过 Excel 报表工具本身的功能来将 PA 分析的流程数据以丰富直观的形式展现出来。依靠 Excel 本身的功能,我们可以得到如图 3 所示的多种形式的图表,除此之外,用户还可以使用 IBM Cognos Analysis Studio 或是 Cognos Reports 来获得更加强大的报表功能。总的来说,用户可以在 PA Client 上得到以下四类报表:工作流(Workflow)相关报表,队列(Queue)相关报表,步骤(Step)相关报表,以及用户(User)相关报表。


图 3. PA 的常见报表形式
图 3. PA 的常见报表形式

综上所述,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 改变了架构和原理,从而获得了更高的可用性和效率。以下所列出的是最主要的两点改进:

  • 首先,PA 不再依靠 PE 服务器上的进程,而是采用了“拉”的方式通过 JDBC 主动从 PE 数据库中获取事件信息,这就使得 PA 与 PE 数据库能够直接联系起来,从而很好地支持了多个 PE 服务器这样的集群环境。
  • 另外,依靠多线程的工作方式和改进的工作流程也使得新版本的 PA 能够更加高效与灵活地工作。

下图所显示的即是 4.0 以后 PA 的基本架构。


图 4. PA 的基本架构
图 4. 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。

  • Production PA: 用于分析生产环境中的流程数据,也就是从投入实际使用的 PE 数据库中获得流程信息。
  • Simulation PA: 用于处理流程模拟数据,它的输入是 FileNet 流程模拟器 PS 的模拟输出。

因此,基于前面介绍过的三种流程优化产品间的关系,从上面两种类型 PA 的作用可以知道,Simulation PA 对于 PS 而言是必不可少的,而 Production PA 则是可选的,只有当 PS 要用到历史产品数据作为模拟输入时才需要进行配置。

 




 

FileNet BPM 流程模拟器(PS)

PS 的主要用途及相关配置

流程模拟器 PS 主要是用于在流程真正投入使用前,根据实际业务活动对流程进行各种场景的模拟从而验证及改进流程。一般来说,用户会在以下两种情况中使用 PS 来帮助他们:

  • 对新建流程进行验证:这种情况中,用户将根据对流程的估计以及经验值来提供流程模拟所需要的相关信息。
  • 对已有流程的改进优化进行验证:这种情况中,PA 数据库中存储的流程历史信息将作为流程模拟的输入。

前面已经提到,流程模拟器 PS 是以 PA 的存在为前提的,特别是 Simulation PA,它对于 PS 的使用来说是必不可少的。所以,在 PS 安装完成以后,需要在 PS 的任务管理器上进行 PA 相关信息的配置,如图 5 所示,其中 Simulation 一栏是必须进行配置的,而 Production 一栏则是当 PS 要用到 PA 的历史数据作为模拟输入时才需要进行配置。


图 5. PS 任务管理器上的 PA 相关配置
图 5. PS 任务管理器上的 PA 相关配置

接下来,我们将对 PS 的相关工具及基本工作流程进行简单介绍。

PS 的相关工具

在介绍 PS 的工作流程之前,我们首先需要对其在 Workplace 上的三个主要工具进行了解。

  • 模拟设计器(Simulation Designer):它是用于指定需要模拟的工作流并定义相应的模拟场景,如图 6 所示。在应用举例中,我们会利用该工具对场景属性、工作流开始时间与频率,以及每一步骤中运行的持续时间及路由权重等进行相应的设置。

    图 6. 流程模拟设计器
    图 6. 流程模拟设计器

  • 模拟控制台(Simulation Console):它是用于管理工作流场景(Scenarios)及模拟(Simulations)的。利用该工具,我们可以映射到 CE Object Store 中的文件夹,从而对这些文件夹中存储的场景或模拟对象进行相关操作。

    图 7. 流程模拟控制台
    图 7. 流程模拟控制台

  • 模拟动画器(Simulation Animator):它是用于查看由定义场景所产生的流程模拟动画以及模拟结果统计数据。工具下方的模拟结果包含了模拟统计数据、工作流统计数据、步骤统 计数据、队列统计数据以及用户统计数据五个部分,如图 23 所示。

PS 的基本工作流程

图 8 所示为流程模拟器的基本工作流程。从图中可以看到,FileNet PS 对流程的模拟大致可以分为以下十步:

  1. 流程分析人员使用 Workplace 上的模拟设计器来创建一个模拟场景并请求运行该场景。
  2. 在场景运行之前,它会被存储到 Content Engine 的 Object Store 中。
  3. 然后,一个模拟对象会生成并存储在 Object Store 里。当模拟引擎完成模拟后会将模拟结果更新到这个模拟对象中。
  4. 接着,场景就会作为一个模拟被提交到 PS,因此,我们可以将一个模拟理解成为场景的一个运行时版本。
  5. PS 可以根据实际需要从 Production PA 中获取与所模拟的工作流相关的历史统计信息作为输入。
  6. 之后,PS 就会开始运行该流程模拟。
  7. PS 会将模拟的分析结果发布到 Simulation PA 中。
  8. 模拟结束后,相应的结果就会被保存到 Object Store 中的模拟对象里。
  9. 分析人员通过 Workplace 上的模拟控制台可以选择一个模拟对象并请求查看模拟工作流的动画回放。
  10. 模拟结果将会从 Object Store 中的模拟对象中取回并以此为基础进行动画回放。


图 8. PS 基本工作流程
图 8. 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)两个入口。

  • BAM 工作台:

    它是建立和部署商业智能模型的平台,用于进行系统设置、用户权限与角色设置、定义上下文数据源、建立用于连接 PA 数据库的 JDBC Agent、建立业务视图、创建业务场景并定义报警、报告以及监控规则等等。它的 Web 入口为:

    http://<bamhost>:<port>/filenetbam/workbench

  • BAM 仪表板:

    它是本系统的监控平台,用于对定义的各项指标及报警等进行实时监控,并在可定制的界面上提供多样化的显示。它的 Web 入口为:

    http://<BamHost>:<port>/filenetbam/dashboard.htm

BAM 的主要功能

从图 9 中可以看出,BAM 是以 Jar 包的形式提供给客户的,其本身也就是这些包的集合。因此,我们将通过以下三个 Jar 包的功能来介绍 BAM 的主要功能。

  • OOTBConfiguration.jar

    提供了 BAM 用于与 PA 数据库连接获取数据的基本对象(如用于访问 PA 数据库的 JDBC Agent),以及用于监控活动中的工作流及工作项的基本对象(如相关的 dashboard 对象和 workbench 对象)。其中,仪表板(dashboard)对象主要分为工作流和工作项相关的,而工作台(workbench)对象主要分为五种:Events(事 件)、Contexts(上下文)、Views(视图)、Dimensions(维)以及 Cubes。

  • BucketExample.jar

    主要是完成基于工作流及工作项的分段、分类、以及分区域的数据统计,以便为各个类别(bucket)进行进一步的分析,其中预定义的对象 是对工作流及工作项数目提供基于处理时间划分的监控。

  • ThresholdExample.jar

    这个 Jar 包包含了用于定义阈值(Threshold - KPI)、指定规则(Rule)以及在超过阈值时触发报警(Alert)的相关对象。其中预定义的对象主要是对工作流和工作项提供对于超过处理时间、空闲 时间等阈值的相关监控。


图 9. BAM 功能
图 9. BAM 功能




 

FileNet BPM 流程优化产品应用实例

下面,我们将以一个简单的订单流程为例来进一步介绍 PA,PS 以及 BAM 在实际使用中的功能及特点。如图 10 所示,在这个订单流程中,首先,销售人员会根据与客户协商的需求去提交一个订单请求,包含了客户姓名、地址、联系方式、产品规格、数量及销售人员姓名等信 息;然后审计人员会审查各项信息并确定订单金额;接下来,管理员将最终生成订单号从而使订单正式生效,完成整个订单流程。


图 10. 应用场景流程示意图
图 10. 应用场景流程示意图

首先,为了 PA 能够从 PE 数据库的事件日志表中获得工作流相关信息,我们需要在事件日志中暴露流程所需的字段。如图 11,TestEventLog 中暴露了产品类型(productType),地区(district),销售员姓名(salesName),销售数量(quantity)及销售金额 (money)五个字段,他们将被用作 PA 分析的维度及度量值。


图 11. 通过 PCC 在事件日志中暴露字段
图 11. 通过 PCC 在事件日志中暴露字段

图 12. 订单流程的工作流定义
图 12. 订单流程的工作流定义

在设计好如图 12 所示的工作流之后,我们就需要到 PA 的服务器端,通过 PA Task Manager 来选择事件日志中暴露的字段作为某个 Cube(如 Work Load)中的维度或度量值,如图 13。


图 13. 在 PA Task Manager 上新建字段
图 13. 在 PA Task Manager 上新建字段

最后,在 PA 客户端利用 Excel 自带的功能对用户所需要的报表格式进行配置后,我们就可以启动 PA 服务并发起 10 个订单流程来产生用于流程分析的数据。通过 PA 客户端上的配置工具,就能够得到以下的流程分析报表。


图 14. 各类型产品销售状况图
图 14. 各类型产品销售状况图

图 15. 各类型产品销售状况表
图 15. 各类型产品销售状况表

从上面的分析报表中,我们可以知道三种不同类型产品在各个地区八月份的销售情况,依此判断出各类产品的市场需求、盈利状态以及各地区的消费能 力和消费趋势等,从而对今后的生产以及销售做出正确合理的安排与决策。

同样地,如图 16 所示,我们还可以得到四个销售人员在八月份各自的订单数量以及销售金额,并且也能够了解到公司在这一个月的总体销售业绩。通过类似这样的图表,管理人员就 能够有依据地对业务人员进行跟踪和考核。


图 16. 销售人员业绩报表
图 16. 销售人员业绩报表

而对于 BAM,我们可以把它看作是 PA 的补充,它的出现完善了业务流程管理及优化的思想,可以更好地对工作流进行近乎实时的监控并提供诸如报警之类的功能,让信息的监控无时不在。从配置的角 度,BAM 其实主要是通过在 IBM Cognos Now 上的配置来从 PA 的数据库中获得工作流信息,从而进行分析。

利用 OOTBConfiguration.jar 的功能,登陆 BAM 工作台,通过对 JDBC Agent 的创建,Event 对象的编辑,Context、View 和 Dimension 的创建,以及 Cube 和 Measure 的配置,就可以根据实际需求实现对工作流的监控与分析。同时,在 BAM 提供的 Dashboard 上,创建一个新的对象,就可以得到如图 17 和 18 所示的运行结果。通过类似这样的监控图表,分析和管理人员就可以根据实时监控结果中的数据趋势和平均处理量来及时调整销售策略及各区域人员的配备。


图 17. 运行结果的图显示
图 17. 运行结果的图显示

图 18. 运行结果的数据显示
图 18. 运行结果的数据显示

除了 OOTBConfiguration.jar 的功能外,对于 ThresholdExample.jar 所涉及的规则、报警及报告机制,同样可以根据实际需求来灵活定制。如图 19 所示,用户可以根据平均处理量及总量的峰值创建相应的业务规则、报警与报告,这些阈值可以让分析与监控工作变得更加严谨与及时,并且这些信息还可以以邮件 方式发送给指定的接收者。


图 19. 规则、报警和报告的创建
图 19. 规则、报警和报告的创建

此外,BAM 提供了很多种报表形式,以丰富直观的图形界面带给用户视觉冲击的体验,让数据变得生动和智能,见图 20。


图 20. 多样化的数据显示
图 20. 多样化的数据显示

接下来,我们来看看 PS 的应用。对于 PS 的相关配置,前面提到过与之相关的几种工具,首先,我们就需要通过流程模拟设计器导入想要模拟的工作流(图 6),并对其进行一系列模拟参数设置。如图 21,在场景属性中,主要需要对模拟的开始与结束时间以及 Shifts、Jobs 和 Resources 进行设置。


图 21. 场景属性设置
图 21. 场景属性设置

完成场景属性设置后,还需要对工作流开始与结束时间、到达频率,以及每一步骤的持续时间等做相关配置,如图 22。本例中,我们设置的模拟参数为每天开始时启动 5 个工作流,持续 62 天,其中 Account 工作队列的处理时间为 1 小时,而 Admin 的处理时间为 15 分钟。


图 22. 设置模拟参数
图 22. 设置模拟参数

场景通过逻辑验证并运行成功之后,我们可以打开模拟控制台来对产生的模拟对象进行操作。如图 7 所示,选择“View Animation”,就可以进入动画回放的界面,如图 23。设置适当的回放率并启动回放以后,我们就可以在动画显示下方的结果框中浏览图中所示的流程模拟统计结果。以工作流的步骤统计结果为例,它显示了每一 步骤完成的工作项总数,各步骤上的最小、最大以及平均处理时间、完成时间和等待时间等。通过这些模拟结果,流程设计和分析人员就可以预期到工作流在实际场 景中的运行效率与性能,从而做出相应的改进与优化。


图 23. 流程模拟动画回放与结果统计
图 23. 流程模拟动画回放与结果统计

综上,我们不难发现,在这个应用实例中,用户可以使用 PA 来收集历史流程数据并分析出不同地区不同产品的销售情况以及各个销售人员的业绩状况,从而很好地制定销售策略和计划。而在流程真正投入使用前,为了能够保 证流程运行的正确与高效,还可以利用 PS 来根据以前的经验值对所设计的流程在实际场景中的处理效果进行分析,同时,在流程的不断优化过程中,PS 也能够提供分析验证的相关功能。对于 BAM,它可以作为 PA 的一个很好的补充来帮助用户对流程进行实时监控,从而能够快速地发现瓶颈并做出决策。

 




 

结束语

通过以上的介绍可以看到,利用 IBM FileNet BPM 所提供的流程分析器 PA,流程模拟器 PS 以及业务活动监控器 BAM,用户能够更好地在实际应用中对业务流程进行管理与优化,同时借助这一系列的工具来对业务运行状态及性能指标等进行分析、监控,从而更加准确与高效 地做出相应决策。希望文中的产品介绍和应用举例可以让大家更加全面地认识 FileNet BPM 产品家族以及其在业务流程管理领域能够给用户带来的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值