ITPub博客

首页 > Linux操作系统 > Linux操作系统 > WebSphere Business Events 进行业务事件处理

WebSphere Business Events 进行业务事件处理

原创 Linux操作系统 作者:CloudSpace 时间:2009-05-20 13:32:18 0 删除 编辑

转自DW中国

作者:Doina Klinger, 顾问软件工程师, IBM
Latha Sivakumar, 顾问软件工程师, IBM

概述

本文是一个系列中的第一篇文章,此系列介绍 WebSphere Business Events(以下称为 Business Events),并说明如何将其与 WebSphere 系列中的其他产品一起使用,例如 WebSphere Enterprise Bus、WebSphere Process Server、WebSphere Message Broker 和 WebSphere Business Monitor。在第 1 部分中,您将了解 Business Events 在集成企业应用程序方面的业务价值,以及核心的 Business Events 概念和工具。第 2 部分将描述有关如何开发和测试一个简单的 Business Events 应用程序的逐步过程。本系列中的其他文章将说明如何将该应用程序与其他 WebSphere 产品集成。

业务事件处理

企业在不断变化的相互联系的事件环境中运作。客户事务、利率更改、供应商订单、物流难题以及从飓风到罢工的意外外部事件全都会影响企业。

通常,巨量的实时数据使得确定这些事件中的模式变得非常困难。这种困难可能意味着错失新机会、当需要出现时的资源重定向延迟,以及应对意外情况的苦苦挣扎。

业务事件处理(business event processing,BEP)软件帮助企业实时检测、评估事件模式并对其做出反应,从而满足业务目标。对于业务流程管理(business process management,BPM)领域,BEP 添加了实时事件检测和动态流程以响应这些模式。

有关更多信息,请参阅 IBM 的业务事件处理:智能 SOA 解决方案

WebSphere Business Events 可以在以下情况下处理来自不同应用程序的事件:

  • 逻辑路径不可预测,并且要求跨多个应用程序按时间和顺序对活动进行检测和关联(非线性处理)
  • 业务逻辑频繁更改(动态处理)
  • 实时监视结果并自动响应活动趋势是关键要求。这提供了活动监视的闭环。

Business Events 增强了现有的 BPM 和面向服务的体系结构(Service-Oriented Architecture,SOA)基础结构。

WebSphere Business Events

Business Events 提供了易于使用的图形创作工具,您可以将其用于定义业务策略和逻辑,以便响应您感兴趣的业务事件和模式,以及发起相应的业务操作。业务策略对非技术用户来说也很容易阅读,并松散地遵循普通语言中描述的规则。策略描述系统将如何对某些组合中或在某些时间发生或未发生的事件做出反应。它们允许您检测和分析人员、事件以及信息之间的简单和复杂关系,并动态地对其做出反应。

事件可能来自于各种各样的系统和应用程序,这些系统和应用程序可能连接也可能没有连接。Business Events 可以关联和确定所有这些来源中的模式,然后生成将由外部系统使用的操作,或者生成将发送到 Business Events 的新事件。

图 1 演示了 Business Events 在管理方面表现出色的一些业务情形。可以看到,存在不同时间期限内来自不同来源的多个事件需要考虑:股票交易、帐户开立、密码更改、帐户概要更新、帐户经理访问、带交易指令的电子邮件、客户更改详细信息和大额提款。Business Events 可以通过实时查找非顺序和非线性的关联和模式,从而使所有这些异构来源的不同事件变得有意义。


图 1. 概述:检测事件、制定决策以及交付操作
业务事件流

示例场景

在本系列中,我们将使用一个示例场景来说明 Business Events 是如何工作的。在此场景中,我们需要检测交易系统中的投机行为。该场景需要确定并相应地响应随时间推移而形成的事件模式。

请考虑一个接收买入和卖出请求的交易系统。需要对该系统进行监视以了解实时交易数据中的特定模式。我们对大量交易事件(或消息)中可能指示投机行为的模式感兴趣。我们将定义两个策略来确定此类情形:Sell 和 Buy 事件具有描述客户、股票、交易发生的日期和时间、股份数额和价格的属性。当相同客户在 Buy 事件后一小时内针对相同股票发生 Sell 事件时,将生成一个 SellAfterBuy 操作。如果一个客户一天内针对相同或不同股票在买入后执行了三次卖出,则会生成一个 SpeculativeCustomer 操作。这些操作就是 Business Events 输出。其他外部系统可以处理这些操作,您将在本系列的后续部分中看到这一点。

我们的示例场景是金融业中的规章遵从性用例的简化版本的应用。经纪人需要识别投机交易,法律法规要求他们在某些情况下报告此类情况。

Business Events 体系结构

图 2 显示了 WebSphere Business Events 运行时体系结构的主要组件。


图 2. Business Events 运行时体系结构
Business Events 体系结构

  • 运行时服务器是 Business Events 的核心。这是执行业务事件处理逻辑的地方。
  • 连接器是通过各种各样的协议在接触点之间来回提供无代码连接的内部系统组件。
  • 存储库为 Business Events 资产的定义提供共享的安全存储。

Business Events 工具

Business Events 附带了两个针对不同用户角色的核心工具:

  • Design Data 工具用于定义将与 Business Events 交互的外部业务系统,以及所需的数据对象。此工具的典型用户是负责 IT 连接的 IT 专业人员。
  • Design 工具用于定义业务事件规则,这些规则描述当事件进入 Business Events 以及确定了某些模式时将怎么办。此工具的典型用户是业务分析人员,他们可以分析规则并根据需要修改规则,以响应不断变化的条件。

在本部分中,我们将介绍这些工具,我们将在整个系列中提到并使用这些工具。本系列中未讨论的其他 Business Events 工具包括 Administration、Dashboards、Design Dashboards、Properties 和 User Console。在第 2 部分中,您将更详细地了解如何使用这些工具。有关这些工具的更多信息,请参考 WebSphere Business Events V6.1 信息中心

Design Data 工具

Design Data 工具的主要组件如下:

  • 接触点表示针对 WebSphere Business Events 发送和接收事件的外部系统或应用程序。该示例应用程序中定义的接触点是 TradeSystem。生产 Business Events 应用程序中会定义多个接触点,并且事件来自于各种各样将进行关联并确定其模式的来源。为简单起见,我们将在该示例应用程序中使用单个接触点。
  • 事件确定接触点中将触发 Business Events 中的某些计算的活动。在该示例应用程序中,我们将定义 Buy 和 Sell 事件。事件由一个或多个事件对象组成。
  • 事件对象是已定义的数据字段集。Buy 和 Sell 事件共享一个名为 TradeObject 的事件对象,该对象具有字段 CustomerID、StockID、Quantity、Price、Date。
  • 操作确定当 Business Events 中的一个或多个规则为 true 时将在接触点中发生的活动。该示例中定义的操作包括 SellAfterBuy Speculative Customer。操作由一个或多个操作对象组成。
  • 操作对象是一组已定义的数据字段。TradeOut 操作对象由该示例应用程序中的所有操作共享。
  • 人工事件是取代交互块中的某个操作而被使用的结果事件。人工事件允许交互块直接调用另一个事件,这对于复杂事件处理会非常有用,其中复杂事件可作为不同事件被触发,而不是立即进行处理。
  • 中间对象是业务对象的概念表示形式,通常在不同的应用程序或系统中(从而在不同的事件和操作对象中)以不同的名称或采用不同的格式进行描述。中间对象在新事件进入 Business Events 时被创建,其部分字段是从事件字段复制来的,部分字段是计算得来的,还有部分字段则设置为常量,或者是从数据库表填充的。在我们的示例中,我们有一个中间对象 TradeObject。
  • 数据源是附加的数据来源,例如关系数据库或 Excel 电子表格。它们通常用于计算事件中不存在的中间对象字段。例如,基于事件的 customerID 字段,针对数据库表使用 SELECT 语句来计算地址字段。从数据源检索数据的过程称为数据获取。数据库可以是托管的(例如在 DB2® 或Oracle® 中)、本地的(例如 Microsoft® Excel 电子表格),或者是远程的。可以将中间对象的一个或多个字段映射到某个表中的列。
  • 连接器在接触点和运行时使用的 JMS 消息主题之间传递数据有效负载(定义为 XML 消息)事件连接器识别接触点中的事件,并通过诸如 HTTP 等协议将数据直接或间接传递到一个内部 Java™ Message Service (JMS) 消息队列,以便由一组已定义的交互策略进行评估。类似地,操作连接器取得业务流程规则评估的结果,以有效负载的形式从内部 JMS 消息队列检索一个操作,并将其传递给接触点。操作连接器也可以返回结果,该结果放在入站消息队列中,并且可以将其作为结果事件进行评估。

图 3 显示了 Design Data 工具的示例。在左侧,您可以看到资产树,相关定义分组在三个部分中:

    • 数据源
    • 中间对象
    • 接触点

在右侧,您可以看到所选对象的编辑器。


图 3. Design Data 工具
Design data 工具

Design 工具

Design 工具的主要组件包括:

  • 交互块 交互集。交互块描述在某些条件或筛选器得到满足时,由于事件到达 Business Events 中而触发的操作。由相同事件同时触发的一个或多个相关块的组称为交互集。属于某个策略的一部分的规则可能附加了不同的筛选器,或者可能应用于不同接触点中的操作。在我们的示例中,我们拥有 SellAfterBuy 和 SpeculativeCustomer 交互策略。
  • 上下文是通过名为 context ID 的中间对象字段关联在一起的一组交互集。上下文 ID(例如,客户 ID)唯一地标识流经某个流的一组公共事件。函数和筛选器的评估针对具有相同上下文 ID 的事件进行。在我们的示例中,SellAfterBuy 策略使用的上下文 ID 是客户 ID 和股票 ID 的组合。当为策略定义了上下文关系时,函数(例如某个事件的 Occurrences of)将引用与所评估的事件具有相同上下文 ID 的所有事件。
  • 筛选器是出现在一个或多个规则中的条件。筛选器中表达的条件可能非常简单,例如测试单个数据字段的值;或者相当复杂,涉及到随时间推移而发生(或未发生)的多个事件的模式。我们的应用程序中的筛选器为 After Buy 和 Speculative Customer。
  • 事件流是业务流程的可执行图形表示形式。它们包括一组交互集,以及相关业务步骤,这些步骤表示预期要在所触发的操作之后发生的事件。

图 4 显示了取自 Design 工具的示例屏幕快照。资产树显示了交互集和筛选器。Design 工具中的定义、带有事件和操作的接触点以及中间对象可供查看,但不能修改。


图 4. 显示交互集和筛选器的 Design 工具
Design 工具

本系列中的后续文章

本系列中的后续文章将教您如何检测业务事件模式,并向您介绍如何将 Business Events 与其他 WebSphere 产品和技术集成。

  • 在第 2 部分中,您将了解如何构建和测试该示例应用程序,以检测交易数据中的模式。您将了解如何使用 Design Data 工具来定义诸如事件和操作等数据。您还将了解如何使用 Design 工具来定义筛选器和交互集。最后,您将了解如何部署和测试 Business Events 应用程序。
  • 在第 3 部分中,您将了解如何集成 WebSphere Message Broker 和 Business Events,以筛选消息并将其转换为事件,然后形成操作。Business Events 检测生成操作的事件中的模式。
  • 在第 4 部分中,您将了解如何将 Business Events 与 WebSphere Process Server 和 WebSphere Enterprise Service Bus (WebSphere ESB) 集成,以便将 WebSphere ESB 中的消息作为事件发送到 Business Events,后者检测模式并将结果操作发回 WebSphere ESB 进行处理。
  • 在第 5 部分中,您将了解如何将 Business Events 与 WebSphere Business Monitor (Monitor) 集成,以便 Business Events 能够以 Monitor 服务器能够接收和处理的格式转发业务事件。然后 Monitor 可以进行分析并提供有关接收到的业务数据的报告。Monitor 仪表板还提供了全面的图表、报告和通知集,可将其用于监视从 Business Events 接收的数据并对该数据采取行动。
  • 在第 6 部分中,您将了解如何配置 Business Events 以接受并生成通过公共事件基础结构(Common Event Infrastructure,CEI)传输的公共基础事件 (Common Base Event)。

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

请登录后发表评论 登录
全部评论

注册时间:2008-07-08

  • 博文量
    355
  • 访问量
    858904