IBM Business Process Manager V8.0 中的 ARIS 模型的 BPM 生命周期,第 1 部分: 将 ARIS 模型导入 IBM Process Designer

这个由两部分组成的文章系列主要介绍一种基于标准、跨工具和跨供应商的业务流程管理生命周期的实用方法,该生命周期实现了 IBM® Business Process Manager 套件中 ARIS 事件驱动的流程链模型,这些模型是在它自己的存储库中创建的。第 1 部分介绍通过标准 BPMN2.0 导入以及采用 ARIS XML 格式将流程模型从 ARIS 导入 IBM Process Designer 的两种方法。第 2 部分介绍如何将新导入的 ARIS 模型版本与 Process Designer 中已扩展和执行的流程合并在一起。

Plamen Kiradjiev, 执行 IT 架构师, IBM

Plamen Kiradjiev 的照片Plamen Kiradjiev 是一名 IBM 执行 IT 架构师,在业务流程管理、应用程序集成和复杂 IT 环境方面拥有深厚的背景知识。他自 1995 年就开始为 IBM 工作,最初在 Global Services 就职,随后于 2004 年担任 Software Group 技术销售,主要负责汽车和公共行业方面的工作。Plamen 花了多年时间研究将 ARIS 与 WebSphere 集成的方法、工具和最佳实践,还领导了该领域的数十个客户活动并提供了一些建议。



Stefan Karsten, 客户技术专员, IBM

Stefan Karsten 的照片Stefan Karsten 是德国技术销售团队的一位客户技术专员,主要负责业务流程管理和决策管理。迄今为止,他研究 WebSphere Lombardi BPM 和 IBM BPM 的不同资产已有 5 年时间,研究 BPM 最佳实践与不同解决方案已有 12 年时间。他开发了本文中的大部分服务。



Michael Lackerbauer, 软件架构师, IBM

Michael Lackerbauer 是德国 WebSphere 技术销售团队的一名高级解决方案架构师,主要负责业务流程管理和集成。他在基于 WebSphere BPM 和集成产品组合来设计和开发解决方案方面拥有多年的经验。



2012 年 8 月 06 日

简介

许多公司和机构使用 ARIS 来记录他们的业务流程已有多年。ARIS(具体来讲是 ARIS Business Architect)是一个流行的建模工具,它使用事件驱动的流程链 (EPC) 来记录业务流程。下一个自然步骤是优化和执行这些流程。借助成熟的标准(比如业务流程模型和表示法 (Business Process Model and Notation, BPMN))以及它们在标准 BPM 产品中的应用,业务部门可利用并执行他们旧有的 ARIS EPC 模型。

本系列文章将介绍如何将 ARIS 中记录的一个 EPC 模型转换为 IBM Business Process Manager (IBM BPM) 中正常运行的流程。可将这种方法视为 将 BPEL 代码从 ARIS SOA Architect 导入 WebSphere Integration Developer 中介绍的 ARIS2WebSphere 方法的后继者。本文提供了更高水平的成熟度、开放性、生产力和工具支持,降低了基于 BPEL 的集成所需的建模约定中的限制,演示了如何将功能导入 IBM BPM 中,比如从 BPMN2.0 导入原生的 ARIS XML。

本系列的第 1 部分介绍将流程模型从 ARIS 导入 IBM BPM Process Designer 的两种方法:

  • 依据 BPMN2.0 执行一致性规范,通过标准导入转换为 BPMN2.0 表示。
  • 通过导入框架资产导入 ARIS XML。

第 1 部分最后将得到一个在 WebSphere Process Server 上执行的 IT 扩展的流程。导入框架资产已在本文 下载 部分提供并进行了简短解释,支持扩展和调整。图 1 演示了执行 ARIS EPC 模型的两个选项,我们将在接下来的两节中介绍它们。

图 1. 将 ARIS 模型导入 IBM BPM 的两个选项
将 ARIS 模型导入 IBM BPM 的两个选项

从 ARIS 导入 BPMN 2.0

基于目前的 BPMN 2.0 规范来交换流程模型,这在业务建模和流程执行平台上都具有重要的优势,比如开放性、在不同工具之间共享工件和避免供应商锁定。这是集成的首选方法。实现基于 BPMN 2.0 的集成的前提条件如下所示:

  • ARIS Business Architect 或具有 BPMN 2.0 功能的 Designer V7.2(在编写本文时,BPMN 2.0 导出功能正在开发)。
  • IBM BPM Process Designer V7.5 或其更高版本,包括依据规范、基于执行一致性的原生 BPMN 2.0 导入功能。

从 ARIS EPC 到 BPMN 2.0

如图 1 所示,基于 BPMN 2.0 规范来应用集成需要使用 ARIS 中的一个分两步的方法:

  1. 将现有的 EPC 模型转换为一种 BPMN 2.0 表示。
  2. 导出 BPMN 2.0 模型。

即使每次转换会导致潜在的信息丢失,这个分两步的方法也仍然是将遗留 EPC 表示转换为 BPMN 2.0 标准所必需的。事实是,此转换是在同一个工具内完成的,调整中间逻辑模型的机会缓解了这一难题。有了 BPMN 2.0 以及跨业务和 IT 部门的不同工具中基于同一个模型表示的增强的生产力和协作,业务分析师就有望在 BPMN 2.0 中建模,至少对那些为执行和自动化而创建的流程也可以这么做。前面已经提到过,BPMN 2.0 导出功能在撰写本文时尚不可用,所以在这里无法演示它。

下一节将使用一种早期的 ARIS BPMN 2.0 导出,这部分的内容基于已在与 ARIS Development 合作的过程中测试过的 OMG BPMN 2.0 Nobel Prize 示例。图 2 给出了 ARIS BPMN 2.0 表示的快照。

图 2. 作为 ARIS BPMN 2.0 表示的 Nobel Prize OMG 样例(参见 放大的图 2
作为 ARIS BPMN 2.0 表示的 Nobel Prize OMG 样例

将 BPMN 2.0 导入 IBM Process Designer

导出的 .bpmn 文件会转换为一个 zip 归档,以便通过 Process Designer 的标准导入向导来导入它。BPMN 2.0 格式已被普遍接受,如图 3 所示。

图 3. Process Designer Import Process App 向导
Process Designer Import Process App 向导

单击 OK 后,就会创建流程应用程序并显示一些信息和警告消息。其中一条警告用于 BPMN 2.0 导入不支持的协作结构。还有一些有关业务对象的生成的参考信息。IBM BPM 实现了 BPMN 2.0 规范。IBM 提供了 Common Executable 子类中包含的所有功能,以及该子类以外的有用的建模结构和扩展。导入之后的 “Nobel Committee Medicine” 流程的结果如图 4 所示。

图 4. Process Designer 中的 Nobel Committee Medicine 流程(参见 放大的图 4
Process Designer 中的 Nobel Committee Medicine 流程

如图 4 所示,还创建了 Data Objects、基于 Data Inputs 的 Data Mappings,以及 Tasks 与它们的服务或人工任务实现之间的 Outputs。后者允许直接回放该流程,甚至允许在指定具体的数据结构、Coaches(GUI 实现)或 Integration Services 之前这样做。这支持逐步迭代式开发,在流程实现过程中的每一步运行回放。


导入 ARIS XML

上一节已经提到过,ARIS 的 BPMN 2.0 导出功能在编写本文时尚不可用。因此,本节将介绍另一种将 ARIS EPC 模型导入 IBM BPM 的方法,该方法至少需要 ARIS 工具来利用特定于 ARIS 的 XML 导出格式。在 BPMN 2.0 导出功能可用之前此方法可填补这一空白,或者可用作更老的或其他 ARIS 版本的替代方案。在这两种情况下,均可从一种方法任意切换到另一种方法,而不会更改总体开发流程中的任何内容。两种方法的前提条件是:

  • 对于 ARIS: 使用 7.1 和更高版本中的任何版本
  • 对于 IBM BPM Process Designer:使用 7.5 和更高版本,使用 Import Framework 导入专用的 ARIS XML 格式(包含在 下载 部分中)。

将 ARIS EPC 导出为 ARIS XML

本节中将使用图 5 中所示的候补机票场景。购买候补机票后,支付系统会向客户收费,除非他在飞机起飞前 24 小时直接或通过服务中心取消预定。

图 5. 候补机票 EPC 模型
候补机票 EPC 模型

另一个细节是,Booking Data Cluster 符合以下数据结构,包含航班和顾客记录细节,如图 6 所示。

图 6. 预定记录结构
预定记录结构

要处理候补机票模型的 XML 导出,右键单击 ARIS Process Explorer 中的 EPC 并选择 Export > XML file,如图 7 所示。

图 7. 将 EPC 模型导出为 ARIS XML 文件(参见 放大的图 7
将 EPC 模型导出为 ARIS XML 文件

在本地文件系统中将输出保存为 “standby1.xml”。

将 ARIS XML 导入 IBM Process Designer

使用一个 Import 框架将 ARIS XML 文件导入 IBM BPM Process Designer 中。下一节将介绍该框架的架构和安装,将这作为一项可从 Process Portal 的 URL http://localhost:9080/portal(这里使用的本地版本是 IBM BPM V8.0)调用的任务,如图 8 所示。

图 8. 从 IBM BPM Portal 调用 Import 框架
从 IBM BPM Portal 调用 Import 框架

图 9 到图 11 中显示的屏幕要求输入一个项目名称(在 IBM BPM 术语中为 Process Application)和将创建的快捷方式、ARIS XML 文件位置,以及一些可保留默认值的布局参数。

图 9. Import 框架屏幕 1
Import 框架屏幕 1
图 10. Import 框架屏幕 2
Import 框架屏幕 2
图 11. Import 框架屏幕 3
Import 框架屏幕 3

最后,图 12 显示了包含创建的图表和相关工件的输出报告。

图 12. Import 框架导入日志
Import 框架导入日志

图 13 表明,已在经过一些调整后创建了流程,为用户任务添加了合适的指导,使用 Process Designer 配置了事件。

图 13. IBM BPM Process Designer 中的候补机票流程(请参见 放大的图 13
IBM BPM Process Designer 中的候补机票流程

导入的流程可在导入后立即执行。另外,数据结构 Booking 是基于 ARIS 模型而创建的,所以可以直接使用它来创建用户任务的指导。因为这里的重点不是使用 Process Designer 的逐步流程实现,所以图 14 显示了最初创建为 ARIS EPC 的扩展流程的回放。

图 14. 使用配置的用户界面的流程回放(请参见 放大的图 14
使用配置的用户界面的流程回放

Importing the Framework 实现描述

Framework 实现为一个 IBM BPM 8.0 流程应用程序。它使用了也能供 Process Designer 使用的内部 Java™ API 来手动构建流程图,将它们存储在 Process Center 中。该流程应用程序由一些服务组成,这些服务包含使用服务器端 JavaScript 编写并通过 Java API 方法增强的所有转换逻辑,用于将输入文件转换为内部 BPMN 表示。它们不仅可用于 ARIS 标记语言 (AML),还可用于其他格式,比如 WebSphere MQ FDL 或 XPDL。

所有服务都有一个原型状态,它们不是为生产用途而设计的。主要服务为 “lsw XML Import”,一个用户在其中提供了所有信息,比如导入格式类型和导入文件名。此服务将信息路由到正确的子服务,这个子服务是为获得每个受支持的导入格式而创建的。对于 ARIS,这个子服务称为 “lsw Import IDS Sheer ARIS Model”。

IBM BPM Java API(仅供内部使用)允许程序员创建它子集的自动化服务来获取 ARIS AML 文件并分析内容。因为 EPC 和 BPMN 有一些相同的工件,所以从 EPC 到 BPMN 的转换至少可将 AML 的大部分元素映射到一个流程图的 IBM BPM 内部表示,该表示主要由 BPMN 元素组成。清单 1 显示了 EPC 工件(在本例中为 XOR 或 OR 网关类型)与内部 BPMN 元素的映射关系。

清单 1. 处理网关示例中的 EPC 工件
if (type == "ST_OPR_OR_1") {
 tw_typeString = "COMPONENT_TYPE_GATEWAY,OR_GATEWAY_TYPE,1";
} elseif (type == "ST_OPR_XOR_1") {
  tw_typeString = "COMPONENT_TYPE_GATEWAY,XOR_DATA_GATEWAY_TYPE,-1";
} elseif (type == "ST_OPR_XOR_2") {
  tw_typeString = "COMPONENT_TYPE_GATEWAY,XOR_DATA_GATEWAY_TYPE,1";
.....

该映射逻辑首先建立数据模型,然后自上而下进行处理。这意味着首先会创建 BPMN 流程和子流程图,然后会创建通道、所有流组件,最后创建流程组件之间的所有连接。因为 ARIS 中的图表方向可能与 IBM BPM 中使用的不同,所以会执行另一个步骤来实现更好的图表布局。此操作可通过一个方法来完成,该方法接受所有组件的 X 坐标,将它们从左向右排序,然后重新链接这些连接,以实现更好的布局结果。如果所有信息都已映射,所有数据会直接存储在 Process Center 数据库中并且可供使用。无需用户执行进一步的步骤。

映射的信息可从 AML 获取,如表 1 所示。

表 1. 将 AML 映射到 BPMN 2.0
BPMN 工件使用 xpath 进行 AML 分析的抽象 Javascript 代码
流程
var processes = aml.xpath("//Group/Model[@Model.Type='MT_EEPC']")
没有 AML 信息可用,仅创建了一个默认池。
通道
var
 orgtypes = "OT_ORG_UNIT,OT_POS,OT_GRP,OT_ORG_UNIT_TYPE, 
OT_PERS_TYPE,OT_APPL_SYS_TYPE"; 
var lanes = aml.xpath("//ObjDef[" + 
"@TypeNum='"+ orgtypes.split(",").join("'  or 
@TypeNum='") + "'" + "]");
流组件
var 
arisTypes = "ST_FUNC,ST_SYS_FUNC_ACT,ST_OPR_OR_1,ST_OPR_XOR_1,
ST_OPR_AND_1,ST_EV,ST_EV_S,ST_EV_E,ST_PRCS_IF,ST_SYS_FUNC_TRG,
ST_VAL_ADD_CHN_SML_2,ST_VAL_ADD_CHN_SML_1,OT_FUNC";

var xpathSyms = "@SymbolNum='" + 
arisTypes.split(",").join("'  or @SymbolNum='") + "'"; 

var components= aml.xpath("Model/ObjOcc[" + 
xpathSyms + "]");
流组件之间的连接
var conns = aml.xpath("ObjOcc/CxnOcc");
数据模型
var
datamodels =  
  aml.xpath("Model/ObjOcc[(@SymbolNum='ST_CLST'");

结束语

本文介绍了使用 BPMN 2.0 和 ARIS XML 将 ARIS 模型导入 IBM BPM 中的两种方法。第一个选项提供了受标准产品功能支持的战略性的、基于标准的方法;第二种方法提供了一种具有最低 ARIS 工具前提条件的轻松且直接的方式。


下载

描述名字大小
Import 框架SA_XML_Import_Framework.zip5,249KB
测试工件(TWX 文件)ARIS_TestAssets_part1.zip1,662KB

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=829352
ArticleTitle=IBM Business Process Manager V8.0 中的 ARIS 模型的 BPM 生命周期,第 1 部分: 将 ARIS 模型导入 IBM Process Designer
publish-date=08062012