内容


如何监视 System z 业务流程

Comments

引言

业务流程模型由许多业务流程组成,这些流程经过编排以说明流程流,其中包括决策、基于那些决策的流、人工交互等等。业务流程模型通常从它们在 IBM® WebSphere® Business Modeler 中的创建开始。或者,它们可能已在 Visio 关系图、FileNet® P8 关系图或其他来源的关系图中进行了说明,然后被导入 WebSphere Business Modeler 以进行更改、优化或继续开发。在任何一种情况下,都将采用业务流程执行语言(Business Process Execution Language,BPEL)将模型从 WebSphere Business Modeler 导出到 IBM WebSphere Integration Developer,在其中进行面向服务的体系结构(service-oriented architecture,SOA)服务组装,然后导出(同样采用 BPEL)到 WebSphere Process Server 以进行运行时部署。

部署流程模型之后,您可以使用 IBM WebSphere Business Monitor 监视 System z™ 业务流程,IBM WebSphere Business Monitor 是一个全面的业务活动监视产品,可以提供业务性能的最新视图。个性化的业务仪表板处理业务事件和数据,同时还计算关键性能指标(key performance indicator,KPI)和度量。WebSphere Business Monitor 是基于事件监视的概念构建的,事件监视是对表示状态更改的系统生成事件的监视。此类监视也称为业务活动监视

业务活动监视缩短了重大业务事件与组织中的恰当人员接到通知之间的延迟周期。该人员可以通过电子邮件、传呼机和 SMS 消息实时接收到通知。当接到关键通知时,该人员可以指示业务分析人员基于接收到的信息更改流程流,以及对市场事件和意外情况做出反应。例如:

  • 诸如能源、公用事业和通信等垂直行业可以使用业务活动监视来检测紧急情况和供需失衡情况。
  • 卫生保健企业可以接到有关 HIPAA 遵从性错误、疫情暴发检测或查找丢失或污染血液的警报。
  • 金融服务业可以通过监视使用特定信用卡号的地理位置来进行欺诈检测。

但愿这些简要的示例能够使您初步了解业务活动监视的潜在好处。

充分利用本文

为了完全理解本文,您需要具备 WebSphere Integration Developer 工具和 WebSphere Business Monitor Toolkit 的一些知识。这将帮助您了解如何创建公共基础事件,创建和配置监视器模型,以及执行单元测试。WebSphere Business Monitor 的知识将帮助您了解监视器模型部署和仪表板个性化,因为本文对它们进行了讨论。

可以监视什么?

您可以内在地监视 WebSphere Process Server、WebSphere Appliication Server、WebSphere ESB、WebSphere Partner Gateway、FileNet 和 WebSphere Message Broker 中运行的任何业务流程。这些产品无需适配器或检测代码即可内在地发送事件以发射公共基础事件。此外,还可以监视任何在公共事件基础结构(Common Event Infrastructure,CEI)中生成事件的应用程序。对于不产生公共基础事件的应用程序,例如 SAP,IBM 提供了适配器以提供该功能。对于没有适配器可用的自定义应用程序,您可以使用 IBM WebSphere Business Monitor Development Toolkit 创建自己的事件发射器。

不过要认识到,必须启用事件,WebSphere Business Monitor 才能捕获它们。稍后将对此做详细的介绍。

System z 操作系统

在 System z 上监视业务流程的过程本质上与任何其他平台相同。在本文编写之际,区别在于 WebSphere Business Monitor 当前在 z/OS® 上不受支持,因此必须将其安装在其他地方,即安装在受支持的另一个平台上,例如 z/Linux®。

如图 1 所示,您的业务流程正在 z/OS 上的 WebSphere Process Server 中运行。监视服务器在单独的服务器上运行,并通过服务集成总线(service integration bus,SIBus)接收来自流程服务器的事件。与业务流程模型一样,监视器模型是在 WebSphere Integration Developer 中创建的,并导出到监视服务器。

图 1. 典型的 System z 配置
图 1. 典型的 System z 配置
图 1. 典型的 System z 配置

公共事件基础结构和公共基础事件

正如前面所提到的,WebSphere Business Monitor 可以监视公共基础事件以及公共事件基础结构。在我们继续之前,下面将按顺序对其中每一项做出定义。

  • 公共事件基础结构 (CEI) 是用于广泛的业务、系统和网络事件的创建、传输、持久性和分发的一致方法的 IBM 实现,并基于公共基础事件。
  • 公共基础事件是从业务的角度发生的任何相关事件,您希望对这些事件进行监视。这些事件可能包括订购或交付流程中的过度时间延迟,或者可能是某个供应商方面的需要立即采取行动的库存问题。

WebSphere Business Monitor 体系结构

WebSphere Business Monitor V6 使得业务客户端能够通过部署在 WebSphere Process Server V6 或 WebSphere Application Server V6.1 上的 Web 应用程序监视业务流程的运行时行为。要监视的数据将主要从运行时环境中发出。数据通过事件发射器封装在公共基础事件中,并通过 CEI 进行传输。

WebSphere Business Monitor 负责它自己的数据存储以保存监视操作所必需的数据,包括正在运行的监视上下文的实例和指标值。数据分析通过 REST (REpresentational State Transfer) 服务变得可用,该服务是为应用程序提供数据库抽象的数据库接口。

数据监视通过监视器模型(图 2)来实现,该模型是个容器,其中包含有关业务模型的业务性能管理方面的信息,包括需要监视的业务度量。使用 WebSphere Business Monitor,您可以决定要监视哪些流程、是否要监视它们的子流程、要使用什么业务度量,然后创建可导出到 WebSphere Business Monitor 的监视器模型。该模型包含流程及其子流程中的所有已定义的业务度量(指标、KPI、计数器和秒表)。

监视仪表板(基于 Web 或基于门户)显示 KPI、量规、实例、量纲、警报、关系图和报告。组织视图仅在门户仪表板中可用。

图 2. 体系结构关系图
图 2. 体系结构关系图
图 2. 体系结构关系图

WebSphere Business Monitor 工具包

WebSphere Business Monitor 开发工具包是用于监视的核心开发工具。该工具包通过提供 Monitor Model Editor 来帮助您创建监视器模型,从而增强了开发体验。可以将 WebSphere Business Monitor 测试环境与该工具包一起安装到 WebSphere Integration Developer 中,以帮助在部署之前测试您的监视器模型。

图 3.监视器模型开发流程
图 3.监视器模型开发流程
图 3.监视器模型开发流程

如图 3 所示,该工具包包含两个组件:Monitor Model Editor,用于定义监视器模型中的所有元素(例如触发器、计数器、秒表、度量 和 KPI);以及 Monitor Server 单元测试环境,这是一个完整配置的监视服务器,您可以在其上运行基础 WebSphere Process Server 中的业务流程应用程序,同时对该应用程序进行监视。在此配置中,无需 SIBus 即可直接从 CEI 数据库捕获事件。

该工具包的输出是安装在监视服务器中的可部署的监视器模型应用程序(EAR 文件)。监视仪表板配置为在 Web 或门户页面中显示计算得出的度量。

在生产环境中,WebSphere Business Monitor 在 WebSphere Application Server 上运行,但是在 WebSphere Integration Developer 测试环境中,监视服务器在该工具包附带的 WebSphere Process Server 上运行。该工具包中的仪表板与生产环境中的仪表板完全相同。

监视步骤

到目前为止,我们初步了解了业务活动监视、System z 操作系统、事件和事件传输机制、监视体系结构和监视工具包的优点。有了这个基础之后,下面了解一下在创建可用于监视 WebSphere Process Server 中运行的业务流程的监视器模型时所涉及到的步骤。大致任务包括:

  1. 确定您希望监视哪些流程
  2. 产生用于监视器的公共基础事件
  3. 创建监视器模型
  4. 配置监视器
  5. 执行单元测试
  6. 部署监视器模型
  7. 个性化仪表板
  8. 监视!

稍等片刻:为什么需要完成所有这些步骤?前面不是提到可以内在地监视 WebSphere Process Server 中运行的任何流程吗?

是的,并且这些事件的确可用,但是正如同样提到过的那样,必须启用这些事件,WebSphere Process Server 才能将它们发射到 CEI,以便 WebSphere Business Monitor 能够使用它们。如果所有的流程及其所有的可能事件在缺省情况下都是启用的,您是否能够想象将会遭受到的性能影响?因此事件发射在缺省情况下是禁用的,所以必须显式地启用业务分析人员和主管希望观察的那些事件。

下面进一步研究一下上述每个步骤:

  1. 确定您希望监视哪些流程。

    与业务分析人员合作确定需要监视的业务度量和活动。如果在创建模型时知道您希望监视哪些业务流程,您可以在 WebSphere Business Modeler 中指定它们。在其中,您可以使用 Business Measures 视图定义简单的度量和 KPI。或者,监视可以是业务流程管理的最后一个阶段。如果您已经将模型部署到 WebSphere Process Server,而现在您希望向运行的流程添加监视功能,正如前面提到过的,您可以使用 WebSphere Business Monitor Development Toolkit 实现此目的。这就是本文中所采用的方法,因为本文的目的是使您能够监视正在 z/OS 上运行的流程。

    在此步骤中,您将完整地定义要监视的业务度量(指标),以及将要如何计算那些度量。指标用于收集信息并在 KPI 的计算中加以使用。这些活动的一个结果是大致了解 WebSphere Process Server 必须发射的事件。在此级别上,您必须了解需要在流程中的什么位置发射事件,以及该事件需要包含什么业务信息。在 WebSphere Business Monitor Development Toolkit 中,首先打开 BPEL 模型(从 WebSphere Business Monitor 中导出的模型)并查看流程关系图。决定哪些流程最重要——从业务的角度而不是 IT 的角度。这些流程就是您希望监视的流程。

  2. 产生用于监视器的公共基础事件。

    在创建监视器模型之前,您必须选择 WebSphere Process Server 将生成的事件。WebSphere Business Monitor 将使用所生成的事件来监视流程。需要针对流程中的决策和调用操作发射事件。WebSphere Business Modeler 决策在 WebSphere Integration Developer 变为 BPEL 链接。您可以使用 WebSphere Integration Developer 来修改在 WebSphere Process Server 中运行的应用程序,以发射将由 WebSphere Business Monitor 监视的事件。

    使用您在步骤 1 中定义的有关事件放置和内容的信息,您必须启用适当的应用程序组件以发射带有必需信息的事件。这不需要代码编写工作。以下是可启用来向 WebSphere Business Monitor 发射事件的组件:

    • BPEL 流程组件
    • 人工任务
    • 业务状态机
    • 业务规则
    • 通用服务组件体系结构(Service Component Architecture,SCA)组件。

    图 4 显示了选择发射的事件,并采用黄色旗帜图标来指示。六个活动中的每一个活动上都有旗帜;左上角的旗帜针对流,右上角的旗帜针对流程。总共有八面旗帜。

    图 4. 要发射的事件
    图 4. 要发射的事件
    图 4. 要发射的事件
  3. 使用 Monitor Model Editor 创建监视器模型

    WebSphere Business Monitor 使用您的监视器模型来处理 CEI 中从 WebSphere Process Server 或其他地方产生的事件,并对事件做出反应。基于从 WebSphere Process Server 生成的事件,监视器模型包含监视上下文实例的创建、终止和相关性信息。此信息定义了如何在监视服务器中监视应用程序。

    明确地说,监视器模型描述如何:

    • 从事件中收集将用于计算所需业务度量的信息;可选地,可以将信息存储在数据库中以进行历史记录分析。
    • 将关于同一个受监视实体的事件分组在一起。
    • 对信息进行组织;例如用于支持量纲分析。
    • 组合信息;例如用于确定趋势。
    • 近实时地确定业务状况,并通过发出事件来触发结果操作。

    提示:您可能决定实现监视器模型的某个部分,测试您的应用程序和模型,然后向该模型添加更多的元素,以此类推。有时以迭代的方式开发和测试这些步骤是有帮助的,并允许您的监视器模型和应用程序渐进地推进,而不是一次性完整地执行此任务。或者,您可以创建多个模型,您希望监视的每个流程对应于一个模型,而不是使用单个模型。

    1. 选择要监视什么

      深入到事件源,以查看可用于监视所选事件源的预定义模板。基于常见的指标和 KPI,存在多个模板可供选择。选择 Emitted Events 选项卡并查看可用于监视所选事件源的事件。这些事件是从 WebSphere Business Modeler 中创建的业务流程模型提取而来的。选择您希望监视的事件。

      图 5. 选择要监视的事件和可用的模板,该模板将成为监视器模型
      图 5. 选择要监视的事件和可用的模板,该模板将成为监视器模型
      图 5. 选择要监视的事件和可用的模板,该模板将成为监视器模型
    2. 选择如何监视

      可用的选择为监视上下文事件组

      • 监视上下文定义定义应该收集的所有数据,这些数据与系统运行时的某个实体(例如某个流程、客户订单或某件商品在仓库中的库存水平)相关。每个运行时实例(监视上下文实例)使用传入的事件监视特定(真实或抽象)的实体,例如特定的流程执行、特定订单的状态,或者某件商品在仓库中的库存水平。它们收集(单独或组合起来)对于做出业务决策非常有用的信息。信息是从入站事件所携带的数据中提取的,并包含在指标、计数器和秒表中,这些信息表示监视上下文所收集的业务度量。
      • 事件组是入站事件的容器,使您可以将相关事件分组在一起,以在模型中提供结构而不使用监视上下文。

      监视上下文引入了键、立方等形式的开销,而事件组只不过是容器,是纯粹的可视构造,并且不在监视器模型 XML 文件中加以表示。

    3. 预览监视器模型

      画面向您显示了将要监视的内容。如果有必要,可以返回去做出更改。

    4. 创建所需的指标。

      在 Metric Details 窗格中,输入您希望包括的指标的预期特征。在下拉列表中选择适当的触发器条件。触发器条件生成将会发起警报的情景事件。

    确保监视服务器已启动并同步。如果不是这样,请右键单击该服务器并选择 Start。选择您的监视器模型,然后选择 Generate Monitor J2EE Projects。在这个代码生成步骤中,将对监视器模型(actual .mm 文件)进行检查,并产生用于支持模型的具体实现的代码。所生成的构件打包在企业存档(Enterprise Archive,EAR)文件中;在将 EAR 项目显式导出到文件系统以便实际部署到生产环境中之前,您不会直接处理这个 EAR 文件。当您针对服务器添加(或删除)项目时,将按照 WebSphere Application Server 部署步骤进行操作,以将 EAR 文件部署到单元测试环境。选择 Finish。完成时,检查 Problems 选项卡中的任何可能需要解决的问题。

    (还可以将 Monitor Toolkit 安装到 WebSphere Application Developer 中以进行 J2EE 监视,但是此主题超出了本文的范围。)

  4. 配置监视器。

    使用 WebSphere Business Monitor 的操作服务来配置警报,或者定义为响应业务情景事件而采取的操作(例如,发送即时 SMS 文本消息)。情景事件作为出站事件从监视器模型中发出,警报将在仪表板的 Alert 视图中可见。

    1. 配置警报

      在 WebSphere Business Monitor 中,导航到 Monitor Action Services => Template Definitions 以配置警报,然后为警报创建通知。下一步,添加从情景事件到警报的操作类型的绑定。如果没有绑定,则不会按预期使用警报。确保情景事件名称与模型中定义的名称相同;此名称区分大小写,因此必须准确匹配才能在发生情景事件时使用警报。

    2. 创建仪表板

      仪表板使您能够访问所监视的信息:指标和 KPI。仪表板的需求在您评估将要监视的流程和定义用于监视的业务度量的需求时确定。请记住,您定义仪表板是为了满足组织中角色的业务需求,而不是为了获得以流程或 IT 为中心的仪表板。部署仪表板以后,用户可以从 WebSphere Business Monitor 控制台中进一步定制仪表板以满足他们自己的个人需要。

      在此阶段,您需要为下一个步骤中的单元测试创建仪表板,以确保发射事件、做出计算并显示结果。当您在 Monitor 测试环境中测试监视器模型时,请使用基于 Web 的仪表板,因为它们与已部署的生产环境中的仪表板完全相同。仪表板中的典型信息组合可能包括 KPI、警报、人工任务、报告、量纲、实例和关系图。在构建和查看业务仪表板以后,您可能需要更新应用程序或监视器模型,以完全满足生产中的业务监视需求——或者您可能只希望在此时创建用于测试的简单仪表板,并将全功能仪表板的创建工作推迟到将监视器模型部署到监视服务器中以后。

    3. 创建 WebSphere Business Monitor 仪表板,然后登录到其中

      输入您的监视器模型实例并将它们添加到仪表板。您可以在这里对新的仪表板进行个性化设置。

    在创建仪表板以后,请使用实用工具创建关键性能指标 (KPI),并订阅警报。此外,您可以将以下项目添加到仪表板:

    • 警报:显示警报,通知您在运行时发生的已定义情景事件。
    • 关系图:显示与特定监视或 KPI 上下文关联的关系图。
    • 人工任务:显示所有可用的人工任务。您还可以通过此项对这些任务执行操作。(仅支持 WebSphere Process Server V6.1。)
    • 实例:显示单独实例或用户定义的上下文实例组中的可用监视上下文。
    • KPI:显示 KPI 的详细信息,例如相对于定义的范围的 KPI 值,如适用的话,则还显示它们的状态。

    支持以下 WebSphere Business Monitor 实用工具:

    • 警报订阅:用于订阅和退订不同的预定义警报。除了订阅警报以外,您还可以选择与每个警报关联的通知渠道类型。
    • 导出值:用于将特定监视器模型和特定持续时间内产生的数据导出到可由 WebSphere Business Modeler 导入的 XML 文件。
    • KPI 管理器:用于直接从仪表板界面定义、复制和更新 KPI。

    您可以通过安装可选的 DB2 AlphaBlox 向仪表板添加量纲和报告。

  5. 执行单元测试

    您现在有了一个发射用于业务监视的事件的应用程序,以及一个能够使用和处理事件以进行业务监视的监视器模型应用程序。此步骤的目标是运行该应用程序的测试,并评估其生成和发射 WebSphere Business Monitor 需要的事件的能力。对于此测试,您将使用 Monitor 测试环境,该测试环境是 Monitor Development Toolkit 的一部分。Monitor 测试环境运行该应用程序并监视所产生的事件。

    考虑以下用于测试该模型的方法。首先,使用实例查看监视器上下文应用程序实例和每个实例指标的值。下一步,使用 KPI 确定该监视器模型是否正确处理了跨应用程序实例的聚合信息。然后,测试可视关系图符号。这其中每个阶段都可能涉及到应用程序和监视器模型的开发迭代。

    Servers 选项卡中,选择您的监视服务器。右键单击并选择 Add and Remove Projects。选择左侧窗格中的项目并将其添加到 Configured Projects 窗格,然后选择 Finish。请注意观察监视服务器现在显示“publishing”,然后切换到控制台选项卡视图。您的 EAR 文件现在已部署到 Monitor 测试环境,这意味着您可以开始单元测试了。选择 Servers 选项卡,右键单击并选择 WebSphere Business Monitor Dashboard。登录并开始您的测试。

  6. 成功完成单元测试以后,将监视器模型(EAR 文件)部署到监视服务器。

    这涉及到从 Monitor 测试环境导出仪表板定义、BPEL 模块和监视器模型,然后将它们导入生产环境。

    根据需要导出仪表板定义。(请记住,您在 Monitor 测试环境中创建的仪表板实际上仅用于测试事件和警报的功能。)导出 BPEL 模块和 WebSphere Business Monitor 模型 .ear 文件。单击 Open Perspective 图标并选择 J2EE。在 Project Explorer 视图中,右键单击您的应用程序并选择 Export => EAR file。在 Export 对话框上,在 Destination 字段中,输入 .ear 文件路径和名称,然后单击 Finish。在 Project Explorer 视图中,右键单击您的应用程序并选择 Export => EAR file。在 Export 对话框上,在 Destination 字段中,输入 .ear 文件路径和名称,然后单击 Finish

    接下来在 WebSphere Business Monitor 生产服务器上安装 BPEL 模块和 WebSphere Business Monitor 模型。要完成此任务,可以执行以下步骤:

    1. 登录到 WebSphere Business Monitor 管理控制台。
    2. 安装并启动 BPEL 模块。
    3. 安装并启动 WebSphere Business Monitor 模型。
    4. 创建 BPEL 模块的流程实例。
  7. 个性化仪表板

    您可以从监视服务器控制台个性化仪表板以选择与您相关的内容。

  8. 监视!

    一旦部署到了生产环境中,您就可以开始监视业务流程了。要认识到的是,您还可以对您在 Monitor 测试环境中配置的监视环境做出更改。在 WebSphere Business Monitor 中,您可以个性化在 Monitor 测试环境中创建的仪表板,或者创建新的仪表板。例如,您可以修改警报以向您发送 SMS 消息而不是显示在仪表板上。

    您可以选择一个或多个 KPI,并使用 KPI Manager 实用工具修改显示模式(Table 视图、Gauge 视图等等)和可视特征(色谱范围、大小、布局格式等等)。KPI 查看器允许您修改 KPI 阈值,以便您能够更改成功目标并评估各种假设场景。

    WebSphere Business Monitor 还提供了一组用于显示人工任务的可配置视图,以更好地评估工作负载、确定瓶颈和重定向工作负载以防止工作积压。人工任务可以是由 WebSphere Process Server 编排的 BPEL 任务,或者是监视系统中的独立人工任务。您可以使用人工任务编辑器查看不同模型的所有 WebSphere Process Server 人工任务事件及其属性。您还可以选择要显示或隐藏哪些属性,以及筛选和定义任何可分类的属性。业务负责人还可以分配、申领、释放或移交任务,具体取决于已授予他们的访问权限。

    图 6. 开发和运行时操作的图形表示形式
    图 6. 开发和运行时操作的图形表示形式
    图 6. 开发和运行时操作的图形表示形式

进一步阅读

进一步的信息和带插图的清楚示例以及详细的逐步说明可以在参考资料部分中找到,明确地说是在 Business Process Management Modeling through Monitoring 红皮书中和 WebSphere Business Process Management 信息中心。此外,有关仪表板教程,请参阅 Clips and Tacks 示例

结束语

虽然本文阐述了监视公共事件基础结构中可用的任何 System z 事件所需要的步骤,但是省略了极其详细的说明。这是有意而为之的:为了保持简练,同时仍然提供对该过程涉及到的内容的足够了解。本文讨论了可以进行监视的事件、典型的 System z 环境、公共基础事件、公共事件基础结构和 WebSphere Business Monitor 体系结构。此外还讨论了 WebSphere Business Monitor Toolkit 和 WebSphere Integration Developer,这两个产品一起用于创建、配置和测试监视器模型,监视器模型在部署之后,将用于使用所要监视的事件。最后,您了解了如何配置仪表板以仅接收对您重要的事件。您现在应该能够配置 System z 环境以获得对您重要的信息,以便您能实时地了解业务流程中正在发生的情况。


相关主题


评论

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=343537
ArticleTitle=如何监视 System z 业务流程
publish-date=10212008