使用 WebSphere BPM 套件实现多模块监测

转自http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1003_lakshmanan/1003_lakshmanan.html

简介

在本文中,您将了解如何利用 IBM® WebSphere Business Modeler V6.2(此后称作 Modeler)的 可下载插件 提供的新功能来实现多模块监测。我们的插件提供了:

  • Modeler 中的监测集编辑器可用于定义监测集。监测集 包含一个或多个对应于各业务项目属性的属性,可允许用户识别共同构成一个端到端流程的不同业务流程的相应实例。
  • 您可以使用新的导出选项将项目导出,以便对一个或多个业务流程实现端到端监测。

您将了解如何使用 Modeler 的可下载插件:

  • 定义监测集。
  • 使用 Modeler 导出向导中的插件提供的 WebSphere Business Modeler End-to-End Process Monitoring 导出选项自动完成多模块监测。
  • 将代码自动生成的监测模型导入到 WebSphere Integration Developer (Integration Developer),使用 Integration Developer 中的 Business Monitor(此后称作 Monitor)监测模块编辑器 (MME) 来编辑它们,生成 Monitor J2EE 项目,将模型发布到 WebSphere Process Server (Process Server) 并通过在 Business Space 定义小组件来查看被监测的活动。

背景

在 Modeler 中创建流程和业务度量时,通常会实现两种类型的监测模型:

高级监测模型 (HMM):业务级监测模型,可从 Modeler 中导出并可在随后导入到模型编辑器中。

低级监测模型 (LMM):通过 Process Server 生成的 IT 级监测模型,可实现 Modeler 中设计的业务流程。

文章 Put new capabilities of business activity monitoring (BAM) to work, Part 6: Integrating high-level and low-level monitor models(developerWorks 2008,Miles 和 Ewan)向您介绍了如何集成一对监测模型:高级模型和低级监测模型。这些模型通过事件通信来协同作业。本文将向您介绍如何使用监测模型编辑器集成这两种监测模型:在 Modeler 中创建的高级模型以及实现 Modeler 所描述的务流程的 Integration Developer 应用程序生成的低级模型。通过这一过程,您将了解如何:

  • 创建 XML 事件定义。
  • 根据低级模型中的事件定义发送出站事件。
  • 在高级模型中接收入站事件。
  • 使用事件中的信息更新高级模型中的度量和关键绩效指标 (KPI)。

在运行时:

  1. 当特定任务 T 执行时,低级模型接收由应用程序发出的事件。
  2. 低级模型每次在任务 T 结束时都会发送一个事件。
  3. 高级模型接收低级模型发送的事件。
  4. 高级模型中的度量和关键绩效指标从事件信息中接收各自的值。

本文提供的两个 可下载插件 可自动化上述流程。使用 Modeler 中的监测集编辑器,您可以创建一个或多个监测集,并将它们绑定到一个或多个希望监测的业务项目属性。然后,您可以选择所需监测集进行监测,并选择要监测的流程组件,然后使用 Modeler 导出向导 WebSphere Business Modeler End-to-End Process Monitoring 中的新选项将它们导出。

根据监测集选择,插件会自动生成度量和 XML 事件定义,而这些定义随后又将插入到 Modeler WebSphere Integration Developer 导出选项生成的监测模型中。度量将使用低级监测模型中的监测集(恰好是业务项目属性)中的字段初始化,并且将基于高级监测模型作为入站事件接收到的出站事件中的低级监测模型。高级监测模型使用从相同端到端业务流程的不同实例接收到的度量值来组配端到端应用程序。在本文中,我们将剖析这种监测端到端流程的过程,将多个单独流程拆解为详细步骤,并通过一个极其简单的贷款应用程序业务流程(在 Modeler 中建模)来详述各个步骤。 示例项目 针对端到端监测场景提供。

安装插件

要安装插件,请执行以下操作:

  • 将所提供的 两个 JAR 文件 复制到 Modeler V6.2 安装的 \plugins 目录。如果已经将 Modeler 安装到默认位置,则这个目录应该为 C:\Program Files\IBM\WBModeler62\plugins。
  • 重新启动 Modeler。

场景概述

为了实现监测,您需要在 Modeler 中创建一个模型。该模型应该在一个端到端流程中包含了多个流程,并且业务项目将由这些流程使用。各流程还应指定要监测的值。

为了帮助您入门,我们提供了一个现成可用的贷款流程,您可以 点此处下载它。解压文件,并将 .mar 文件导入到 Modeler 中,方法是选择 File => Import => WebSphere Business Modeler Import => WebSphere Business Modeler project

导入该项目之后,打开 LoanEndToEndProcess。您应该能看到如图 1 所示的流程。


图 1. 端到端贷款应用程序流程
端到端贷款应用程序流程

端到端流程中的两个任务或流程将被监测。第三个 Review Loan And Update 流程是一个手动流程,因此未被监测。我们来看看这两个被监测的流程,即 Loan_InitiationOne 和 Loan_CompletionOne,如图 2 和图 3 所示。


图 2. Loan_InitiationOne 流程
Loan_InitiationOne 流程

图 3. Loan_CompletionOne 流程
Loan_CompletionOne 流程

注意,各流程都使用一个业务项目(在本例中为 LoanApplicationType 和 LoanType)在流程之间传递数据。我们将使用这些业务项目来创建监测集。

这时,您可能希望查看需要监测的一个或多个流程的业务度量。为此,单击该流程图的任意位置,您将在 Business Measures 视图中看到所显示的数据。图 4 显示了 Loan_InitiationOne 流程的业务度量。


图 4. Loan_InitiationOne 的业务度量
Loan_InitiationOne 的业务度量

您可以检查 Loan_InitiationOne 流程中的这些活动,以便于监测它们。Modeler 的 Export to WebSphere Integration Developer 功能将为 Loan_InitiationOne 流程监测模型中监测的各活动创建一个监测上下文。插件从低级监测模型的上下文中提取这些业务度量的值,以便实现端到端监测。我们将在 创建监测集 中详细描述这一方面的信息。对于 LoanCompletionOne 流程,业务度量应如图 5 所示。


图 5. Loan_CompletionOne 的业务度量
Loan_CompletionOne 的业务度量

注意,甚至 LoanEndToEndProcess 端到端流程也有业务度量。您不需要检查端到端流程的业务度量便可实现端到端监测。端到端流程中的各流程的监测模型可处理所有必要的监测工作。

通常,对于用户希望导入到 Integration Developer 中的 Modeler 项目中的各流程(除了端到端流程)中的每一个独立的活动,都必须选中 Business Measures 选项卡下的 Monitored Values 选项卡中的 Processing Time 复选框。除了 Processing Time 之外,您还可以选择其他要监测的值。您需要这样做以确保导出生成的最终监测模型包含相应活动的监测上下文。监测模型中的监测上下文将接收低级 BPEL 事件,并确保监测模型能接收到与这些活动相关的数据值(比如业务项目属性值)。

现在,我们来看所使用的实际业务项目,即 LoanApplicationType(图 6)和 LoanType(图 7)。


图 6. LoanApplicationType 业务项目
LoanApplicationType 业务项目

各业务项目都有一些属性,其中任何属性都可用于创建监测集。在我们创建的模型中,LoanApplicationType 的所有属性的类型都是 Text,但是您可以使用任何原始类型,比如 IntegerDate

举例来说,在 LoanType 中,我们包括了一个 Boolean 和一个 Date 属性,如图 7 所示。


图 7. LoanType 业务项目
LoanType 业务项目

启用端到端监测

在本节中,您将了解如何创建一个监测集,利用 Modeler 中的已有选项创建基本监测模型,以及使用插件新增的 WebSphere Business Modeler End-to-End Monitoring 导出选项来集成基本监测模型,以便您能够监测端到端流程。在 端到端监测特性的限制 中,我们将描述这种新导出选项的限制。

创建监测集

我们为您提供了模型和监测集,但如果您在开发自己的模型,则需要自己创建监测集。在 Modeler V7.0 中,我们计划在一个特殊的位置存放监测集,但就 Modeler V6.2 而言,您需要采用不同的方式来访问监测集编辑器。我们提供的代码可以允许您创建一个 “伪” 监测集,它具备监测集的完整功能,但必须通过普通业务项目编辑器来创建它。

如前所述,在本文中,您不需要创建监测集,因为监测集 MonitorSet_MS 已包含在项目中。但是,如果您需要创建监测集,则需要创建一个新的业务项目,方法是选择 Business items => New => Business Item,如图 8 所示。


图 8. 创建监测集
创建监测集

然后,为监测集指定一个名称,它必须以 _MSMonitoring Set 结尾,然后保存它并关闭项目编辑器。例如,监测集的名称可以是 MyMonitorSetForLoans_MS。

您可以通过以下操作来编辑监测集:

  1. 在项目树中,右键单击监测集(在本例中为 MonitorSet_MS),然后选择 Open Monitor Set Editor,如图 9 所示。

    图 9. 打开监测集编辑器
    打开监测集编辑器

    注意:

    1. 在 Modeler V7 中,我们希望允许您双击项目树中的监测集,并提供普通 Modeler GUI 来创建这类新对象。我们还希望删除任何特殊的命名限制。
    2. 我们不建议使用业务项目编辑器打开和修改 “伪” 监测集。如果执意如此,我们无法保证其结果。

    监测集编辑器将打开,如图 10 所示。



    图 10. 监测集编辑器
    监测集编辑器

    如果打开贷款场景项目提供的监测集实例,则会看到它具有如图 10 所示的绑定关联。在任何情况下,您都可以添加和删除键(编辑器左侧),以及创建或更改任何键的绑定关系(编辑器右侧)。

    AddRemove 按钮功能与您熟悉的业务项目编辑器非常类似,只是在编辑 Type 列时,您只能看到原始类型,如图 11 所示。它是监测集中的键的唯一有效类型。(注意:键的顺序没有意义。)



    图 11. 为监测集添加键
    添加键

    为确保监测集使用一致的绑定关系,需要确保以下两点:(1)任何绑定中出现的任何业务项目都必须出现在所有绑定中;以及(2)任何业务项目/属性对只可能绑定到一个键。因此,在删除绑定时,或者在第一次添加绑定时,监测集会暂时处于不一致的状态,这将由状态条中的红色消息指示。

  2. 要创建新绑定,从编辑器的主区域选择一个键,单击编辑器详细区域中的 Bind,如图 12 所示。

    图 12. 将属性绑定到监测集中的键
    将属性绑定到键

    这将打开一个向导,可帮助您选择要绑定到当前所选键的业务项目及其属性。

  3. 在第一个页面中,如图 13 所示,选择业务项目。确保它将在需要监测的流程中使用。

    图 13. 选择要绑定到监测集的键的业务项目
    选择要绑定的业务项目

    注意,如果业务项目没有正确类型的属性(换句话说,与刚才创建的监测集键相匹配的属性类型),则不会列出它。另外,如果某个业务项目有正确类型的属性,但该属性已经在监测集中完成了绑定,则不会列出业务项目。

  4. 单击 Next,然后选择要在绑定中使用的业务项目属性,如图 14 所示。

    图 14. 将业务项目的属性绑定到监测集的键
    将属性绑定到键

  5. 单击 Finish,您将在监测集编辑器中看到新绑定。
  6. 保存监测集。

导出监测模型

现在,您可以开始导出监测模型了。这需要两个步骤,涉及导出到 Integration Developer 中,然后将 fexport 集成的低级监测模型 (LMMs) 和高级监测模型 (HMM) 导出到 Integration developer。

  1. 首先,将项目导出到 Integration Developer,请右键单击项目树并选择 File => Export => WebSphere Business Modeler Export => WebSphere Integration Developer
  2. 在第一个页面中,指定希望存放导出文件的文件夹。我们建议您创建一个新文件夹。如果在 Target directory 字段中指定了一个新目录,则向导会询问您是否希望创建它。确保选中了 Export entire project and related projects,如图 15 所示,然后单击 Next

    图 15. 选择导出项目的目标目录
    选择导出项目的目标目录

  3. 在下一个页面中,接受所有默认结果,并单击 Next
  4. 在下一个页面中,选中 Export business measures as a monitor model or models,并确保选中了 Export to a single monitor model…,然后单击 Next,如图 16 所示。

    图 16. 选择将业务度量导出为监测模型或模型
    选择导出业务度量

  5. 验证导出正确无误,然后单击 Finish。导出完成后,您应该能看到两个警告,如图 17 所示。

    图 17. 导出到 Integration Developer 之后的警告
    导出后的警告

    导出项目的 Integration Developer 目录现在应该包含以下两个压缩文件(文件生成日期和时间将有所不同):

    • wfm1_62c_WeFinanceLoanModelProject_2010-01-06T11.42.53.zip
    • wfm1_62c_WeFinanceLoanModelProject_Monitor_2010-01-06T11.42.52.zip

    包含 _Monitor_ 子字符串的压缩文件夹应该包含监测模型,它使用后缀 .mm,分别针对选择导出的项目中的各个流程。除了众多文件,它应该包含以下监测模型:

    • Loan_InitiationOne.mm
    • Loan_CompletionOne.mm
    • Loan_UpdateOne.mm
    • LoanEndToEndProcess.mm
  6. 选择 File => Export => WebSphere Business Modeler Export => WebSphere Business Modeler End-to-End Process Monitoring。(注意:这是插件提供的一个新选项。)
  7. 选择步骤 2 中项目导出的目录,然后选择要监测的端到端流程(本例中为 LoanEndToEndProcess),如图 18 所示.然后,单击 Next

    图 18. 选择要导出的端到端流程
    选择要导出的端到端流程

    注意:如果此目录包含超过两个压缩文件,或者超过一个包含子字符串 _Monitor_ 的 Zip 文件,则导出将以失败告终。
  8. 在下一个页面中,选择将要使用的监测集(在本例中为 MonitorSet_MS),如图 19 所示,然后单击 Finish。

    图 19. 选择要导出的监测集
    选择要导出的监测集


端到端流程监测功能的工作原理

完成上一节中的步骤之后,插件提供的端到端监测特性会将包含 _Monitor_ 子字符串的压缩文件夹解压到指定的目标目录。这个压缩文件夹应该包含所执行的 Integration Developer 导出中的监测模型。

对于所选监测集中的各个 k 键,代码将确定将哪些业务项目属性绑定到它。对于这些属性,代码将确定哪些输入和输出流程,并创建一个独立流程列表,以确保排除端到端流程。对于各流程,代码将定位并打开相应的监测模型文件 (suffix .mm) 并插入一个度量和一个出站事件,作为流程输入或输出的业务项目属性的有效载荷,并确保哪些需要绑定到所选监测集的 k 键。

此外,对于各出站事件,代码将在端到端流程之后指定的高级监测模型中创建一个入站事件,并定义一个关联度量,用于将从端到端流程中的不同流程的低级监测模型接收到的入站事件的有效载荷关联在一起。通过比较从不同监测模型(监测端到端流程的部分)接收到的这些度量的值,高级监测模型将能够识别相同端到端流程的相应实例。代码还将为入站/出站事件创建一个 XML 事件定义,并将它保存到 ModelOutboundEvent.XSD 文件中。

举例来说,在本文提供的示例贷款项目中,监测集 MonitorSet_MS 包含 LoanID 键,该键映射到 LoanApplicationType 业务项目的 LoanId 属性,同时还映射到 LoanType 业务项目的 LoanID 属性。 LoanApplicationType 将由 Loan_InitiationOne 流程引用,而 LoanType 将由 Loan_CompletionOne 流程引用。因此,WebSphere Business Modeler 端到端流程监测导出选项将插入一个出站事件和度量到 Loan_InitiationOne 流程的监测模型。

清单 1 显示了来自 Loan_InitiationOne_Mon.mm 的出站事件的 XML。


清单 1. Loan_InitiationOne 流程的监测模型中的出站事件
				

在清单 2 中,度量 LoanId 将通过 expression 字段进行初始化,该字段指示可以找到 LoanId 值的监测上下文中的位置。出站事件(清单 1 中的)将这个值发送给高级监测模型。如清单 2 所示,ReceiveLoanApplication 是 Loan_InitiationOne 流程中的一个活动。


清单 2. 插入的度量,带有效负荷,在 Loan_InitiationOne 流程的监测模型中
				

代码还将出站事件和度量插入到 LoanCompletionOne 流程的监测模型中(在本例中为 Loan_CompletionOne_Mon.mm)。出站事件到达高级监测模型,其中包含一个度量值,该值是高级监测模型关联端到端流程的相同实例所必不可少的。清单 3 显示了这个插入的出站事件。


清单 3. Loan_CompletionOne 流程的监测模型中的出站事件
				

在清单 4 中,度量 LoanID 将通过 expression 字段进行初始化,该字段指示 Loan_CompletionOne 监测模型在监测上下文中的位置,其中可以找到 LoanID 值。 度量 expression 字段中的 VerifyRiskOfficerInvolvement 是 Loan_CompletionOne 流程中的一个活动。出站事件(参见清单 3)将来自 Loan_CompletionOne 流程的监测模型的这个度量值发送给高级监测模型。


清单 4. Loan_CompletionOne 流程的监测模型中插入的 LoanID 度量
				

清单 5 显示了出站事件的事件定义,它是由插件代码自动创建的。此事件定义将保存在 ModelCorrelationEvent.XSD 文件中。


清单 5. 出站事件的 XML 定义。
				

如清单 6 所示,高级监测模型 LoanEndToEndProcess_Mon.mm 将接收两个入站事件,一个来自 Loan_InitiationOne 的低级监测模型,另一个来 Loan_CompletionOne 的低级监测模型。


清单 6. 高级模型中从低级监测模型接收到的两个入站事件
				
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|

如清单 7 所示,高级监测模型将使用从 Loan_InitiationOne 和 Loan_CompletionOne 监测模型接收到的 LoanID 度量的值来初始化一个本地度量 LoanID。高级监测模型将比较接收到的度量,如果它们相同,则本地度量为真。


清单 7. 从低级监测模型接收到的度量值
				

插件代码在高级监测模型中插入了一个布尔度量,以显示 HMM 是否接收到任何入站事件。对于贷款场景,代码定义了一个布尔度量,用于显示 HMM 是否从 Loan InitiationOne 监测模型接收到了一个入站事件,以及另一个布尔度量,用于显示 HMM 是否从 Loan_CompletionOne 监测模型接收到了一个入站事件。清单 8 显示了插入的 XML。


清单 8. 显示 HMM 接收传入事件的布尔度量
				

输出文件

完成导出之后,代码将创建一个新的压缩文件夹(其名称包含子字符串 EndToEndMonitor),其中包含经过修改的现在支持端到端监测的监测模型,以及 Integration Developer 导出创建的原始文件集。图 20 显示了 WebSphere Business Modeler End-to-End Monitoring 导出完成后的目标文件夹的一个示例(您的日期和时间后缀会有所不同)。我们还在本文的 下载 中提供了这些压缩文件夹。


图 20. 端到端监测导出后的目标目录
导出后的目标目录

端到端监测特性的限制

插件提供的端到端监测特性具有一些限制。目前,它仅支持单一监测集的监测。虽然这个监测集可以有多个键,但每个键必须绑定到引用相同业务流程的业务项目属性。这是必不可少的,因为我们当前未提供定义监测集键之间或者甚至不同监测集之间的关系的功能。我们正在研究定义高级业务流程关联模型的功能。


Integration Developer 中的监测

现在,您可以开始编辑和部署 Integration Developer V6.2 中的监测模型。我们测试了 WebSphere Integration Developer 对监测模型生成的支持,以及 WebSphere Process Server 上的 WebSphere Business Monitor 配置文件。

将项目导入到 Integration Developer

现在,您需要将 下载 中提供的两个项目交换文件导入到工作空间中。Integration Developer 要求您首先依次导入模型交换文件夹和监测交换文件夹。

  1. 在 Integration Developer 中,选择 File => Import
  2. Select and import source 字段中指定 inter,或者在深层次中找到 Project Interchange,如图 21 所示,然后选择 Project Interchange 并单击 Next

    图 21. 将 Modeler 项目导入到 Integration Developer
    导入 Modeler 项目

  3. 在下一个页面中,浏览到下载的模型交换压缩文件,并选中它,如图 22 所示(时间戳会有所不同)。此时将显示这些文件夹的列表。单击 Select All,然后单击 Finish

    图 22. 选择要导入的文件夹
    选择要导入的文件夹

  4. 等待直到导入完成,并导入 EndToEndMonitor 项目交换压缩文件,如图 23 所示(时间戳会有所不同)。

    图 23. 选择要导入的 EndtoEndMonitor 项目
    选择要导入的项目

  5. 工作空间已经创建。完成这一步后(也只能在这一步之后),建议 “清理工作空间”。为此,选择 Project => Clean => Clean all projects,然后单击 OK。这将重建工作空间。在继续之前,请等待工作空间构建完成,这一点非常重要。选择 Problems 选项卡,查看工作空间中是否存在任何错误。如果遇到构建错误,请参阅 故障排除 获取帮助。

    成功导入项目交换文件之后,视区中的工作空间应该如图 24 所示。



    图 24. 导入后的 Integration Developer 工作空间
    导入后的工作空间

  6. 接下来,我们将做一些建议的更改。打开 Loan_InitiationOne 流程,并在 Properties 视图的 Details 部分中,将 Automatically delete the process after completion 更改为 No。这将允许您在工作流程成功完成之后检查 Business Process Choreographer Explorer 中的流程实例。
  7. 切换到 Properties 视图的 Event Monitor 选项卡, 如图 25 所示,并确保已经启用事件,事件采用 XML 格式且支持模式,以及为整个流程及各监测的活动发送了适当的 Common Event Infrastructure (CEI) 事件(Event Monitor)。

    图 25. Properties 视图中的 Event Monitor 选项卡
    Event                             Monitor 选项卡

  8. 对 Loan_CompletionOne 流程重复步骤 6 和 7。
  9. 从 Modeler 中导出的 BPEL 工作流程还不能运行。要成功执行,它们必须提供一些服务供程序调用。我们并未实现 Web 服务,而是使用简单的 Java™ 实现,它可直接关联到 BPEL 工作流程。
  10. 为此,选择 wfm1_62c_WeFinanceLoanModelProject_impl => Assembly Diagram 并右键单击中间流组件中的 Reference Partner 端口,它们代表服务(如 VerifyRiskOfficerInvolvement),然后选择 Wire References to New => Components。这将创建一个新的无类型引用组件,即 ReferencePartner。
  11. 要实现该组件,双击它并选择 OK。在出现的对话框中,从实现类型列表中选择 Java,选择 Default Implementation,然后单击 OK。 此时将打开一个新的编辑器,其中包含 Java 代码。
  12. 在编辑器中,可以看到如图 26 所示的 InputCriterion(DataObject input) 方法。如果这个方法返回 void,则不需要做出更改,但如果它返回 DataObject,则可以将最后一行从 return null; 更改为 return input;
  13. 如果希望确定该方法将于何时在服务器日志文件中调用,还可以添加以下内容: System.out.println("VerifyRiskOfficerInvolvement method called")

    图 26. VerifyRiskOfficerInvolvement 活动的 BPEL 工作流程的 Java 实现中的 InputCriterion() 方法
    InputCriterion() 方法

  14. 对集合图中的各服务组件重复步骤 10-13。或者,您也可以选择定义自己的服务实现,但 StoreComment 不在此列,它是 Loan_UpdateOne 流程的一部分。

    现在,您的服务实现已经就绪,并且您可以开始部署工作流程并使用它们。

生成 J2EE

定义 BPEL 工作流程之后,您需要在服务器上部署监测模型。在 Integration Developer Business Monitoring 视区中,您应该能看到两个监测模型(Loan_InitiationOne 和 Loan_CompletionOne)以及一个高级监测模型 (LoanEndToEndProcess)。您可以忽略 Loan_UpdateOne 的检测模型,它是一个手动流程。

  1. 右键单击各监测模型文件(除 Loan_UpdateOne 之外),然后选择 Generate Monitor J2EE Projects,如图 27 所示。

    图 27. 生成 Monitor J2EE 项目
    生成 Monitor J2EE 项目

  2. 如果监测服务器尚未启动,则在 Servers 视图中启动它,如图 28 所示。

    图 28. 启动 Monitor 服务器
    启动服务器

  3. 启动服务器之后,右键单击服务器并选择 Add and Remove Projects,以添加项目。
  4. 在出现的对话框中,选择所有模块,包括 wfm1_62c_WeFinanceLoanModelProject_implApp 和 wfm1_62c_WeFinanceLoanModelProject,并单击 Add,如图 29 所示。

    图 29. 将项目发布到服务器
    发布项目

  5. 现在,您可以开始运行工作流程并监测它们。运行工作流程以便查看贷款流程监测状态的最简单的方法是使用 Business Process Choreographer Explorer。要打开 Choreographer,在您的 Web 浏览器中键入其 URL,通常为 https://localhost:9444/bpc/faces/pages/Login.jsp。
  6. 要启动工作流,请单击左侧的 Process Templates,并检查要运行的流程模板,如图 30 所示.

    图 30. Business Process Choreographer 中的流程模板
    流程模板

  7. 选中 Loan_InitiationOne 并单击 Start Instance
  8. 提供输入参数,比如 455 作为 LoanID,并单击 Submit,如图 31 所示。

    图 31. 提交 Loan_InitiationOne 以便执行
    提交                             Loan_InitiationOne

  9. 对 Loan_CompletionOne 流程模板重复步骤 7 和 8,如图 32 所示。

    图 32. 提交 Loan_CompletionOne 以便执行
    提交                             Loan_CompletionOne

定义监测的业务空间

在工作流程的运行过程中,您可以使用 Business Space 中的监测小组件来查看它们的状态。

  1. 打开 Business Space,这需要在浏览器中输入正确的 URL,通常为 https://localhost:9444/BusinessSpace/login.jsp。
  2. 如图 33 所示,创建一个名称为 TestMonitoring 的业务空间,并为以下功能添加新页面:
    • 监测贷款初始化 (MonitorLoanInit)
    • 监测贷款完成(MonitorLoanDone)
    • 监测端到端贷款流程 (MonitorLoanEndToEnd)


    图 33. 查看被监测事件的新业务空间
    新业务空间

  3. 在各页面上添加两个小组件,分别针对 Instances 和 Diagrams,并配置它们,如图 34 所示。

    图 34. 配置业务空间中的 Loan_InitiationOne 小组件
    配置 Loan_InitiationOne

  4. 要为 Loan_InitiationOne 配置 Instances 小组件,请选择相应的监测模型 Loan_InitiationOne 并单击 Set as default,然后选择所有要显示的可用列。在 Wiring 选项卡中,单击 Enable this widget to send events over wires,然后单击 Apply 并单击 OK
  5. 要配置 Diagrams 小组件,请选择 Loan_InitiationOne 作为 Monitoring Context, 如图 35 所示,然后单击 ApplyOK

    图 35. 选择要显示的图
    选择要显示的图

现在,您应该能够打开 MonitorLoanInit 和 MonitorLoanDone,其中可看到在 Business Process Choreographer Explorer 中运行的流程 Loan_InitiationOne(图 36)和 Loan_CompletionOne(图 37)的实例,以及它们的 LoanIDLoanId


图 36. Loan_InitiationOne with LoanId = 455 实例成功运行
成功 1

图 37. Loan_CompletionOne with LoanID = 455 实例成功运行
成功 2

最后,您可以看到端到端流程监测。打开创建的小组件,开始监测端到端贷款流程,如图 38 所示。


图 38. HMM 检测到 LoanID = 455 的端到端流程
检测到 LoanID = 455 的端到端流程

使用 Integration Developer 监测模型编辑器进行可选定制

使用 Integration Developer 中的监测模型编辑器 (MME),您可以选择性地在各监测模型中定制可视模型(例如更改度量值载入时的颜色),如图 39 所示。


图 39. 在监测模型编辑器中编辑可视模型
编辑可视模型

举例来说,您可以根据所执行的流程来更改 Loan_InitiationOne 和 Loan_CompletionOne 活动框的颜色,其属性在树的 fill color 叶中指定,如图 39 所示。您可以始终将通过业务空间的事件接收到的度量值显示为文本。通过编辑各监测模型中的可视模型,您可以启用业务空间小组件中的图中的活动,以更改监测信息时的颜色和/或显示文本。

图 39 中的定制结果将显示在 Business Space 中,如图 40 所示。活动将变为橙色,并且 LoanID 度量值将在检测到 LoanID = 222 的贷款应用程序实例时显示。


图 40. Business Space 中显示的定制结果
定制结果

故障排除

如果未在高级监测模型中看到流程实例(在 Business Space 的 MonitorLoan 页面中),请检查来自 Loan_InitiationOne 和 Loan_CompletionOne 监测模型的事件。为此,打开 Common Base Event Browser(通常为 https://localhost:9044/ibm/console/cbebrowser/),单击 GetEvent,选择 Creation Time Date 范围并单击 Get Events

在 WebSphere Integrated Solutions Console 中启用事件记录

确保 WebSphere Integrated Solutions Console 启用了事件记录。要完成此任务:

  1. 选择 Applications => Monitor Services => Recorded Events Manager,如图 41 所示.

    图 41. 使用 Integrated Solutions Console 执行故障排除
    使用 ISC 执行故障排除

  2. 选择 Events Management 选项卡,并选中 Enable event to be recorded
  3. 将事件导出到 XML,以确定低级监测模型是否在接收和发送事件。在 Web 浏览器或文本编辑器中打开导出的 XML 文件,并确定是否发送了预期的事件。
  4. 如果重复运行流程,那么您可能会希望删除旧实例,以简化测试过程。为此,打开 Integration Developer 管理控制台,通常为 https://localhost:9044/ibm/console/secure/securelogon.do。
  5. 选择 Applications => Enterprise Applications 查看流程,如图 42 所示。要删除旧流程实例,请选择中并单击 Uninstall。系统将提示确认,然后单击 Save

    图 42. Integration Developer 管理控制台
    Integration Developer 管理控制台

潜在错误

从 Modeler 导入项目文件到 Integration Developer 中时,您可能会在 LoanEndToEndProcess_Mon.mm 中发现一个编译器错误。该错误是在从 Modeler V6.2 向 Integration Developer V6.2 导入项目时发生的。该错误位于 monitoringContextdisplayNameLoanEndToEndProcess)标记中,并且会影响属性 eventSequenceIDPath。 如果遇到此错误,请尝试删除这个属性和它的值,然后重新编辑工作空间,方法是从 Project 菜单中选择 Clean => Clean All Projects


结束语

在本文中,您了解了如何使用单一监测集实现端到端监测。您还了解了如何自动生成高级监测模型,它可以关联从低级监测模型接收到的事件,以便使用在监测集中指定的键将它们组配成端到端流程。

下面是 Modeler 中的步骤概述:

  1. 从 Modeler 中的贷款应用程序项目开始,将它导出到 Integration Developer。
  2. 然后,定位到包含导出文件的文件夹,并使用插件 WebSphere Business Modeler End-to-End Process Monitoring 特性再次将它们导出到 Modeler 中。

    现在,目标目录中已经有三个压缩格式的文件夹,其中一个在名称中包含 EndToEndMonitor,其中包含插入了代码以支持端到端监测的监测模型。

  3. 将以下两个压缩文件导入到 Integration Developer 中:
    • wfm1_62c_WeFinanceLoanModelProject_.zip
    • wfm1_62c_WeFinanceLoanModelProject_EndToEndMonitor_.zip
  4. 在 Integration Developer 中,确保项目文件正确编译且没有错误,然后切换到 Business Integration 视区并为项目中的所有活动定义一个 BPEL 实现(除手动流程 LoanUpdate 之外)。然后,为 Loan_InitiationOne、Loan_CompletionOne 和 LoanEndToEndProcess 监测模型生成 Monitor J2EE 文件,并将它们发布到 Monitor 服务器。
  5. 在 Business Process Choreographer 中,启动一个 Loan_InitiationOne 和 Loan_CompletionOne 实例,指定所需的 LoanID。
  6. 在 Business Space 中,定义小组件,用于查看三个监测模型所监测的事件,并验证 LoanEndToEndProcess 高级模型从 Loan_InitiationOne 和 Loan_CompletionOne 低级模型接收到了事件,并且能够使用从它们接收到的 LoanID 来组配一个相同的端到端贷款流程实例。

 

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

转载于:http://blog.itpub.net/14789789/viewspace-664874/

Business Process Management:Modeling through Monitoring Using WebSphere V6.0.2 Products Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix The team that wrote this IBM Redbooks publication . . . . . . . . . . . . . . . . . . . . xx Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii August 2007, Second Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Changes in the business model (WebSphere Business Modeler) . . . . . . xxiii Changes in the implementation (WebSphere Integration Developer) . . . . xxiv Addition of the Monitor Toolkit (WebSphere Integration Developer) . . . . . xxiv Changes in deployment (WebSphere Process Server) . . . . . . . . . . . . . . xxiv Changes in monitoring (WebSphere Business Monitor) . . . . . . . . . . . . . . xxiv Part 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Business process management . . . . . . . . . . . . . . . . . . . . . . . . . 3 What is a business process? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 What is business process management?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Benefits of BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Information about business process management . . . . . . . . . . . . . . . . . . . . 5 IBM business process management solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Business performance management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 IBM business process management products . . . . . . . . . . . . . . . . . . . . . . . 8 Service-oriented architecture (SOA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Benefits of SOA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 IBM SOA foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 IBM BPM solution on the SOA foundation . . . . . . . . . . . . . . . . . . . . . . . . . 11 Service Component Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Service Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Information about SCA and SDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 More on business performance management . . . . . . . . . . . . . . . . . . . . . . . . . 13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 2. Product overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 WebSphere Business Modeler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Complete and robust process modeling tool . . . . . . . . . . . . . . . . . . . . . . . . 17 …… …… …… Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值