ITPub博客

首页 > Linux操作系统 > Linux操作系统 > IBM FileNet BPM 工作流应用举例

IBM FileNet BPM 工作流应用举例

原创 Linux操作系统 作者:ArtCode 时间:2009-04-27 15:36:34 0 删除 编辑

IBM FileNet BPM 简介

FileNet 业务流程管理 (Business Process management) 软件是国际领先的流程管理软件,许多企业已经开始利用 FileNet BPM 管理自己的业务流程。企业每天都要涉及到数百个流程,怎样保证运作的速度及有条不紊已经成为一个至关重要的问题,BPM 可通过灵活的业务运作来有效地满足不断变化的客户和业务需求,这些根据流程路径来对工作和信息流进行的管理决定了决策的速度、灵活性以及质量,从而最终影响企业按照业务目标对计划进行执行的情况,使企业的流程管理实现自动化并得到全面优化。

同时,FileNet BPM 与外部服务也有着强大的交互功能,可调用外部 Java 应用程序和消息通讯系统,支持多平台安装和不同类型的中间键,提供程序应用接口,易于与现有的管理软件整合和实施,其多样化的时间管理更为领导层解决了进度难以控制的难题并节省人力成本,帮助企业经营取得更大成功。

应用特点及工具介绍

  • 工作流之间可以相互关联,相互调用。

    在业务流程中的一个工作流可以是非常复杂的。有时一个业务流程依赖于另一个业务流程来完成其工作,其他流程也可以作为这个业务流程的触发点。这就需要把众多流程关联起来组成一个完整的工作流,可关联的条件是:

    • 可以分解的业务流程在逻辑上是分开的,相互独立的并可保证以后的重用和共享。
    • 流程之间需要有一定的执行次序,通过一个工作流的启动可以去触发下一个流程。
  • 里程碑管理。

    在流程进行过程中,需要记录一些事件的关键点,参与者需要收到一些信息来了解重要任务的状态,以便控制进度和降低风险。每个里程碑都可用在一个或多个步骤中。我们可在重要步骤分别设置里程碑来说明状态,这些状态信息可以是具体的文字,也可以是一个或多个数据字段。当里程碑达到时,邮件里可以说明由谁发起的工作流以及参与者的信息。

  • 最终期限。

    可控制流程中每个步骤的执行状况,规定了分配者必须在特定的时间完成某一个步骤。可以在如下三个步骤进行控制:

    • 在到达前给参与者发出提醒。
    • 到达后给所有的参与者和追踪者发出状态。
    • 过期后走另外一个流程。比如延长最终期限并交给另外一个团队去处理。
  • 任务重定向。

    为了保证流程的灵活性和可控制性,可以让最初的参与者进行动态的重新分配。参与者可以指定另一名与会者接管任务或授权他完成其中一个阶段。重新分配任务时,有两种选择:一种是在当前任务完成后,工作包返回到最初的参与者进行审核然后继续;另一种是被重定向的任务完成后,工作包直接发送到下一步的业务流程。

  • 投票过程。

    在有些情况下,系统需要多个与会者的输入来确定下一步的业务流程,这就要求系统根据条件来表决,你可以设定下列条件之一:

    • 当所有与会者选择相同的反应(例如,当所有批准)。
    • 只要一位与会者回应(例如:至少一个人反对)。
    • 当没有一个与会者回应(例如:没有人反对)。
    • 当大多数与会者选择某一反应(例如:大多数与会者赞成而不是反对)。

用 FileNet BPM 设计工作流需要了解一些工具,首先我们介绍一下服务端的流程任务管理器 (Process Task Manager), 然后重点介绍一下管理、设计和配置工作流的工具。另外我们是通过 BPM 的显示端应用引擎 (Application engine) 提供的 Workplace 进行界面操作的,它是最终用户控制流程的可操作平台,在本文也将会被多次提到。

流程任务管理器(Process Task Manager):是管理流程引擎(Process Engine)和应用引擎 (Application engine) 服务的一个界面工具,图 1 是只包含流程引擎服务的 PTM,在这里如果启动了流程引擎(Process Engine)的服务,工作流业务流程就能正常运转。


图 1. PTM 界面
图 1. PTM 界面

流程管理控制台(Process Administrator):集成在 Workplace 页面上,是查找工作流及管理其状态的控制台,当业务流程运转时,我们可通过查找使流程显示在结果栏里,选中并单击流程追踪器 (Tracker) 就能看到工作流当前的状态。


图 2. Process Administrator 界面
图 2. Process Administrator 界面

流程设计器(Process Designer):Process Designer 可以用来完成工作流的设计、逻辑关系的验证和工作流的启动。图 3 是一个包含单个步骤的工作流定义设计界面。


图 3. PD 设计界面
图 3. PD 设计界面

在图标栏可以点击下拉框选择不同类型的图标,包括时间类型,功能类型及外部服务类型等。选中图标并通过拖动鼠标至主画板,然后在两个图标之间会显示箭头连接提示,按照提示使箭头放置在合适的位置就完成了步骤之间的连接,操作非常简单。这也展示了是 BPM 的一大优点,即设计快速入门和容易操作!

流程配置控制台(Process Configuration Console):同样集成于 workplace 上的 PCC 工具主要是实现与数据库的互动,所有写在数据库表里的信息都可以用这个工具配置,比如创建队列及添加它的数据类型等操作。如图所示就是连接到了 intel10a_tfer 上建立一个工作队列 (queue) 的界面。


图 4. PCC 界面
图 4. PCC 界面

有了这些概念作为基础,接下来我们将要去看如何进行一个工作流的设计及应用。

用 FileNet BPM 去实现一个流程管理的实例

发表文章的业务需求

  1. 根据 developerWorks 征稿内容列表或您自己的兴趣和特长,确定投稿意向。
  2. 在线提交投稿意向。
  3. 等待 developerWorks 网站编辑和您联系,确定这个意向是否可以写作(编辑将会在两周之内和您联系)。
  4. 下载 XML 或者 Microsoft Word/OpenOffice.org Writer 写作模板,并按照其中的格式要求进行写作。
  5. 完成写作,将 XML 或者 Microsoft Word/OpenOffice.org Writer 格式的稿件提交给编辑。
  6. 等待编辑和您联系,确定是否采纳您的文章。

工作流设计

设计一个主流程和子流程来分别完成意向审核和发布通过的过程,同时,分角色并赋予不同的权限来进行流程管理,其中有用到里程碑管理,附件上传,和投票表决等功能。具体实现如下:

  • 投稿流程(主流程)

    作者提交一个意向以后,编辑在 Inbox(待办事宜)里发现一个请求需要被处理,编辑选择 Approve 表示审核通过,选择 Reject 则流程终止。

  • 稿件提交给编辑并通过审核,最后发布的过程。(子流程)

    作者提交初搞后到编辑的 Inbox, 编辑有 Approve, Modify 和 Reject 三个选择。

  • 如果通过,会依次到经理和律师的 Inbox 里等待审核,审核成功后发布并发信通知作者发布的地址和后续事项,流程结束。
  • 如果需要修改则回退到作者的 Inbox 直到编辑通过。
  • 如果驳回则流程结束。

下图是提交意向后的主流程。


图 5. 投稿主流程
图 5. 投稿主流程

我们可以看到 Editor 的图标是队列 (Queue)类型的,而且它用到了投票的功能来决定分支的走向。下面我们就来简单介绍一下队列和投票。

FileNet BPM 实现的是人与事件的交互,最终的任务都可以到达每个人的 Inbox 里去,那当几个人同时需要干预这个步骤的时候应该怎么做呢?比如一个团队的几个人共同开发一个产品 ,只有等所有的人都完成各自任务,整个任务才能够成功结束,从而走向下一步骤。所以队列的意义在于从事同一个工作项目的用户群遵循先进先出的原则去处理任务。比如我们例子中由所有在编辑组里的用户构成的一个 Editor 队列去处理来自投稿者的请求。

而当我们的参与者是三人或以上时,也可以使用投票的方法来决定分支的走向,比如我们的编辑队列现在有三个人,那设定的投票条件为,只要编辑组里的一个人审批通过,那这个意向就通过,请参看图 5 右侧关于条件的定义是 ANY(Approve) 。

参照应用特点介绍,如果最终要走通过的分支可以设计的条件为:

  1. 选择通过的人大于选择驳回的。
  2. 任何一个人选择通过的。
  3. 没有人选择驳回的。
  4. 所有的人选择通过的。

在这里我们还可以设立两个里程碑,一个设在投稿意向发出后的两周后,另一个放在初稿发送后的两周后,只要发起者控制好这两点就能保证这个流程的正常运转。我们以第一个里程碑为例,首先在工作流属性里定义里程碑名字和级别,如图 6 所示。

当然我们也可以不用队列的形式而直接制定一个参与者 (participant),


图 6. 工作流属性
图 6. 工作流属性

然后在 Editor 队列里选择 milestone1, 并设置正确的表达式,其中 adddays(time_expr, 14) 是指有限气是当前时间加两周也就是 14 天的时间。


图 7. 步骤属性
图 7. 步骤属性

并在用户选项里把里程碑到达通知这项开启,这时我们用来控制投稿意向审批流程的里程碑就建立了,时间到到达后,如果设置了邮件信息就会发送到发起者和追踪者那里,另外一个里程碑应设置在子流程里,操作过程相同。通过这两个事件的追踪,管理层就能简单有效的控制整个流程的状态。这也就展示了 FileNet BPM 的优势之二,即严谨的时间管理便于领导层有效控制流程周期。


图 8. 审批过程子流程
图 8. 审批过程子流程

上图所描述的子流程包括了稿件提交、经理和律师的审核、发布及通知这几个过程,其中有五个角色,作者和编辑已经在主流程中出现过。另外还有律师、经理和发布者存在于子流程中。在运行过程中,给工作组可以分配两种权限,即查看 (Query) 和执行 (Process) 。在这个例子中,我们通过 PCC 工具来设置 Editor 组的权限,可以看到这个组的 manny 用户具有查看和执行的权限。


图 9. PCC 设置权限
图 9. PCC 设置权限

工作流的执行

作者提交了初稿后,编辑同样需要通过登陆 Workplace 来处理事件,图 10 是编辑用自己的帐号登陆的界面。


图 10. Workplace 登陆界面
图 10. Workplace 登陆界面

点击导航栏中的 My inbox, 就可以看到如图 11 中所示的一个待处理的事件,单击后跳出新的窗口如图 2-8 所示,编辑可以选择 Approve 或 Reject 触发下一个步骤。


图 11. Inbox 中的内容
图 11. Inbox 中的内容

从上面的描述我们可以看到 FileNet BPM 的优势之三是有强大的角色管理和任务追踪能力,每个角色都能及时查看自己需要处理的任务并收到发信通知,如本例中,编辑 manny 看到在自己 Inbox 里有一个待处理的请求,是来自投稿者的一个投稿意向。如果通过的话作者就可以继续提供初稿给编辑了。

图 12 为编辑在批准这个请求的时候上载了一个文章模板给作者。作者套用这个模板完成自己的文章,里面有关于章节、字体和图片格式的约定。


图 12. 任务处理
图 12. 任务处理

工作流管理

我们可以在工作流运行过程中随时查看和修改它的状态,在我们介绍过的 Process Administrator 里查询到这个工作流并用 Tracker(追踪器)打开后,当前工作流的状态就显示在主面板中了,如图 13 所示:


图 13. 工作流追踪器
图 13. 工作流追踪器

图 14. 人工干预
图 14. 人工干预

从图 13 中可以看到当前任务是停在 Editor 这个队列里等待这个队列的所有人触发,当然也可以按照设定的投票路由来走,在这里,我们看一下图 14 所示的人工干预即结束任务和重定向任务这两个功能。

当工作流发生异常或者是管理员需要把它当作一个紧急事件处理时,就可以选择进到 Tracker 里结束当前任务。


图 15. 结束任务
图 15. 结束任务

而当参与人在休假或者不在办公室导致对当前任务长时间没有响应,管理员可以重新指定参与者使工作流正常运转。另外一种情况是当前参与者希望指定更合适的人选完成这个任务时同样可以用到这个功能,而且还可以选择是否需要将工作包打回到最初参与者审核后再继续流程。因此,我们可以发现 FileNet BPM 的优势之四,灵活人性化的设计,使之具有应对突发事件的能力。


图 16. 重定向任务
图 16. 重定向任务

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-591940/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-05

  • 博文量
    269
  • 访问量
    555758