您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
使用IBM WebSphere Lombardi Edition建模业务流程(一)
 
作者 Xi Ning Wang、Lei (Joyce) He、Liu Yu,火龙果软件    发布于 2014-09-28
   次浏览      
 

在本系列文章中,您将学习如何通过 WebSphere Lombardi Edition V7.1,使用一个示例购买订单场景建模端到端业务流程。第 1 部分将概述 Lombardi 的功能和架构。

概述

WebSphere Lombardi Edition Version 7.1(以下简称 Lombardi)提供了一个灵活的平台来快速实现和改进您的业务流程应用程序

Lombardi V7.1 是一款完善的 BPM 产品,为公司提供了持续改进其端到端业务流程的能力。借助 Lombardi,团队可构建、管理和优化安排人机协作和系统交互的流程应用程序。

本文将概述 Lombardi 产品及其架构。本系列中的后续文章将介绍基本和高级的流程建模、Coach、监视和报告,以及模拟和优化。我们将使用一个购买订单流程作为整个系列中的场景。

概念

业务流程是一个活动集合,旨在生成针对某个特定目标的具体输出,它同时涉及到人类和系统交互。业务流程高度关注工作在组织内的执行方式,这与产品的关注点不同。流程是在不同时间和地点发生的工作活动的一种特定顺序,具有开始、结束以及明确定义的输入和输出:一种操作结构。
业务流程建模符号 (Business Process Modeling Notation, BPMN) 是一种绘制业务流程的图表标准。它是一种业务用户能够理解的格式,因为它就像一个流程图,用户无需太多培训即可掌握如何使用它,此外,参与流程的任何 IT 人员都能够理解它。BPMN 的目标是支持由技术用户和业务用户进行业务流程管理 (BPM),它提供了一种对业务用户而言非常直观,但仍然能够表示复杂的流程语义的符号。Lombardi V7.1 是第一批支持 BPMN 的 BPM 平台之一。

Lombardi V7.1 兼容所有重要的 BPM 相关标准,它的设计工具提供了一个遵从 BPMN 的流程建模环境。

架构

Lombardi 是基于 Eclipse 的开发工具,基于 Web 的用户门户和仪表板以及一个通用运行时平台的集成集合。这些技术提供了设计、模拟、规则定义、流程执行和交互、监视和优化功能。Lombardi 中的主要透视图支持从设计到模拟、部署、监视和优化的所有活动,这些透视图共用一个名为 Shared Model 的通用存储库,如图 1 所示。

图 1. Shared Model

Lombardi 包含以下组件,如图 2 所示,图 2 演示了一种典型的 Lombardi 配置。对于不同的开发和部署阶段,可在多个暂存、测试和生产环境中安装 Process Server 和 Performance Data Warehouse,这些环境由 Process Center 集中控制。

1.Process Center

Process Center 为在 Process Center Console 及 Lombardi Authoring Environment 中的其他界面上工作的多位流程作者提供了一个中央开发环境和存储库。它包含一个 Process Center Server 和一个 Performance Data Warehouse,支持您构建和运行流程应用程序,以及在开发期间针对测试和回放用途而存储性能数据。

2.Process Server

Process Server 执行在 Lombardi Authoring Environment 中构建、存储在 Process Center 存储库中、然后安装在一个运行时环境中的流程和服务。

3.Performance Data Warehouse

Performance Data Warehouse 依据在 Lombardi Authoring Environment 中建立的跟踪需求来收集和聚合流程数据。

图 2. Lombardi 组件

以下组件构成了流程建模和管理界面:

1.Authoring Environment

Lombardi Authoring Environment 包含多个界面,支持流程作者建模、实现、模拟和检查业务流程。Authoring Environment 用户可创建流程应用程序中的流程模型、服务和其他资产。

2.Process Center Console

从 Process Center Console,您可以创建流程应用程序和工具包,授予其他用户访问它们的权限。Process Center Console 可帮助您管理和维护 Lombardi 存储库,包括管理流程应用程序、工作区和快照。它还支持在运行时环境中的 Process Server 上安装流程应用程序。

3.Process Admin Console

Process Admin Console 所提供的界面支持管理员在任何已配置的运行时环境(比如暂存、测试或生产环境)中配置和维护 Process Server。它还支持管理员配置和维护 Process Center Server。

4.Performance Admin Console

Performance Admin Console 提供的界面支持管理员在任何已配置的运行时环境(比如暂存、测试或生产环境)中配置和维护 Lombardi

Performance Data Warehouse。它还支持管理员配置和维护 Process Center 中包含的 Performance Data Warehouse。

5.Process Portal

Process Portal 提供的界面支持流程参与者执行所分配的任务,查看任务历史,以及查看其流程和团队的绩效。使用 Process Portal,流程参与者可连接到任何已配置的运行时环境(比如暂存、测试或生产环境)中的 Process Center Server 或 Process Server。

使用 Authoring Environment 建模流程

Lombardi 为流程开发提供了一个基于 Eclipse 的平台。要开始使用 Authoring Environment 执行业务流程建模,可执行以下步骤:

选择 Start => IBM WebSphere Lombardi Edition 7 => Start Servers 启动服务器。要打开 Authoring Environment,请选择 Start => IBM WebSphere Lombardi Edition 7 => Lombardi Authoring Environment。默认登录用户帐户和密码均为 tw_admin。

第一次启动 Authoring Environment 时,它会打开到 Process Center Console,这使您能够创建和管理流程应用程序,在测试和生产服务器上安装快照,并执行其他任务。

单击 Process Apps 选项卡,然后选择 Create New Process App,如图 3 所示。

一个流程应用程序的缩写必须是惟一的,并且不得超过 7 个字符。Lombardi 使用该缩写作为流程应用程序和它所包含的库项的标识符。例如,当使用 Lombardi JavaScript API 操作流程应用程序中的项时,您可以使用该缩写指定这些项的命名空间。

在 Create New Process App 对话框中,输入您的流程应用程序的一个名称(例如 Purchase Order Process)和一个缩写(例如 POPROC)。您也可以提供一段可选地描述。可以在 Process Center Console 中查看该描述,只需单击流程应用程序名称旁边的问号即可。

图 3. 在 Authoring Environment 中创建新流程应用程序

本系列的第 2 部分将详细介绍如何在 Authoring Environment 中建模业务流程。

创建业务流程定义 (BPD)

当在 Authoring Environment 中建模流程时,您首先会创建一个业务流程定义 (BPD),如图 4 所示。BPD 是一个流程的一种可重用模型,定义该流程模型的所有运行时实例的通用部分。

图 4. 业务流程定义

构建 Human 服务

当您希望 BPD 中的一个步骤创建可供流程参与者在基于 Web 的用户界面中执行的交互式任务时,可以构建一个 Human 服务,如图 5 所示。当构建 Human 服务时,您会包含一些 Coach,它们是基于 Web 的表单,用于向用户提供流程相关数据和收集来自这些用户的输入。Coach 使您能够轻松添加标准的字段和控件,比如单选按钮、下拉菜单等。

您在 Lombardi 中构建的 Ajax 服务会陆续绑定到 Coach 控件,以执行一些功能,比如自动填充下拉列表和在输入字段中启用提前键入功能。可以使用一个 Ajax 服务来从一个连接的数据源(比如数据库)动态拉取数据。

图 5. 创建 Human 服务

构建 Integration 服务

当您希望集成一个外部系统来完成任务时,可以构建一个 Integration 服务,如图 6 所示。例如,您可以构建这样一个 Integration 服务,它调用一个 Web 服务来执行某种业务逻辑。Integration 服务是惟一可包含 Web 服务集成和 Java? 集成组件的服务。

当您希望编排其他后台服务,操作变量数据,为 Coach 生成 HTML,或者执行其他不需要任何集成或业务规则的操作时,可以使用 General System 服务。General System 服务可以直接从一个 BPD 或 Human 服务调用。General System 服务只能包含基本的服务组件(比如脚本),不能包含 Coach 或集成组件(Web 服务集成或 Java 集成)。General System 服务可嵌套在任何其他类型的服务中。

可通过外部活动来创建包含由 Lombardi 外部的系统处理的活动的 BPD。例如,您可以使用 Lombardi Web API 构建一个自定义应用程序来在 BPD 中执行一个活动或步骤。

Undercover Agent (UCA) 通过一个事件启动,这个事件既可能通过一条消息触发,也可能按照特定的时间表执行。当一个 UCA 启动时,它调用一个 Lombardi 服务来响应该事件。当您在 BPD 中包含一个消息事件时,您必须将一个 UCA 附加到该事件来调用指定的服务。例如,当从外部系统收到一个消息事件时,需要一个 UCA 调用恰当的服务来响应该消息。

您可以创建并发布一个 Web 服务来使外部应用程序能够发起一个特定的 Lombardi 服务或一组服务。使用 SOAP 集成,外部应用程序也可以调用 Web 服务。

图 6. 创建 Integration 服务

构建 Rule 服务

当您想要一个条件来确定调用何种实现时,可以使用 Rule 服务,如图 7 中所示。例如,当某个条件计算结果为真时,Lombardi 实现您提供的一个 JavaScript 表达式。Rule 服务不能直接包含 Java 或 Web 服务集成。您可以从任何其他类型的服务调用 Rule 服务,Rule 服务也可以调用其他嵌套的服务。关键绩效指标 (KPI) 是 Lombardi 在流程运行时跟踪的度量指标,您可以使用它们存储的结果在 Optimizer 中分析流程和任务性能。

服务水平协议 (SLA) 可基于标准和自定义 KPI 而创建。SLA 可帮助您为一个或多个触发某种后果的活动建立一个条件。当运行您的流程实例时,只在关联的活动启动或完成时才会触发 SLA 后果。

图 7. 创建 Rule 服务

管理外部文件

Lombardi 支持向流程应用程序添加外部文件,包括图像、样式表、JAR 文件等。所有这些项目资产都包含在 Process Center 存储库中。当向您的流程应用程序添加这些文件,确保在您的项目已准备好可以进行测试或生产时,所有需要的资产都已可用并且已经安装好。

通过工具包实现重用

工具包是一个由库项组成的集合,这些项可跨 Lombardi Authoring Environment 中的多个流程应用程序使用。Lombardi 支持流程开发人员通过工具包在流程应用程序内和跨流程应用程序重用现有工件。例如,如果您知道一些已有的服务包含其他开发人员所需的 Coach 和其他库项,您可以通过在一个工具包中包含这些项来访问和重用它们。然后,从您的流程应用程序,您可以添加对库项所在的工具包的一个依赖关系。这使您在选择一个活动的实现时,可挑选一个现有的服务。工具包中的各项也可供在不同流程应用程序中工作的其他开发人员使用。

Authoring Environment 用户可创建工具包的依赖关系,以便重用其中的项目。在更新工具包项后,现有的依赖关系会显示有更新可用。
多个工具包中的库项可在其他工具包以及流程应用程序之间共享。

创建工具包

要创建工具包,请执行以下操作:

单击 Toolkits 选项卡,然后单击 Create New Toolkit,如图 8 所示。

图 8. 创建新工具包

在 Create New Toolkit 对话框中,输入您工具包的名称和缩写。

要在工具包中创建库项或执行其他编辑,可以单击 Open in Designer。

System Data 工具包

在 Lombardi 安装期间,会将 System Data 工具包导入 Process Center 存储库。您创建的每个流程应用程序和工具包都会自动包含一个 System Data 工具包依赖关系,以便您可以访问所有 Lombardi 项目所需的资产,比如标准变量类型、标准报告图表等。您无法编辑或更改 System Data 工具包中的库项,但可以打开该工具包并查看其中的项。

场景概述

在本系列中,我们将使用一个典型的购买订单流程业务场景,演示如何使用 Lombardi V7.1 来建模和运行业务流程。如图 9 所示,购买订单流程由来自购买部门的购买者依据实际库存和消耗情况而发起。当购买者输入订单时,该流程就会触发。当该流程启动时,系统会向负责确认订单的提供商发送一则通知。

图 9. 购买订单流程

提供商可通过一个基于 Web 的用户界面来响应订单,如下所示:

1.提供商可直接接受订单,而不进行任何更改。在此情形下,购买者无需重新确认订单。

2.提供商可接受订单,并通过填写一个 “Order Change” 来更改商品的数量和单价。在此情形下,购买者需要在生成此订单前重新确认它。

3.提供商可由于价格问题或商品脱销而拒绝订单。在此情况下,订单会是无效的,而系统会向购买者发送相关通知。

4.在接受订单的情形下,如果提供商提高了商品单价,系统需要通知购买者重新确认更新的订单。这次确认会带来以下结果之一:

5.如果购买者接受更新的订单,系统会自动生成最终的购买订单。

6.如果购买者不接受更新的订单,系统会将相关通知发送给提供商,购买订单流程停止。

否则,购买者不需要确认订单,系统会自动生成正式的购买订单。

生成订单子流程

正式购买订单的生成是一个嵌入到主要购买订单流程中的一个子流程,如图 10 所示。从上述购买订单流程收到最终的购买订单后,该子流程发起以下任务:

1.计算订单商品的最终总价格。

2.为订单选择一家送货商。

3.安排送货时间。

4.向购买者和提供商发送通知。

图 10. 生成订单子流程

定义业务数据类型

可以使用变量来采集在一个流程中的不同步骤间传递的业务数据。当在 Lombardi 中开发业务流程定义时,您应该在设计阶段花时间创建 BPD 的数据模型。

在我们的 Purchase Order 场景中,定义了一个重要的数据类型 Order 来描述购买订单。变量类型 Order 包含两个参数:orderHead(基数为 1)和 orderDetail(它是一个 List)。OrderHead 和 OrderDetail 变量类型和参数如表 1 和表 2 所示。

表 1. 变量类型:OrderHead

表 2. 变量类型:OrderDetail

结束语

本文简单概述了 WebSphere Lombardi V7.1,包括它的架构、组件和功能。在第 2 部分中,您将学习如何通过 Lombardi 使用一个购买订单场景来为流程建模。

   
次浏览       
相关文章

多维方法来开发有机的业务流程架构
SCA 应用程序开发
BPM 和 SOA 性能最佳实践
实现企业服务总线模式
相关文档

SCA介绍及应用实例
基于SOA架构的ESB平台:Infomagic
SCA架构
SOA的基本概念
相关课程

面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]

基于SOA的工作流(WF)整合
SOA 100问 - 问与答
SOAP 应用模式:处理与性能
ESB架构之企业实施案例
基于SOA架构的企业集成系统
基于SOA的体系架构设计
更多...   


面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践


某第三方电子支付企业 SOA架构设计
某电子企业 SOA应用
中国移动 SOA培训
北京大学 SOA架构设计实践
友邦保险 SOA架构设计
上海 SOA架构实践
山东移动通信 SOA体系结构实践
更多...