设为首页 收藏本站
查看: 1578|回复: 0

[经验分享] IBM FileNet BPM 流程优化系列产品简介及应用实例

[复制链接]

尚未签到

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

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

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

图 1. 流程优化循环周期

DSC0000.jpg
  如图 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 之间的关系

DSC0001.jpg
  首先,BAM 使用的流程数据是从 PA 数据库的事实表(Fact Tables)中获取的,也就是说,PA 是 PE 与 BAM
之间的数据桥梁。另一方面,PS 需要将流程模拟的输出发布到 PA 上,同时,PA 还可以提供流程的历史信息给 PS
作为流程模拟的输入。综上所述,FileNet BPM 所提供的流程优化主要是围绕 PA 来展开的,因此,在下面的章节里,我们将首先介绍
PA,然后会按照流程优化循环周期的顺序,对 FileNet BPM 提供的这三种工具进行逐一介绍,并给出简单的应用实例。


DSC0002.jpg
DSC0003.jpg





  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 的常见报表形式

DSC0004.jpg
  综上所述,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 的基本架构

DSC0005.jpg
  从图 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 相关配置

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

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



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


    图 6. 流程模拟设计器

    DSC0007.jpg

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


    图 7. 流程模拟控制台

    DSC0008.jpg

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

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



  • 流程分析人员使用 Workplace 上的模拟设计器来创建一个模拟场景并请求运行该场景。

  • 在场景运行之前,它会被存储到 Content Engine 的 Object Store 中。

  • 然后,一个模拟对象会生成并存储在 Object Store 里。当模拟引擎完成模拟后会将模拟结果更新到这个模拟对象中。

  • 接着,场景就会作为一个模拟被提交到 PS,因此,我们可以将一个模拟理解成为场景的一个运行时版本。

  • PS 可以根据实际需要从 Production PA 中获取与所模拟的工作流相关的历史统计信息作为输入。

  • 之后,PS 就会开始运行该流程模拟。

  • PS 会将模拟的分析结果发布到 Simulation PA 中。

  • 模拟结束后,相应的结果就会被保存到 Object Store 中的模拟对象里。

  • 分析人员通过 Workplace 上的模拟控制台可以选择一个模拟对象并请求查看模拟工作流的动画回放。

  • 模拟结果将会从 Object Store 中的模拟对象中取回并以此为基础进行动画回放。
  

图 8. PS 基本工作流程

DSC0009.jpg









  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 功能

DSC00010.jpg









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

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

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

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

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

DSC00012.jpg

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

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

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

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

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

DSC00015.jpg

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

DSC00016.jpg
  从上面的分析报表中,我们可以知道三种不同类型产品在各个地区八月份的销售情况,依此判断出各类产品的市场需求、盈利状态以及各地区的消费能
力和消费趋势等,从而对今后的生产以及销售做出正确合理的安排与决策。
  同样地,如图 16
所示,我们还可以得到四个销售人员在八月份各自的订单数量以及销售金额,并且也能够了解到公司在这一个月的总体销售业绩。通过类似这样的图表,管理人员就
能够有依据地对业务人员进行跟踪和考核。
  

图 16. 销售人员业绩报表

DSC00017.jpg
  而对于 BAM,我们可以把它看作是 PA
的补充,它的出现完善了业务流程管理及优化的思想,可以更好地对工作流进行近乎实时的监控并提供诸如报警之类的功能,让信息的监控无时不在。从配置的角
度,BAM 其实主要是通过在 IBM Cognos Now 上的配置来从 PA 的数据库中获得工作流信息,从而进行分析。
  利用 OOTBConfiguration.jar 的功能,登陆 BAM 工作台,通过对 JDBC Agent 的创建,Event
对象的编辑,Context、View 和 Dimension 的创建,以及 Cube 和 Measure
的配置,就可以根据实际需求实现对工作流的监控与分析。同时,在 BAM 提供的 Dashboard 上,创建一个新的对象,就可以得到如图 17 和
18
所示的运行结果。通过类似这样的监控图表,分析和管理人员就可以根据实时监控结果中的数据趋势和平均处理量来及时调整销售策略及各区域人员的配备。
  

图 17. 运行结果的图显示

DSC00018.jpg

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

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

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

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

图 20. 多样化的数据显示

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

图 21. 场景属性设置

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

图 22. 设置模拟参数


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

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


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









  结束语

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-381576-1-1.html 上篇帖子: IBM HTTP Server Plugin默认plugin-key.kdb 密钥数据库文件默认个人证书密码过期分析与解决方法 下篇帖子: jena 操作RDF的一个例子(参考IBM的一篇文章)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表