integration events6666是什么意思思

IBM Bluemix
点击按钮,开始云上的开发!
developerWorks 社区
在此前的一篇
中,我向您展示了 WebSphere Business Events V 6.1 如何与 WebSphere Process Server 和 WebSphere Enterprise Server Bus V6.1 进行相互操作。在本文中,您将了解这种互操作性在 V6.2 中是如何改进的。
, 顾问软件工程师, IBM
Doina Klinger 是 IBM Hursley Software Laboratory 的一名顾问软件工程师。她是 WebSphere Business Events 的开发人员。她以前曾作为开发人员和开发负责人从事过许多 WebSphere 产品和组件方面的工作,并在最近从事 WebSphere Enterprise Service Bus 和 WebSphere Integration Developer 方面的工作。她对 Eclipse 以及消息和事件处理技术拥有浓厚的兴趣。Doina 于 2000 年加入 IBM,并从普渡大学获得了计算机科学硕士学位。
简介WebSphere Business Events (Business Events)、WebSphere Process Server (Process Server) 和 WebSphere Enterprise Server Bus (ESB) 之间的互操作性在 V6.2 中进行了改进。部分变化如下:事件和动作拥有特定的(而不是一般的)模式,这使得映射更轻松。一个新的事件发送器原语 Business Event Emitter 封装了集成的 ESB-to-Business Events 部分。提供了新的样例脚本,以展示如何在消息传送级别在产品之间建立通信。对 ESB 中的 Business Events 动作处理流程添加了对特定模式的支持,这种模式为每种类型的动作定义特定处理流程。以两个新原语的形式添加了格式化结果事件以发送到 Business Events 的支持。当一个动作的处理流程成功或失败时,这两个原语(Business Events Send Success 和 Business Events Send Failure)可以用于中介流中以表示 Business Events。注意,这是一个新主题,没有在
中介绍过。与 V6.1 一样,ESB 是 Business Events 和 Process Server 之间的集成的关键部分。通过使用 ESB 将事件数据转换为特定于应用程序的数据,在 Business Events 中识别的动作可以对运行在 Process Server 上的应用程序实现任意程度的处理。本文的其余部分介绍 Business Events 和 ESB 之间的集成。您可以使用相同的步骤集成 Business Events 和 Process Server,使用这里介绍的中介模块作为关键集成组件。这个中介模块可以根据需要与其他 Process Server 工件联合使用,但集成通过使用中介模块实现。本文主要关注 V6.2 ESB-to-Business Events 集成。我们将定义一个(非常简单的)样例 Business Events 项目。只有事件和动作的定义才对集成真正重要。真实的 Business Events 应用程序可能使用各种过滤器来确定模式,但这不会改变集成解决方案的形状。通常,现有 ESB 集成解决方案包含事件处理流程。为简便起见,本文省略了解决方案的这个部分,包括典型的中介功能,如服务调用、消息变换和过滤等。本文只展示特定于 Business Events 的事件处理流程。在本文中,您将了解:如何创建连通性而不必运行 Business Events 连接器,使 ESB 有效地充当一个 Business Events 连接器。如何对 ESB 流配置事件发送器原语并添加特定于 V6.2 的映射。如何使用 “每个动作一种方法” 的模式在流中添加 Business Events 动作的处理。如何将特定于 ESB 的信息添加到结果事件并将结果事件从 ESB 流发送到 Business Events。场景概述图 1 展示了本文将构建的集成解决方案。该场景使用 Integration Developer V6.2 IFix 和 Business Events V6.2 Fixpack 1 构建。图 1. 场景对于 Business Events,我们将使用一个非常简单的项目,其中 MyEvent 总是触发 MyAction。该动作有个关联结果事件 ResultEventForMyAction,它触发一个新动作 ActionForResultEvent。在 ESB 中,我们将拥有两种类型的流:一种将事件发送到 Business Events,另一种处理动作并将结果事件发送到 Business Events 中。在执行流中:一条消息来自外部源并触发 ESB 流中的处理流程。作为流的一部分,该消息通过原语进行变换并被发送到 Business Events 中。(1)Business Events 接收事件,事件触发处理流程。在本例中,处理流程总是生成一个动作。(2)ESB 处理上述动作。作为动作流的一部分,一个结果事件被发送到 Business Events。结果事件在 Business Events 中生成新动作。(3)ESB 流接收并处理这个新动作。注意: 事件生成、动作处理和结果事件生成之前的动作处理是 ESB-to-Business Events 集成的 3 个独立方面。本文中的示例将展示这 3 个方面,但一个特定的集成解决方案可能只包含其中一个方面。下载项目开始之前,您需要 。这个非常简单的项目定义了一个事件、一个动作、一个结果事件和该结果事件生成的动作。使用了两个简单的规则,没有使用过滤器,如图 2 所示。图 2. 交互集 非常详细地介绍了如何创建事件、动作、中介对象和映射。本文将不再重复介绍这些内容。按照 Business Events Information Center 中的
介绍的方法将项目文件加载到 Business Events Design Data 工具中,然后打开资源库并将所有内容添加到资源库。启用连通性在 Business Events V6.2 中,您可以在 JMS 级别在 ESB 和 Business Events 之间建立连通性。有多种方法可以实现这一点,Business Events V6.2 提供一些样例脚本来支持创建这种连通性。这些脚本定义 ESB 中的 Service Component Architecture (SCA) 应用程序总线和 Business Events 总线之间的互联总线(interbus)链接。另外,ESB 脚本定义 JMS 资源,这些资源使与 Business Events 相关的工件能够以开箱即用的方式运行。在 JMS 级别实现连通性可以不必运行 Message Queue 连接器(如
所述),从而极大地提高性能。您可以运行 Business Events V6.2 自带的脚本来创建并修改必要的总线和 JMS
资源,这个过程无需任何用户参与。这种方法是开发和测试场景以及小型部署的推荐方法。样例脚本位于 &WBE&\integration\WESB\features\runtime\samples。脚本本身和注释提供了运行脚本的详尽注释和帮助。这些脚本需要的参数有机器名、服务器名、节点名、单元名以及 SIB 端口号。因此,建议您在运行脚本前收集这些值。启动服务器并在管理控制台中检查以下值,然后按以下方式填充它们:
机器服务器节点单元端口ESBPUTNAserver1PUTNANode01
PUTNANode01Cell7276Business
EventsCOZIAserverCOZIANode017276在 WESB\bin 中,wsadmin 命令的一般语法是:
wsadmin.bat -lang jython -f /path/to/configure_WESB_SIB_JMS_messaging.py
scope local_host_name local_SIB_messaging_port local_server_name remote_
host_name remote_SIB_messaging_port remote_node_name remote_server_name假定该脚本已经在本地复制,使用这些值按如下方法运行脚本: wsadmin.bat -lang jython -f
configure_WESB_SIB_JMS_messaging.py
server PUTNA 7276 server1 COZIA 7276
COZIANode01 server1该脚本创建了一个外部总线链接,包含 ESB 的 SCA 应用程序总线。在 WBE\WAS\bin 中,wsadmin 命令的一般语法是:
wsadmin.bat -lang jython -f configure_WBE_SIB_JMS_messaging.py
local_host_name
local_SIB_messaging_port local_server_name
remote_host_name remote_SIB_messaging_port remote_cell_name
remote_node_name remote_server_name假定该脚本已经在本地复制,使用这些值按如下方法运行脚本: wsadmin.bat -lang jython -f configure_WBE_SIB_JMS_messaging.py
PUTNA 7276 server1 COZIA 7276 COZIANode01Cell COZIANode01 server1该脚本创建了一个外部总线链接,带有 Business Events 总线,它还创建了 JMS 资源(主题连接工厂、主题和激活规范),这些资源支持 ESB 工件以开箱即用方式运行。构建集成解决方案如前所述,本文主要关注 ESB 和 Business Events 的集成。本文包含最终解决方案的 ,可以将其导入 WebSphere Integration Developer (Integration
Developer)。或者,您也可以跟随下面的指导从头开始构建项目。这些指导假定您已启动 Integration Developer 并创建了一个新的中介模块 WESBtoWBEIntegration62。我们将向您展示如何将事件发送到 Business Events,如何处理动作,以及如何添加结果事件。发送事件到 Business EventsBusiness Events V6.2 对每个不同项目公开一个特定事件和动作模式。要下载并导出 V6.2 样例项目和模式,执行以下操作:首先下载 。在 Design Data 中,打开 Article62Test.xml 项目。右键单击 MyEvent,然后选择 Event Properties。在 Event 选项卡上,单击 Export examples and schemas 并选择 WBE packet schema =& v6.2 Format,然后单击 Save,如图 3 所示。确保保存 6.2 版本。
图 3. 导出模式创建接口和业务对象按照以下步骤将接口和业务对象导入您的应用程序:在 Business Integration 导航器中右键单击 WESBtoWBEIntegration2 项目。选择 File =& Import =& General =& File System。指定已存储的 EventMyEvent.xsd 的地址并勾选对应的复选框。单击 Finish。注意: 或者,您也可以在 Business Explorer 视图中将 xsd 文件从您的文件系统拖放到 WESBtoWBEIntegration62 项目中。现在一个新的接口创建在您的应用程序中。该接口称为连接器,但您还要检查名称空间。当您研究这个接口的结构时,您也许会发现切换到 Tables 视图(见图 4)查看 Event Object 中的字段很有用。图 4. Tables 视图您只需要创建一个表示输入消息的业务对象。按照以下步骤创建这个业务对象:要创建一个新的业务对象,从 Business Integration 导航器选择 WESBtoWBEIntegration2 项目。选择 File =& New =& Business Object,在 Name 字段中指定 InputObject 并单击 Finish。单击
图标,添加一个元素并保存。添加以下字段:
名称类型field1Stringfield2Stringfield3Intfield4Boolean您需要为应用程序建模一个接口,以便可以接收来自客户机的请求。按照以下步骤创建一个 entryPoint 接口:
从 Business Integration 导航器选择 WESBtoWBEIntegration2 项目。选择 File =& New =& Interface,将 Name 字段指定为 entryPoint,单击 Finish。单击 Add one way operation 图标 ,将输入的 Type 从 string 更改为 InputObject,单击 Save。使用一个参数 Connector(名称空间 {/6.2/Event/MyEvent})创建第二个接口 toWBEMyEvent。这个接口用作一个目标接口,以便 XSLT 中介原语将输入消息转换为 Business Events 事件。您的应用程序现在应该拥有以下接口:接口名称类型操作名称参数entryPointOne-way&any&InputObjecttoWBEMyEventOne-way&any&Connector
{/6.2/Event/MyEvent}定义组装图表现在您需要在组装图表中定义组件之间的高级交互:在 Business Integration 导航器中的 WESBtoWBEIntegration62 项目中双击 Assembly Diagram 打开组装图表。一个中介模块已经创建,但它不包含任何接口或引用。我们将稍后纠正这个问题。将 entryPoint 接口拖放到组装图表上,在弹出窗口中选择 Export with Web Service Binding。在传输弹出窗口中,选择 soap/http。交易客户机将使用这个导出访问交易系统。创建从 entryPointExport1 到 WESBtoWBEIntegration2 的连接。现在组装图表应该如图 5 所示。图 5. 组装图表定义中介模块在这个小节中,我们将创建中介流,以将入站业务对象转换为 MyEvent 的 Business Events 事件格式。选择操作 entryPoint。首先为这个操作定义请求流。当客户机将一个请求发送到服务时,这个方法将被调用,然后将调用中介流。这个外部服务没有在这个示例中表示,因为这是一个典型的 WESB 功能:客户机通过一个中介模块调用一个服务。这里只展示集成。添加以下原语:
XSL 转换原语,将其重命名为 FormatMyEvent。只有连接完成之后,我们才能完成这个样式表的配置。Business Events Event Emitter:这是新的 V6.2 原语,它使 ESB 和 Business Events 之间的集成更简单。这个原语的配置将在下面介绍。
现在这些原语已添加到画布上,下面需要实现以下连接:
源终端名目标终端名Input NodeOutFormatMyEventInFormatMyEventOut
WBEEventEmitter1In您的中介流看起来应该如图 6 所示。图 6. 事件中介流定义了流的连接后,下面配置 XSLT 原语。
清单 1 和 2 显示入站 XML 和预期的出站 XML,这展示了映射关系。清单 1. 入站 XML &input1&
&field1&field1&/field1&
&field2&field2&/field2&
&field3&true&/field3&
&field4&0&/field4&
&/input1&清单 2. 出站 XML &out2:connector name="TouchPoint" version="6.2"&
&out2:connector-bundle name="MyEvent" type="Event"&
&out2:EventObj1&
&out2:String1&field1&/out2:String1&
&out2:String2&field2&/out2:String2&
&/out2:EventObj1&
&out2:EventObj2&
&out2:Int&0&/out2:Int&
&out2:Bool&true&/out2:Bool&
&/out2:EventObj2&
&/out2:connector-bundle&
&/out2:connector&正如
所述,出站 XML 可以分为两个部分:标准模板值,它们在提交的事件类型(在下面用蓝色突出显示)方面保持一致;字段元素,它们通过入站消息填充。常量值的设置方法与 V6.1 文章介绍的方法相同。指定以下值:属性固定值
Connector.NameTouchPoint
Connector.Version6.2
ConnectorBundle.NameMyEvent
ConnectorBundle.TypeEvent转换过程的第二个阶段是将相关信息从源复制到值对的目标映射。借助新的特定于事件的模式,这个映射更加容易。输入字段的值只是简单地复制到对应的事件字段中。
映射以下值:Field1
/body/operation1/connector/connector-bundle/EventObj1[1]/String1/value
/body/operation1/connector/connector-bundle/EventObj1[1]/String2/value
/body/operation1/connector/connector-bundle/EventObj2[1]/Bool/value
/body/operation1/connector/connector-bundle/EventObj2[1]/Int/value
图 7 显示完成的转换。图 7. 到事件的完全转换下面,我们将配置 Business Events Event Emitter,确保转换结果将被发送到 Business Events 进行处理。对于 Root 属性,单击 Browse,导航到消息树,选择 /body/operation1/connector。接受其他属性(包括 JMS 相关属性)的默认值。如果脚本已经使用过,默认值就是正确的;中介原语将以开箱即用方式运行。流末尾的自定义原语只是输出一条调试消息。现在可以通过将这个中介项目添加到 ESB 服务器来部署该项目,具体步骤参见 Integration Developer Information Center 中的
部分。在 ESB 流中处理 Business Events 动作下面介绍如何在 ESB 流中处理 Business Events 动作。具体步骤类似于处理事件的步骤:在 Design Data 中定义动作,导出它们的模式并将其导入 Integration Developer,然后生成几个接口以将新生成的业务对象接收为参数。我们将定义一个 JMS 导出来表示 Business Events,并使用一个为每种动作类型都提供了一种方法的接口。这并不是使 ESB 解决方案接收动作的惟一设计方法,但本文将使用这种方法。设置动作的版本兼容性Business Events V6.2 对每个不同的项目公开一个特定的动作模式。您需要在 Design Data 中选择每个动作并确保连接器版本兼容性被设置为 6.2。为此,执行以下步骤:在 Business Events Design Data 中,右键单击 My Action 并选择 Action Properties。在 Properties 对话框中,单击 Actions 选项卡并执行以下操作:
对 Connector Version
Compatibility 选择 6.2。单击 Export examples and schemas 并选择 WBE Packet Schema,然后单击 OK,如图 8 所示。图 8. 为动作导出 V6.2 模式对 ActionForResultEvent 重复这个操作。创建接口和业务对象这个小节介绍如何创建接口和业务对象。要创建业务对象,在 Integration Developer 中导入两个模式,操作方法和
部分介绍的方法相同。您的应用程序将创建两个业务对象,它们都被称为 Connector(如图 9 所示),但它们拥有不同的名称空间。在处理这些业务对象时,确保选择正确的名称空间。图 9. 数据对象下面,我们将为表示 Business Events 的导出创建一个新接口。我们将使用 Business Events Information Center 中的
部分介绍的方法,为每个动作创建一个操作,其中每个动作都作为参数。我们将使用 V6.2 Business Events Action Selector。ESB 在收到一条消息时执行这个选择器,该选择器确定从接口调用哪个操作来处理消息。如果接收到的消息是 Business Events 生成的动作,则选择器返回该动作的名称。这样,当 Business Events 生成一个动作时,与该动作同名的操作将被调用。我们将创建以下接口:接口名称类型操作名称参数fromWBEOne-wayMyActionConnector
{/6.2/Action/MyAction}One-wayActionForResultEventConnector
{/6.2/Action/ActionForResultEvent}定义组装图表现在,我们将为 WESB_WBE_Integration62 更新组装图表。为此,执行以下步骤:将 fromWBE 接口拖放到组装图表上。在弹出菜单中,选择 Export with no Binding。这个导出用于从 Business Events 接收动作以便处理。右键单击新创建的导出并选择 Generate Binding
=& Messaging Binding =& JMS Binding。在 Configure JMS Export Service 对话框(见图 10)中,指定以下值:
JMS messaging domain: Publish-SubscribeJNDI name for activation specification:
jca/wbe_actionsJNDI name for receive destination:
jms/actionTopicDefault data format: UTF8XMLDataHandlerFunction selector: WBE Action Selector 注意:您需要使用 Business Events V6.2 Fixpack 1,以便能够从可用函数选择器中选择 WBE Action Selector。图 10. 创建 JMS 绑定将 fromWBE 连接到 WESBtoWBEIntegration2。
这个组装图表看起来应该如图 11 所示。图 11. 完成的组装图表右键单击中介组件并选择 Synchronize
Interfaces and References =& To implementation。要定义中介模块,选择 MyAction。在真实的应用程序中,我们将对这个流添加动作处理流程。在本例中,我们有一个自定义中介,它将其接收到的对象输出到控制台。为 ActionForResultEvent 操作添加一个类似的自定义原语,如图 12 所示。
图 12. 处理动作的样例流将更新后的中介应用程序部署到运行时并使用 Web Services Explorer 调用 entryPoint 接口。在 ESB 的 system.out.log 中,您应该能够看到一个 MyAction 条目,该条目如下所示:
[10/02/09 16:56:08:703 GMT] 0000005d SystemOut
WESB_WBE_Integration62 : MyAction : fromWBE -& ProcessAction
[10/02/09 16:56:08:906 GMT] 0000005d SystemOut
&?xml version="1.0" encoding="UTF-8"?&
&p:ServiceMessageObject xsi:type="p:ServiceMessageObject"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ac="/6.2/Action/MyAction"
xmlns:wbe="wsdl.http://WESB_WBE_Integration62/fromWBE"
xmlns:wbe_1="http://WESB_WBE_Integration62/fromWBE"
xmlns:p="/websphere/sibx/smo/v6.0.1"&
&body xsi:type="wbe:MyActionRequestMsg"&
&wbe_1:MyAction&
&ac:connector name="WBE" version="6.2"&
&ac:connector-bundle
id="97A7B5DC9BD09BD011DDEECAA334FFB8"
name="MyAction" type="Action"
workflow="FACE"&
&ac:ActionObj1/&
&ac:ActionObj2/&
&/ac:connector-bundle&
&ac:system&L3AAM4F&/ac:system&
&ac:timestamp&T16:56:08.218Z&/ac:timestamp&
&ac:loginfo&This is an event from IBM WebSphere
Business Events&/ac:loginfo&
&/ac:connector&
&/wbe_1:MyAction&
&/p:ServiceMessageObject&这证明来自 Web Services Explorer 的请求已经被转换为一个事件。这个事件被 Business Events 接收,Business Events 生成 MyAction,然后 MyAction 被 ESB 流的处理动作接收。在下一小节中,我们将把结果事件添加到动作的处理流程中。将结果事件添加到处理动作的中介流中首先,我们看看结果事件是什么,它们在什么时候有用以及如何在 Design Data 中定义它们。然后,我们查看处理动作流的 ESB 流如何将结果事件发送到 Business Events 中。没有这个功能,ESB 将不能成为一个真正的 Business Events 连接器,基于结果事件的 Business Events 的交互集将不能作为 ESB 流程动作触发。什么是结果事件?结果事件是通过一个技术连接器从一个接触点返回的一组对象,而这是发送到那个接触点的一个动作的结果。结果事件反过来生成一个或多个动作。换句话说,连接器能够向 Business Events 表明,动作的处理过程是否成功。要使 ESB 成为一个完整的 Business Events 连接器,它需要能够发送结果事件。这些结果事件有助于进一步形成 Business Events 能够识别的模式。 中没有介绍结果事件。创建结果事件现在让我们创建一个结果事件,操作方法和
中的方法一样。在 Design Data 中,右键单击 MyAction 并选择 Insert Event
=& Result of This Action,如图 13 所示。
图 13. 插入一个事件接受默认值(以便为每个动作对象创建一个事件对象),然后单击 OK。这生成一个与动作同名的结果事件:MyAction。Design Data 将这个结果事件显示为 MyAction =& MyAction。为避免混淆,将该事件重命名为 ResultEventForMyAction。通过从 Event Object 选择 Insert =& Event Object
=& Template 添加一个新的事件对象。选择 Connection =& _Wesb_Result,如图 14 所示。这添加一个带有特定于 ESB 的信息的事件对象。
图 14. 插入事件对象结果事件定义后,可以像其他事件一样在 Business Events 中使用。可以定义由于它的到达而触发的到中间对象的映射和交互集。导出结果事件模式并将其导入 Integration Developer。另一个名为 Connector 的业务对象也被创建,这次它的名称空间是 {/6.2/Action/ResultEventForMyAction}。创建一个新接口结果事件原语格式化结果事件。通过将该结果事件连接到一个表示 Business Events 的 JMS 导入实现实际的发送。在本小节中,我们将创建一个关联到这个导入的新接口。接口 toWBEResultEvents 拥有一个单向方法,该方法带有单个参数,参数类型为 connector,名称空间为 /6.2/Event/ResultEventForMyAction。创建一个名为 toWBEResultEvents 的新接口,该接口拥有一个单向方法,该方法带有单个参数,参数类型为 connector,名称空间为 /6.2/Event/ResultEventForMyAction。下表显示我们在前面各小节中为这个 ESB 项目创建的所有接口的完整列表,这些接口的所有操作都是单向的。接口名称方法名称参数类型entryPointoperation1InputObjecttoWBEMyEventoperation1Connector
{/6.2/Event/MyEvent}fromWBEMyActionConnector
{/6.2/Action/MyAction}ActionForResultEventConnector
{/6.2/Action/ActionForResultEvent}toWBEResultEventsoperation1Connector (namespace
/6.2/Event/ResultEventForMyAction更新组装图表对组装图表进行以下修改:将 toWBEResultEvents 接口拖放到组装图表上。在弹出菜单中选择 Import with no Binding。这个导入用于将结果事件提交到 Business Events 以便处理。要定义这个导入的绑定,右键单击导入,然后选择 Generate Binding =& Messaging Binding =& JMS
Binding。在 Configure JMS Export Service 对话框中,指定以下信息:
JMS messaging domain: Publish-SubscribeConnection Factory:
Jms/WbeTopicConnectionFactoryDestination:
jms/eventTopicDefault data format:单击 Select。在 Data Transformation Configuration 向导中,选择 XML 并单击 Next,如图 15 所示。图 15. 选择数据格式转换在 Data transformation properties 页面,在 Document root name 中输入 connector,在 Document root namespace 中输入 /6.2/Event/ResultEventForMyAction,如图 16 所示。
图 16. 指定数据转换属性单击 Next,然后单击 Finish。绑定生成后,选择这个导入并在 Properties 视图中将默认消息类型从 Byte 更改为 Text(如图 17 所示),然后保存更改。
图 17. 更改默认消息类型在组装图表中,连接中介组件和 JMS 导入。最终图表应该如图 18 所示。
图 18. 完成的组装图表下面,您需要添加原语以将结果事件格式化到中介流。为此,右键单击中介组件并选择 Synchronize interfaces and references to implementation。在中介流编辑器的 Operation connection 部分,连接 MyAction 操作和 operation1,如图 19 所示。
图 19. 处理 MyAction 的中介流在本例中,自定义中介 ProcessAction 只是输出它的内容。我们将把它连接到 Business Events Send Success 原语。这将向 Business Events 表明,处理流程已经成功执行。Business Events Send Success 原语只有一个属性,用于描述传入的动作在消息树中的位置。如果 ProcessAction 原语要修改消息,传入的动作首先必须存储在临时上下文中,然后,临时上下文将作为 WBESendSuccess 原语上的属性指定。由于 ProcessAction 不修改该消息,将 WBE 原语的 Root 属性指定为 body\MyAction\connector,然后保存项目。按照 Integration Developer Information Center 中的
部分介绍的方法安装应用程序。使用 Web Services Explorer 调用 entryPoint 接口。在 ESB 的 System.out 中,应该能够看到两个从 Business Events 发来的动作,表明 ESB 和 Business Events 之间通信正常。ESB System.out 文件现在也包含第二个动作(为简便起见省略了消息头部),如下所示: [29/01/09 17:46:43:156 GMT] 0000017a SystemOut
WESB_WBE_Integration62 : ActionForResultEvent :
fromWBE -& LogActionForResultEvent
[29/01/09 17:46:43:156 GMT] 0000017a SystemOut
&?xml version="1.0" encoding="UTF-8"?&
&p:ServiceMessageObject xsi:type="p:ServiceMessageObject"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:event="/6.2/Action/ActionForResultEvent"
xmlns:wbe="wsdl.http://WESB_WBE_Integration62/fromWBE"
xmlns:wbe_1="http://WESB_WBE_Integration62/fromWBE"
xmlns:p="/websphere/sibx/smo/v6.0.1"&
&context/&
&/headers&
&body xsi:type="wbe:ActionForResultEventRequestMsg"&
&wbe_1:ActionForResultEvent&
&event:connector name="WBE" version="6.2"&
&event:connector-bundle
id="549CCA3DC380EE2C11DDE216C152BE02"
name="ActionForResultEvent" type="Action"
workflow="FACE"&
&event:ActionObj1&
&event:String1 type="String"&1&/event:String1&
&event:String2 type="String"&2&/event:String2&
&/event:ActionObj1&
&event:ActionObj2&
&event:Int type="Integer"&4&/event:Int&
&event:Bool type="Boolean"&true&/event:Bool&
&/event:ActionObj2&
&/event:connector-bundle&
&event:system&screenda-t61&/event:system&
&event:timestamp&T17:46:43.015Z
&/event:timestamp&
&event:loginfo&This is an event from IBM WebSphere
Business Events&/event:loginfo&
&/event:connector&
&/wbe_1:ActionForResultEvent&
&/p:ServiceMessageObject&现在,ESB 和 Business Events 之间的集成就完成了!在最后这个小节中,我们将检查与集成相关的问题和解决问题的方法。ESB - Business Events 集成问题故障排除这个小节介绍几个您可能遇到的问题及解决方法。连通性没有建立。如果使用脚本,记得在运行脚本后重新启动服务器。有两种方法可以检查是否已实现连通性:一是在 Application Server 管理控制台中确认针对 Business Events 总线和 ESB 中的 SCA.application 总线的消息传递引擎已经启动,二是检查两个服务器日志中的以下消息类型。 [14/01/09 10:53:42:808 GMT]
SibMessage
CWSIT0032I: The inter-bus connection WbeSibLink from
messaging engine TISMANANode05.server1-
SCA.APPLICATION.TISMANANode05Cell.Bus in bus
SCA.APPLICATION.TISMANANode05Cell.Bus to messaging engine
TISMANANode01.server1-WbeBus in bus WbeBus started.
[14/01/09 10:55:33:747 GMT] 0000008a SibMessage
SCA.APPLICATION.TISMANANode05Cell.Bus:
TISMANANode05.server1-
SCA.APPLICATION.TISMANANode05Cell.Bus]
CWSIP0382I: Messaging engine 2D8A6DC035BED981
responded to subscription request, Publish Subscribe
topology now consistent.
[来自 ESB 的事件没有到达 Business Events。打开 Business Events 事件追踪功能并检查是否有事件接触 Business Events 或者是否生成动作。检查是否已经建立连通性。在使用 Business Events 动作选择器处理动作时发生绑定错误。检查与导出关联的接口是否拥有针对 Business Events 生成的所有动作的操作。如果某些操作缺失,则要么忽略错误(本例中可能会出现错误),要么将 JMS 选择器添加到 Application Server 管理控制台中的激活规范。一个 ClassCastException 来自原语或表示 Business Events 的导出。可能的原因如下:模式被导入到 Integration Developer 后,Business Events 中的事件或动作定义已经改变。模式和定义必须同步。对应的接口可能没有正确的连接器对象。检查名称空间。ESB 日志显示错误消息:“Unable to find WBEEvent.mednode”。
确保 com.ibm.wbe.sibx.runtime_6.2.0.0.jar 已添加到 &WESB&\lib\ext。Integration Developer 启动,但中介原语面板上没有 Business Events 类别。执行以下操作:检查 Business Events 附件是否已安装。使用 – clean 选项重新启动 Integration Developer。结束语在本文中,您学习了如何创建一个展示 WebSphere ESB 和 WebSphere Business Events V6.2 之间的集成点的应用程序。您还学习了如何解决与集成相关的常见问题。这些产品改进后的集成特性使 ESB 服务集成解决方案或 Process Server 业务流程管理解决方案有可能成为 Business Events 的功能,以便探测、评估和响应事件模式,从而实现业务目标。Business Events 添加了实时事件模式探测和动态流程功能,以便响应这些针对业务流程管理领域的模式。
下载描述名字大小样例 Business Events 项目11KB完成的中介模块29KB
参考资料 :本系列的第 4 部分向您展示如何构建一个 WebSphere ESB 中介模块,以便与 WebSphere Business Events V6.1 交互。这是本文的 V6.1 版本。:获取产品信息,包括特性、好处、演示和试用下载。:获取完整的产品文档。:与其他 WebSphere Business Events 用户分享您的经验和问题。:获取关于 IBM 业务事件处理产品的更多信息。:获取针对 WebSphere ESB 的最新技术资源,包括下载、演示、文章、教程、活动、网络广播等。:获取关于 IBM BPM 解决方案的最新技术资源,包括下载、演示、文章、教程、活动、网络广播等。:获取产品信息,包括特性和好处。:访问 WebSphere 应用程序连接(以前的 WebSphere 业务集成)方法文章、下载、教程、培训、产品信息等。
,并开始使用来自 DB2、Lotus、Rational、Tivoli 和 WebSphere® 的应用程序开发工具和中间件产品。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
为灾难恢复构建应用,赢取现金大奖。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=WebSphereArticleID=439858ArticleTitle=将 WebSphere Business Events V6.2 与 WebSphere ESB 及 WebSphere Process Server 集成publish-date=

我要回帖

更多关于 neiintegration是什么 的文章

 

随机推荐