Welcome

首页 / 软件开发 / 数据结构与算法 / 构建SOA组合业务服务,第4部分

构建SOA组合业务服务,第4部分2011-04-08 IBM Javier Garcia等第4部分: 使用公共事件基础设施开发可测量的组合应用程序

本系列讨论如何开发组合应用程序来支持业务服务,本文是其中的第 4 部分。为了确定 组合应用程序是否满足所确定业务目标,应用程序需要为可测量的。本文讨论如何在基于公 共事件基础设施的三个可重用构件的帮助下开发可测量的组合应用程序。我们将从中了解为 什么需要构件,以及如何使用其对组合应用程序进行测量。

引言

WebSphere® Integration Developer 和 WebSphere Process Server 将公共事件基 础设施(Common Event Infrastructure,CEI)作为提供基本事件管理服务的方法引入。CEI 按照 CBE 规范的定义处理公共基础事件(Common Base Event,CBE)。CEI 提供基于标准 XML 的事件格式,从而支持采用通用机制来记录和查询事件。在 WebSphere Integration Developer 内置 CEI 支持,可生成 CBE 事件。例如,可以选择业务流程执行语言 (Business Process Execution Language,BPEL)活动,并随后选择一个活动开始或活动停 止事件,而这将自动生成 CBE。不过,您可能需要生成与 WebSphere Integration Developer 事件不对应的业务级别事件。可以使用业务流程引擎(Business Process Engine ,BPE)API 进行此工作。不过,由于此 API 公开 CBE 格式以及其他 CEI 特定的属性,API 相关的部分包含在一个很方便使用的构件集中,此构件集支持对事件进行日志记录、查询和 查看。本文将对这些构件进行说明,并将介绍如何在组合应用程序中使用它们。

捕获业务级别事件

为了对组合应用程序进行测量,您需要捕获业务级别事件。业务级别事件是捕获与业务相 关的信息的事件。例如,当银行资金从一个账户转帐到另一个账户时,会记录一个事件。业 务级别事件可帮助我们理解和改进企业开展业务的方式。记录了业务事件后,可以对其进行 聚合,以确定业务趋势,从而反过来提供所需的测量结果来提高业务。不过,业务级别事件 并不一定与任何具体 WebSphere Integration Developer 活动相关。WebSphere Integration 活动可以与一系列 WebSphere Integration Developer 步骤相对应。图 2 显 示了一些典型的 WebSphere Integration Developer 活动。业务级别的事件可以与一系列 WebSphere Integration Developer 活动相对应。

完全可测量的另一个要求是,能够在事件中保存任意数据。此任意数据在业务级别具有意 义。CBE 规范支持使用 CBE 的 ExtendedDataElement 部分来保存任意数据。此部分将应用 程序特定的数据格式化为一组名称-值对。

生成 CBE 事件

每种可监视组件类型(如业务流程、业务规则等等)都具有一组在 WebSphere Integration Developer 中预先定义的业务事件(请参见表 1)。不过,有时候这些预定义 的事件并不提供生成业务级别事件所需的灵活性。因此,为了给组合应用程序提供完全可测 量的能力,需要随时生成业务级别事件。

表 1. 每个编辑器的可监视元素

编辑器可监视元素
Assembly editor(仅 CEI)Operation
Business process editor(CEI 和 Audit Log)Assign、Compensate、Empty、Flow(并行活动)、Invoke、Pick(接收选 择)、Process、Receive、Reply、Rethrow、Scope、Script、Sequence、Staff、Switch( 选择)、Template(未显示)、Terminate、Throw、Variable、Wait、While(While 循环)
Business object-mapping editor(仅 CEI)Map、Transformation(所有类型)
Business rule-group editor(仅 CEI)Operation
Business state machine editor(仅 CEI)Action、Entry、Exit、Guard、State、State Machine Definition(状态 机)、Timer、Transition
Human task editor(CEI 和审核日志)Escalation、Task、Task Template(未显示)
Interface-mapping editor(仅 CEI)Operation Binding、Parameter mediation(所有类型)
Selector editor(仅 CEI)Operation

注意:在表 1 中,标识为审核日志 事件是在流程编排器数据库中作为审核事件生成的。 标识为 CEI 的事件是在 CEI 数据存储库中生成的。