内容


IBM FileNet BPM 与 Microsoft Visio 在流程建模上的集成与应用示例

Comments

FileNet BPM 及其流程建模简介

IBM FileNet Business Process Management(BPM)作为业内领先的基于内容的业务流程管理解决方案,被广泛地应用于金融、保险、能源、医疗、制造及政府等多个领域。它提供了一系列的技术与工具来帮助企业实现对业务流程的灵活设计、管理与优化,并通过对内容管理及外部系统的集成缩短了流程实施周期,避免了不必要的资源浪费,从而大大提高企业的决策能力和工作效率。

众所周知,流程建模与设计是业务流程管理中非常重要的组成部分,因此,FileNet BPM 也将其作为核心功能之一提供了很好的支持。对于流程建模与设计,我们可以分成两个部分来理解,首先,流程建模的目的是通过文档或图形等对业务需求进行完整、一致的描述,使业务分析人员及开发人员能够正确地了解需求并以此作为具体实现的输入,而流程设计则可以被简单地理解为创建可执行的流程,也就是根据业务需求和建模对流程的具体实现。表面上来看,FileNet BPM 中没有提及专门的流程建模工具,而是只提供了一个可视化的基于 XPDL(XML Process Definition Language)的流程设计器(Process Designer, PD)来创建流程。但实际上,FileNet 在流程建模上也提供了与外部建模工具的非常灵活的集成,主要包括 IBM WebSphere Business Modeler(WBM)和当前非常普及的 Microsoft Visio。同时,流程设计器还可以直接导入 WBM 和 Visio 的建模图形,并以此作为流程创建的起点,从而极大可能地重用已有建模,大大缩短流程开发周期。除此之外,基于对 XPDL 这一相对成熟并被业界广泛认可的规范的支持,流程设计器还可以导入其它一系列建模工具产生的 XPDL 建模文件,进一步扩大了 FileNet BPM 在流程建模和设计上的灵活性和广泛性。

FileNet BPM 与 Microsoft Visio 在流程建模上的集成

前面提到,FileNet BPM 对很多外部建模工具都能够提供支持,但其中最为重要也是最具实际意义的还是其与 Microsoft Visio 建模的集成,主要原因包括以下几点:

  • 首先,据统计,绝大部分的公司都采用了 Microsoft Visio 来创建流程建模图形,因此,怎样很好地支持 Visio 建模,以及怎样将已有的 Visio 流程文档方便快捷地转换成可以在实际生产环境中运行的流程,缩短从流程建模到实施的周期是所有 BPM 解决方案都需要考虑的一个重要课题。
  • 其次,Visio 作为当前应用最为普遍的建模工具,已经被很多人所熟识,特别是对于企业中的业务分析人员及管理人员,他们可能对某一种特定的业务流程软件并不熟悉,也不了解流程实施的具体技术,但是却能够很好地运用 Visio 来描述及了解业务流程需求,因此,与 Visio 建模的集成以及对 BPMN 建模规范的支持就好比是在业务管理人员与技术实施人员之间架起了一座桥梁,使他们能够基于各自的领域对同一个业务流程管理解决方案进行顺畅的沟通和理解。
  • 最后,通过对 Visio 建模的支持可以满足客户,特别是业务人员对离线建模的需求,也就是说,在建模阶段,用户既不需要了解特定 BPM 系统的具体使用,也不需要在 BPM 服务器环境上进行操作,这也大大提高了整个业务流程解决方案从架构到实施的效率。

因此,在接下来的几个章节里,我们将会针对 FileNet BPM 与 Microsoft Visio 在流程建模上的集成作一系列的介绍。

IBM FileNet Connector for Microsoft Visio

为了能够很好地利用 Visio 中的流程建模,FileNet BPM 提供了 IBM FileNet Connector for Microsoft Visio 来支持这一与 Visio 集成的扩展功能。它可以使用户通过在 FileNet 流程设计器中直接导入 Visio 图形来快速地实施部署并收回投资。下面,我们将对 IBM FileNet Connector for Microsoft Visio 中所包含的主要内容及支持的主要功能作简单介绍。

  • 首先,正如前面说到的,IBM FileNet Connector for Microsoft Visio 提供了在流程设计器中直接导入 Microsoft Visio 工作流建模图形的功能,并且通过直观的引导界面来指导用户的导入操作,非常方便易用。同时,除了默认映射的图形对象外,FileNet 也支持用户在导入过程中进行自定义,这些自定义的图形在保存以后可以被反复应用于以后的 Visio 导入,从而提供了非常好的灵活性及可扩展性。在下一小节中,我们将对如何启动这一导入功能以及怎样通过引导界面进行导入作进一步的介绍。
  • FileNet 提供了对 BPMN 的支持,也就是说,FileNet 的默认映射中已经包含了 BPMN 图形与流程设计器图形对象的匹配关系,只要通过在 Visio 中使用标准的 BPMN 模板并进行流程建模,就可以非常容易地将 Visio 建模文件直接导入到流程设计器中,从而保证导入的一致性和准确性。
  • IBM FileNet Connector for Microsoft Visio 支持对多个流程建模文件及子流程的同时导入。我们知道,在 FileNet BPM 中,工作流集合以及子流程的概念能够简化复杂的工作流逻辑,使流程设计更加清晰易懂,因此,在对 Visio 的导入上,FileNet 也同样支持了这一功能,提供了方便快捷的批量操作。
  • 除了上面提到的几点主要功能外,FileNet 也支持对流程注释的导入。这些在 Visio 流程建模图形中的描述性文字作为流程的一部分,可以将流程的注意事项及步骤间的逻辑关系等重要流程信息更加直观地传达给设计人员和分析人员,使流程更加易读。当然,用户也可以灵活地选择流程注释所显示的颜色以及是否要隐藏这些信息。

FileNet 流程设计器中的 Visio 导入功能

我们可以把 Visio 导入功能理解为 FileNet 流程设计器的一个扩展功能,默认情况下,流程设计器的菜单中是没有 Visio 导入选项的,只有当购买了这一功能的用户在 Workplace 或 WorkplaceXT 上添加了一个新的角色“P8BPMProcessDesignerEx”,并将相应的用户指定给这一角色后,才可以在流程设计器中激活 Visio 导入功能。如图 1 所示,我们登录 WorkplaceXT 后,在站点首选项的访问角色中添加了“P8BPMProcessDesignerEx”,若不具体指定,添加角色后默认是所有用户都具有该权限的,但由于 Visio 导入是集成在流程设计器中的,所以要使用这一功能的用户必须首先具有使用流程设计器的权限,也就是说,要具有 PWDesigner 这个角色的权限。

图 1. 添加 P8BPMProcessDesignerEx 角色
添加 P8BPMProcessDesignerEx 角色
添加 P8BPMProcessDesignerEx 角色

添加角色以后,我们就可以使用该角色中授权的用户进入流程设计器,如图 2 所示,在流程设计器的 File 菜单中,“Imported Visio File …”选项被加入到了 Insert 列表里。

图 2. 流程设计器菜单中添加的 Visio 导入选项
流程设计器菜单中添加的 Visio 导入选项
流程设计器菜单中添加的 Visio 导入选项

前面也提到了,FileNet 在 Visio 导入功能上为用户提供了非常易用的引导界面,总的来说分为以下四个步骤。

首先,如图 3 所示,指定所要导入的 Visio 建模文件(.VDX 格式)的位置,并选择如何处理可能存在的与现有工作流名字的冲突。同时,因为流程设计器本身不支持工作流的缩放,所以用户在导入 Visio 前还需要指定步骤及注释间的间距,这个间距的有效值可以在 50 到 250 像素之间,默认值为 80 像素。

图 3. Visio 文件选择界面
Visio 文件选择界面
Visio 文件选择界面

在对指定 Visio 文件进行解析后,页面选择界面上将会列出所有在 Visio 文件中包含的页面,用户可以根据需要灵活选择需要导入的页面。如图 4 所示,这里选择的两个页面会同时被导入到流程设计器中,从而实现对多个流程建模导入的批处理。

图 4. 页面选择界面
页面选择界面
页面选择界面

接下来进入的是映射选择界面,在这一步中,上一步所选页面中的 Visio 图形会同当前的映射信息进行比对,并默认显示出所有未匹配的 Visio 图形,我们可以根据流程设计需求手动将相应的流程设计器对象指定给这些未匹配的 Visio 图形,如果用户想要忽略某一图形,则可以选择“Nothing”项与之对应,如图 5 所示。当然,我们也可以通过选择“Display all shapes”来显示所有 Visio 图形的映射,并对已有映射关系进行修改。若默认的图形映射关系被修改,在进入下一步之前,会有对话框弹出用于确认是否需要将修改保存到新的映射文件中供以后导入使用,用户也可以通过点击“Save”按钮对修改后的映射关系保存到已有或新建映射文件中。这样,在以后的 Visio 导入过程中,我们就可以通过“Browse”按钮选择之前保存的映射文件来提供需要的图形对象映射关系,避免不必要的重复修改,同时,我们也可以选择“Reset”来加载默认的映射匹配文件覆盖自定义的映射关系。

图 5. 对象映射界面
对象映射界面
对象映射界面
图 6. Visio 图形示例
Visio 图形示例
Visio 图形示例

在对 Visio 图形的映射过程中,FileNet 是同时以图形名称以及图形文本内容来进行匹配的,这样就使得用户可以根据不同的文本内容来为相同的 Visio 图形匹配不同的流程设计器对象。如果对某一图形的名称与文本组合没有找到相应的映射信息,则会默认将其匹配给 Visio 图形所对应的对象。图 6 的 Visio 建模例子中,三个圆形的文本内容是不一样的,因此它们要代表的步骤以及流程设计器对象也可能是不同的,但默认的映射关系,会把它们都匹配成“Activity”这一设计器对象,如表 1 所示。根据流程需求,我们可以把标有“Start”文本信息的圆形映射到“Start”对象,把标有“End”文本信息的圆形映射到“TerminateBranch”对象。需要注意的是,拥有相同图形名称和文本内容的 Visio 图形是不会在图形列表中重复列出的,所以一旦修改了对应关系,所有这些图形都会相应地被映射到同一个流程设计器对象。

表 1. 映射关系示例
Visio ShapeShape TextDefault Designer ObjectDesired Designer Object
CircleActivityActivity
CircleEndActivityTerminateBranch
CircleStartActivityStart

最后,导入总结界面将会列出所有页面中的相关导入信息,用户在进行确认后就可以完成整个导入引导过程并将 Visio 建模文件成功导入到流程设计器中。

图 7. 导入总结界面
导入总结界面
导入总结界面

Visio 图形与 FileNet 流程设计器对象的映射

在前一章节中,已经提到过 Visio 图形与 FileNet 流程设计器对象之间的映射,接下来,我们就将针对 Visio 导入的映射关系做进一步的介绍。

在 FileNet BPM 中,Visio 建模图形与流程设计器对象的映射关系是通过一个 XML 格式的文件来提供的,其中定义了 BPMN 图形模板以及另外 13 种 Visio 默认提供的图形模板与 FileNet 流程设计器对象之间的映射关系。该文件被部署在 pe.jar 中,默认情况下,它的位置和名字为 pe.jarfilenet\vw\toolkit\design\visio\model\mapping\visio_mapping_en_US.xml。正如前面介绍的那样,在 Visio 导入过程中,我们既可以使用 FileNet 提供的这一默认映射文件,也可以使用自定义的映射文件来提供需要的图形映射关系。

BPMN 简介

首先,我们来了解一下什么是 BPMN。BPMN 也就是业务流程建模符号,是一组由标准组织 BPMI 于 2004 年发布的建模规范,它的主要目标是提供一套被所有业务用户(包括业务分析人员、软件开发人员、业务流程实施人员以及管理与监察人员等)所理解的标记语言,在业务流程建模设计与流程实现之间搭建一条标准化的桥梁。BPMN 是以业务流程图(Business Process Diagram, BPD)为中心,规定了一些统一的图形元素,下面列出四种最为基本与常用的元素。

  • 流对象(Flow Objects):流对象是 BPMN 的核心元素,包括事件(Event),活动(Activity)和网关(Gateway)。事件会影响流程的状态,一般用圆形来描述,包含开始、中间以及终止事件。活动是业务流程中基本的业务单元,每一个活动都代表了一个特定的业务,包含任务和子流程两种类型,一般用圆角矩形来表示,其中表示子流程的图形下方中间会加一个小加号来区分。网关是用来表示流程的分支和聚合,也可以作为传统的条件选择,一般用大家所熟悉的菱形来描述。
  • 连接对象(Connection Objects):在一个业务流程图中,是使用连接对象来把图中的各个独立的业务活动连接起来组成一个完整的含有语义的业务流程的。连接对象包括以下三种:序列流(Sequence Flow),消息流(Message Flow)和关联(Association)。其中,序列流用于指定活动执行的顺序,一般用带实心箭头的实线来表示;消息流用于描述两个独立的业务参与者之间发送和接受的消息流动,一般用带有开箭头的虚线来表示;关联是用于将相关的数据、文本和其他人工信息与流对象联系起来,可用来展示活动的输入和输出,多用带有线箭头的点线来表示。
  • 泳道(Swimlanes):许多建模技术利用泳道这一概念来将活动划分到不同的可视化类别中从而描述不同部门或不同参与者的功能与职责。BPMN 支持两种主要的泳道构建:池(Pool)和道(Lane)。其中,池可以被看作是将一系列活动区别于其他池的一个图形容器,每个池中的活动通常都有自身的流程,因此序列流是不能穿越池的边界的,而消息流则可以用来表示两个不同流程之间消息的交互。道可以被看成是池的子划分,用来对活动进行组织和分类,常被用作将活动按角色划分。流程可以在一个池中跨道流转,也就是说,序列流可以穿过道的边界,而消息流就不行了。
  • 人工信息(Artifacts):人工信息是用来作为信息备注添加到建模的业务流程上下文中的,从而便于业务人员或开发人员理解流程建模。当前的 BPMN 规范中预定义了数据对象(Data Object)、组(Group)和注释(Annotation)三种人工信息,它们是通过关联来与活动连接的。

BPMN 与流程设计器对象的映射

在这一小节中,我们将列出 BPMN 图形模板与 FileNet 流程设计器对象间的映射关系供大家建模时参考,如下表所示。

表 2. BPMN 与流程设计器对象的映射关系
Visio ShapeDesigner Object
Ad-hoc collapsed sub-processSubmap
AssociationAssociation
Collapsed sub-processSubmap
Compensation activityGeneral
Compensation collapsed sub-processSubmap
Complex GatewayGeneral
Data objectData Field
Data-based exclusive (XOR) gatewayGeneral
End cancelGeneral
End compensationGeneral
End errorGeneral
End eventTerminateBranch
End linkGeneral
End messageGeneral
End multipleGeneral
End terminateTerminateProcess
Event-based exclusive (XOR) gatewayGeneral
Expanded ad-hoc sub-processSubmap
Expanded compensation sub-processSubmap
Expanded loop sub-processSubmap
Expanded multiple instance sub-processSubmap
Expanded sub-processSubmap
Horizontal laneWorkflow Group
Horizontal poolWorkflow Process
Inclusive (OR) gatewayGeneral
Intermediate cancelGeneral
Intermediate compensationGeneral
Intermediate errorGeneral
Intermediate eventGeneral
Intermediate linkGeneral
Intermediate messageGeneral
Intermediate multipleGeneral
Intermediate ruleGeneral
Intermediate timerDelay
Loop activityGeneral
Loop collapsed sub-processSubmap
Message flowNothing
Multiple instance activityGeneral
Multiple instance collapsed sub-processSubmap
Parallel (AND) gatewayGeneral
Sequence flowRoute
Start eventStart
Start linkStart
Start messageStart
Start multipleStart
Start ruleStart
Start timerStart
TaskGeneral
Text annotationText Annotation
Vertical laneWorkflow Group
Vertical poolWorkflow Process

常用 Visio 模板与流程设计器对象的映射

除 BPMN 外,FileNet 还支持与常见的 Visio 图形模板间的映射,如结构图、基本流程图、审计图、EPC 图、TQM 图、IDEF0 图、SDL 图等。由于篇幅原因,我们在此仅列出其中的基本流程图图形与流程设计器对象间的映射关系(如表 3)以及 FileNet 默认映射中支持的常用箭头图形(如表 4)。当然,我们仍然可以在流程建模时去使用那些 Visio 模板中与流程设计器对象没有默认映射关系的图形,这种情况下,只需要在导入 Visio 文件时进行自定义映射指定即可。

表 3. 基本流程图与流程设计器对象的映射关系
Visio ShapeDesigner Object
ProcessCreate
DecisionGeneral
DocumentAttachment
DataData Field
Predefined processCreate
Stored dataData Field
Internal storageData Field
Sequential dataData Field
Direct dataData Field
Manual inputGeneral
CardText Annotation
Paper tapeText Annotation
DisplayText Annotation
Manual operationGeneral
PreparationGeneral
Parallel ModeNothing
Loop limitGeneral
TerminatorTerminateBranch
On-page referenceGeneral
Off-page referenceGeneral
Flowchart shapesGeneral
Auto-height boxText Annotation
Dynamic connectorRoute
Line-curve connectorRoute
Control transferGeneral
AnnotationText Annotation
表 4. 常用箭头图形与流程设计器对象的映射关系
Visio ShapeDesigner Object
45 degree doubleRoute
45 degree singleRoute
Fancy arrowRoute
45 degree tailRoute
Flexi-arrow 1Route
Flexi-arrow 3Route

Visio 流程建模在 FileNet BPM 中的应用示例

在本章节中,我们将举例说明 Visio 流程建模在 FileNet BPM 中的应用。

应用场景描述及需求分析

我们所提出的应用场景是基于采购审批及下单这一简单流程的。当某公司员工有相关采购需求时,首先需要提交采购申请,包括采购产品的名称、数量、单价,以及申请人信息和上级审批经理信息等。申请提交后,经过系统的自动核价,若采购订单总额小于 1000 元,则直接进入采购部进行货源核准,并在有货的情况下选择相应的采购下单组进行最终的下单工作;若订单总额大于或等于 1000 元,则需要进入审批流程,由上级经理及财务部门决定是否最终进行采购下单。大致需求如图 8 所示。

图 8. 应用场景流程图
应用场景流程图
应用场景流程图

图 8 中的采购审批流程是在采购总额超过 1000 元时需要上级经理及财务部门进一步审批的子流程,如图 9 所示。在该子流程中,经理可以直接拒绝申请,结束整个流程,或者批准申请并提交给采购部门处理,同时也可以选择退回给申请人做相应的采购需求修改后再做决策。而采购部门如果收到经理批准后的采购请求并做相应的货源核准后,还需要判断采购总额是否超过 10000 元,若超过,则需提交给财务部门审批后再分发到对应的采购下单组进行采购下单,最终完成整个流程。

图 9. 采购审批子流程
采购审批子流程
采购审批子流程

BPMN 建模及 Visio 导入

根据前一章节中介绍的 BPMN 与流程设计器对象的映射关系,我们可以将上述应用需求通过 Visio 建模展现出来,如图 10 及 11 所示。其中 OrderGroup 和 Manager 是 FileNet BPM 中的工作流组,我们可以在流程运行过程中动态的指定这两个工作流组的成员,从而控制流程任务的处理者。OrderAmount 步骤是一个系统步骤,系统会根据申请人提交的信息自动进行价格计算。而图 11 所示的审批子流程则是图 10 所示的采购主流程中的 Approval Process 步骤,我们可以把这两个流程建模以不同 page 的形式存放在同一个 vdx 建模文件中,从而实现在流程设计器中的同时导入。但需要注意的是,按照规定,子流程的 page 名称必须与子流程名相同,也就是要与主流程中的子流程步骤名称一致,而主流程与子流程的工作流名称必须一致,以标志它们属于同一个工作流程,如图例中,采购主流程与审批子流程的名字都是 Purchase Process。

图 10. 采购主流程建模
采购主流程建模
采购主流程建模
图 11. 审批子流程建模
审批子流程建模
审批子流程建模

接下来,我们就可以把上述 Visio 建模文件在 FileNet 流程设计器中进行导入。在导入过程中,由于流程设计器的 Assign 系统步骤没有 BPMN 图形相对应,因此我们需要在对象映射界面上将 Assign 对象手动指定给建模文件中 OrderAmount 步骤所对应的图形。同时,鉴于我们需要在流程中动态指定工作流组的成员,所以还应该将 OrderGroup 和 Manager 这两个数据对象对应的流程设计器图形从默认的字段对象改成工作流组对象,如下图 12 所示。

图 12. 映射关系修改
映射关系修改
映射关系修改

导入建模文件之后,我们可以在流程设计器中看到如下所示的工作流定义。

图 13. 采购主流程定义
采购主流程定义
采购主流程定义
图 14. 审批子流程定义
审批子流程定义
审批子流程定义

此时,我们只需要在流程设计器中按照需求再做以下几步简单的设置工作,就可以非常方便地在已有流程建模基础上完成整个 FileNet 工作流设计。

  • 在工作流属性中,修改字段的数据类型以及 Merge 类型(默认导入后的字段类型都被设置为 String,而 Merge 类型都被设置为 Default);
  • 除工作流组参与的步骤以外,为其他每一步指定相应的参与者或工作队列;
  • 在需要进行路由选择的步骤上,根据需要设置相应的“Responses”;
  • 为每一个路径分支设置路由条件(可以是用户选择也可以是对字段值的判断)。

同理,如果我们需要在工作流中用到附件,则在 Visio 文件导入之后,也需要在工作流属性中添加相应的附件。

结束语

综上所述,FileNet BPM 对 Visio 建模的支持不仅可以实现对已有 Visio 流程建模的重用,减少在 FileNet 流程设计器中进行流程重建的时间,从而缩短流程实施的周期,节省资源及不必要的额外开销,还可以通过对常用 Visio 图形、BPMN 及流程注释等的支持,大大简化团队间的协作以及流程建模的复杂性。希望通过本文的介绍,能够使相关流程建模、设计及实施人员对 FileNet BPM 与 Microsoft Visio 的集成有一个整体认识,并能够帮助他们在未来的项目中付诸实践。


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=750819
ArticleTitle=IBM FileNet BPM 与 Microsoft Visio 在流程建模上的集成与应用示例
publish-date=08042011