ITPub博客

首页 > Linux操作系统 > Linux操作系统 > WebSphere Adapter V6.1 在 WPS ND 环境中进行 EIS 集成

WebSphere Adapter V6.1 在 WPS ND 环境中进行 EIS 集成

原创 Linux操作系统 作者:CloudSpace 时间:2009-04-01 15:24:45 0 删除 编辑
WebSphere Adapter 是 IBM 对 JCA 标准的实现,用于企业信息系统(EIS)间的业务整合,在 SOA 解决方案中扮演着重要角色。通过阅读本文,读者可以了解如何在 WPS ND 环境中使用 WebSphere Adapter V6.1 进行 EIS 集成,如何使用 WebSphere Adapters 6.1 for Siebel 和 WebSphere Adapters 6.1 for FlatFile 开发业务集成示例场景,以及如何在该场景中运用WebSphere Adapter V6.1 支持节点级部署的新特性。

引言

WebSphere Adapter V6.1 是目前适配器的最新版本,它支持部署在多种 Broker 运行时环境中,包括 WebSphere Process Server(WPS),WebSphere Application Server(WAS), WebSphere Message Broker(WMB) 以及 WebSphere Transformation Extender 等。WebSphere Adapter 应用程序同样可以部署、运行在 WPS/WAS ND 分布式集群环境中。Adapters 用户能够享受到通过服务器集群实现的可扩展性、负载均衡和高可用性。

从 V6.1 开始,WebSphere Adapter 正式支持在 WPS/WAS 上的两种部署方式,包括应用程序级部署 (Application Level Deployment) 和节点级部署 (Node Level Deployment)。这个新特性使用户配置的适配器可以与多个不同的应用程序进行交互,增强了适配器的可重用性。

本文根据实际业务整合应用经验,选择 WPS ND 环境作为适配器的运行时,主要描述了 WebSphere Adapter V6.1 应用程序的开发过程,适配器应用程序的节点级部署,以及集成适配器应用程序与 WPS 集群环境协作的方法。文章提供了一个示例场景的完整描述及开发过程,以此说明:

  1. WebSphere Adapter V6.1 如何与 WPS ND V6.1 环境集成协作;
  2. 不同WebSphere Adapter 应用程序如何在多个 WebSphere 节点之间进行交互;
  3. WebSphere Adapter V6.1 如何支持在 WPS 上的节点级部署。

本文假设读者具有一定的 WebSphere 适配器应用程序开发经验和 WID 和 WPS ND 环境基础。

WebSphere Adapter V6.1 和示例场景介绍

WebSphere Adapter V6.1 主要包括两类,即 Technology Adapters 和 Application Adapters。前者提供通过某种技术、标准对特定数据的访问连接,目前包括 WebSphere Adapters for FlatFile,FTP,Email 和 JDBC;后者能够连接到某种特定 EIS 并且提供利用 EIS 中的数据和服务的能力,目前包括 WebSphere Adapter for SAP Software, WebSphere Adapter for Oracle E-Business Suite, WebSphere Adapter for Siebel Business Applications, WebSphere Adapter for PeopleSoft Enterprise 和 WebSphere Adapter for JD Edwards Enterprise One。

在 WebSphere Adapter 应用程序开发、部署和运行过程中,需要有开发环境和运行时环境支持。在 V6.0.2 中,用户使用 WID 开发 WebSphere Adapter 应用程序,并将其部署、运行在 WPS 或者 WESB 上。V6.1 除了 WPS、WESB 外,还支持 WAS,WMB 和 WebSphere Transformation Extender。相应地,适配器应用程序的开发环境增加了 Rational Application Developer,WebSphere Message Broker Toolkit 和 WTX Design Studio。随着多种开发环境和运行时环境的支持,WebSphere Adapter 在用户的业务集成任务和 SOA 解决方案中得到越来越广泛的应用。

入站

进行入站操作时,EIS数据发生任何改变都会生成相应事件,适配器通过主动 poll 或者被动 push,发现事件后查询相应 EIS 数据,将其发送到特定目的端。

出站

进行出站操作时,应用程序通过适配器对 EIS 数据执行 CRUD 等操作,或者调用 EIS 提供的对外接口与服务。

在 WPS ND 环境中进行 EIS 集成示例场景介绍

WebSphere Adapter 支持两种交互方式,即入站(inbound)和出站(outbound)。利用多种适配器进行不同信息系统之间的数据同步,是一个常见的业务集成场景。如图1所示,适配器 A 用于轮询监听系统 A ,当系统 A 数据发生改变,适配器 A 执行入站操作,查询系统 A 数据,并触发中介组件。中介组件处理数据后,调用适配器 B 的相应出站操作,最终出站程序改变系统 B 中的对应数据,完成系统 A 和 B 之间的异构数据同步。


图 1. 利用 WebSphere Adapter 进行 EIS 间数据同步

WebSphere Adapter 应用程序与其他应用程序一样,除了可以在独立式应用服务器(Standalone Application Server)中部署、运行和管理,也能够在分布式服务器环境中工作。事实上,通过配置,工作在服务器集群中的适配器应用程序能够使企业用户的业务整合实现具有更可靠、更强大的服务质量保证。

下面介绍如何使用 WebSphere Adapter V6.1 在 WPS ND 环境中进行 EIS 集成的示例场景。随后,我们将构建示例 WPS 集群环境,开发一个端到端的 WebSphere Adapter V6.1 应用程序,并将其部署、运行在不同 WPS 节点上。图 2 展示了这个示例业务集成场景的完整架构。


图2. 示例业务集成场景架构

该示例通过开发、部署运行在 WPS ND 环境中的 WebSphere Adapter 应用程序,实现客户业务数据从远程 Siebel 信息系统到本地文件系统的转换与同步。这里用到了的 WebSphere Adapter for Siebel V6.1 和 WebSphere Adapter for FlatFile V6.1。

在示例场景中,Siebel 适配器入站程序被部署在 WPS 节点 A 上,用于监听终端 Siebel 系统。当远程 Siebel 系统中增加一条数据记录,将产生相应的事件;运行在应用服务器 A 中的Siebel 入站应用程序轮询得到该事件;适配器根据该事件查询 Siebel 数据并转化成特定格式的 Siebel 数据对象;监听 Siebel 适配器的消息驱动 Bean(MDB)用此业务对象(BO)调用中介处理模块(Mediation Module)。我们直接利用 Java 组件实现中介处理逻辑。(在真实业务集成环境中,更常见的用法是使用接口映射和数据映射,本文将不涉及这方面的内容)。中介模块也被装载入应用服务器 A,它将传入的 Siebel 业务对象转换为符合 FlatFile 适配器特定格式的业务对象,并调用运行于应用服务器 B 中的 FlatFile 出站应用程序包含的 Create 操作,最终 FlatFile 适配器会在 B 文件系统中创建包含 Siebel 数据内容的结果文件。

这里要注意的是,Siebel 入站应用程序中包含了 Siebel 适配器组件,而 FlatFile 出站应用程序中并没有包含任何适配器,FlatFile 适配器被独立安装在节点 B 中。按照 WebSphere Adapter 部署方案,前者属于应用程序级部署(Application level Deployment),而后者属于节点级部署(Node level Deployment)。根据 EAR Classloader 机制,采用应用程序级部署,适配器只能被其所属的应用程序调用,其他应用程序无法利用其服务;而采用节点级部署,适配器由专门的 Classloader 装载,可以被同一节点中的多个应用程序调用,不同应用程序可以提供各自的配置方案来创建各自的适配器运行实例,连接不同的 EIS。


示例 WPS ND 架构介绍

示例中的 WPS ND 环境拓扑如图 3 所示,一个 WPS 单元(Cell)包含两个节点(Node A 和B)和一个部署管理器(Dmgr)分别安装在两台 AIX 机器上,每个节点中创建一个应用服务器概要文件(Application Server Profile)。在节点 A 上建立集群。节点 A、B 由部署管理器 Dmgr 统一管理。

关于 WPS 的安装,请参考集群环境的搭建相关的文章。下面主要介绍适配器应用程序在上述 WPS ND 环境中的的配置和运行。


图3. 示例 WPS ND 环境拓扑
 

WebSphere Adapter V6.1 业务集成示例场景开发、测试

开发示例场景中的应用模块

我们使用 WID V6.1 来开发所有应用程序,包括 Siebel 适配器入站模块,FlatFile 适配器出站模块,和中介处理模块。利用导入(import)和导出(export)组件,通过 SCA 绑定服务连接这些模块。SCA 绑定的作用域覆盖了同一单元中的所有节点,因此我们可以将多个出站、入站及中介模块分别部署在不同服务器上。下面将分别介绍如何开发这些应用模块,以及如何配置、运行、测试本文中的示例场景。

开发 Siebel 适配器入站应用程序

打开 WID V6.1,切换到 J2EE 视图,从“导入 RAR 文件向导” 中安装 “WebSphere Adapter for Siebel 6.1”。如图 4 所示,保证选择 “WebSphere Process Server v6.1” 作为目标运行时。


图4 导入 Adapter 文件

在 WID V6.1 中生成一个新的模块项目,命名为 “SiebelInboundModule”,在该项目上右击,选择 “New”->“External Service”,打开 “External Service”向导。运行适配器服务发现向导,生成业务对象数据和适配器服务的相关定义、配置文件。

选择 “Adapter”,下一步;

在适配器列表里,选择刚才安装的适配器 “CWYEB_SiebelAdapter”,下一步;

选择运行 Siebel 适配器所需的依赖文件,如图 5 所示。


图5 导入 Siebel Adapter 依赖文件

下一步选择 “Inbound”。

接下来在服务发现配置页面,填写连接 Siebel 系统的必要信息,如图 6 所示。保证选择 “Siebel Business Object” 作为 Siebel 对象发现类型。点下一步,将开始连接目标 Siebel 系统。


图6 配置 Siebel EIS 连接信息

如果连接成功,则可以看到 “Object Discovery and Selection” 页面。

在图 7 所示页面,打开 “Edit Query” 对话框,输入 Siebel 系统数据查询条件,例如“Account*”。点击 “Run Query”,查询 Siebel 系统数据,查询结果将在 “Discovered objects” 中列出。从中选择目标数据对象 “Account” 并添加到 “Selected objects” 中。下一步。


图7 选择 Siebel 数据对象

保留 “Configure Composite Properties” 页面的默认配置,下一步。

在 “Service Generation and Deployment Configuration” 页面中,不要选择 “Specify a Java Authentication and Authorization Service (JAAS) alias security credential”。点击 “Advance”,在 “connection properties”中直接指定连接认证信息。检查所有连接信息都是正确的。下一步。

在 “Service Location Properties” 页中选择 “SiebelInboundModule” 模块保存所有生成的文件。

保留其他默认配置,完成适配器服务发现。

打开 “SiebelInboundModule” 编辑窗口,可以看到生成的 “SiebelInboundInterface” 组件。

添加一个 Java 组件,命名为 “InvokeXNodesOutboundComponent”,并用连线将其连接到“SiebelInboundInterface” 组件,如图 8 所示。


图8 Siebel 入站应用

开发 FlatFile 适配器出站应用程序

我们同样使用 WID V6.1 中的 “External Service” 向导生成 FlatFile 适配器出站应用程序。

首先,新建模块项目 “FlatFileOutboundModule”,导入 FlatFile 适配器 RAR 文件,在 “IBM WebSphere Adapter for Flat Files (IBM: 6.1)” 目录下选择 “CWYFF_FlatFile” 后,选择执行 “Outbound” 流程。

在 “Service Configuration Properties” 页中,可以选择将适配器和出站应用模块一同部署,或将适配器单独部署在节点上,以此决定适配器仅被这一个应用程序使用,或是被同一节点中的多个应用程序使用。我们选择第二种方法,来演示 WebSphere 适配器 V6.1 如何支持 WebSphere 节点级部署。

图9中,选择 “On Server for use by multiple applications” 后,“Connection properties” 下拉框变为可选。其中的两个选项用来决定如何为适配器配置连接属性值。一种方法是直接在适配器服务发现过程中配置,另一种是通过 WebSphere Process Server 中的连接工厂配置。如果选择后者,连接工厂必须存在、配置于特定 WPS 节点中,并能够通过有效的 JNDI 名在服务器运行时中找到。

选择 “Use properties below”,在 “Connection Properties” 下,为 “Output directory” 属性选择正确的文件系统输出路径。下一步;


图9 配置 FlatFile 出站服务属性

在 “Add Operation” 页面,添加 “Create” 操作。如图 10 。


图10 选择 FlatFile 出站操作

如下图 11 所示,修改 “Operation Name” 为 “createFlatFile”。

为 “Create” 操作的输入数据创建一个新的 “Data binding configuration”,点击 “New”,打开“Binding Resource Configuration” 对话框。


图11 配置 FlatFile 出站操作

如图 12 所示,填入必要的配置信息,命名数据绑定配置为“FlatFileOutboundDataBindingConfiguration”。


图12 创建 FlatFile 出站应用数据绑定

选择 “Data binding”,下一步;


图13 选择数据绑定作为配置类型

本示例中,FlatFile 出站应用不需要进行文件内容解析,所以这里也不必生成 DataHandler。点击 “Finish” 结束。如果用户需要使用特定格式的文件,例如 XML 文件,那么就要在图 14 所示 “Data Binding Properties” 页面中选择或生成特定的 DataHandler 类来进行解析。


图14 配置数据绑定

返回到 “Add Operation” 页面。

在为 “Create” 操作的输出数据设置 “Data binding configurations” 时,可以重用刚才生成的数据绑定配置 “FlatFileOutboundDataBindingConfiguration”,如图 15 所示。


图15数据绑定配置

点击 “Finish”,结束 “Create” 操作的配置。

通过同样的步骤,也可以添加其他操作,例如 “Update”, “List” 和 “Delete”等,如图 16 所示。


图16 添加多种出站操作

下一步,检查其余配置信息无误后,完成并关闭适配器服务发现向导。

完成 FlatFile 适配器出站服务发现后,在 FlatFileOutboundModule 中生成了所有数据对象和服务发布所需文件。我们将在 WPS 节点级部署 FlatFile 适配器,因此 CWYFF_FlatFile.rar 文件不必包含在 FlatFile 出站应用程序之中。

打开 FlatFileOutboundModule 中的 “Dependencies” 配置,找到 “J2EE(With EJB,Connector,etc)” 标签,选择 “CWYFF_FlatFile”,并保证 “Deploy with Module” 选项没有被选中。

切换到 J2EE 视图,打开 “FlatFileOutboundInterface.import” 文件的源文件,比较 WebSphere Adapter 信息与清单1中的示例代码是否一致。示例代码中的粗体部分所显示的配置信息用来为出站应用程序指定其所依赖的 FlatFile 适配器。代码中也包含了 Connection Factory 属性。如果在执行适配器服务发现程序时选择 “Use JNDI lookup name configured on server”,那么出现在这里的属性值就是当时所指定的 JNDI 名。


清单1 示例代码

  


  
   CWYFF_FlatFile
  

     
        
         /home/OutputDir  
        
    

如图 17,将 FlatFile 出站服务以 SCA 绑定方式导出,这样别的应用模块就可以导入调用生成的 FlatFile 出站应用。在 FlatFileOutboundModule 中添加 “Export” 组件,命名为 “FlatFileOutboundExport”,并连接到 “FlatFileOutboundInterface” 组件。


图17 FlatFile 出站应用

保存所有项目。这样,FlatFile 出站应用模块的开发完成了。

开发中介处理模块

示例场景中,中介处理模块负责将输入的 Siebel 业务数据对象转换为 FlatFile 业务数据对象,然后调用 FlatFile 出站服务接口,以此实现示例业务逻辑。

该模块开发过程如下:

创建一个新模块项目 “XNodesInvokeOutboundModule”,在其中添加一个 Java 组件,并命名为“XNodesInvokeOutboundComponent”;

将 FlatFile 出站服务导入中介模块,切换至业务集成视图,从 FlatFileOutboundModule 选中FlatFileOutboundExport 组件并拖放入 XNodesInvokeOutboundModule 的组装图编辑窗口。

在弹出的组件创建窗口中选择 “Import with SCA Binding” 后,就会生成一个导入组件,将其改名为 “FlatFileOutboundImport”。 XNodesInvokeOutboundComponent 组件通过连接这个导入组件来调用 FlatFile 出站服务。

在 FlatFileOutboundImport 组件上添加 FlatFileOutboundInterface 接口。从FlatFileOutboundModule 中将接口定义文件(FlatFileOutboundInterface.wsdl)和所有业务数据定义文件(.xsd文件)拷贝复制入 XNodesInvokeOutboundModule 项目。

在 XNodesInvokeOutboundModule 组装编辑窗口中,右击 FlatFileOutboundImport 组件,在弹出菜单中选择 “Add Interface”-> “Show WSDL”-> 选择 “FlatFileOutboundInterface”->OK。

如图18,在 XNodesInvokeOutboundComponent 和 FlatFileOutboundImport 之间连线,并选用 WSDL 接口描述 Java 组件上的引用。


图 18 创建中介模块

至此,XNodesInvokeOutboundComponent 组件已经可以调用 FlatFileOutboundImport 组件所提供的各种操作。

接下来为 XNodesInvokeOutboundComponent 组件添加接口,并连接导出组件,以便其他应用能够导入、调用 XNodesInvokeOutboundComponent 组件包含的方法。

先创建接口 “XNodesInvokeOutboundInterface”,具体属性和方法定义如图 19 所示。


图 19 定义接口

右击 XNodesInvokeOutboundComponent 组件,选择 “Add Interface”->”Show WSDL”->“XNodesInvokeOutboundInterface”

在组装编辑窗口中,添加一个导出组件,命名为 “XNodesInvokeOutboundExport”,并与XNodesInvokeOutboundComponent 组件用连线连接,并

保存项目。


图 20 完成中介模块创建

接下来,编写 Java 代码实现 XNodesInvokeOutboundComponent 内部逻辑(即业务数据对象转换和 FlatFile 出站服务调用)。

右击 XNodesInvokeOutboundComponent 组件,选择 “Generate Implementation”,或者双击XNodesInvokeOutboundComponent 组件,生成默认 Java 实现代码。

按照下载代码中的 “XNodesInvokeOutboundComponentImpl.java” 文件,修改自动生成的 Java 文件。

我们添加的代码很容易理解,主要实现两个方法:

“public DataObject prepareFlatFileBG()”,实现从 Siebel 入站业务对象到 FlatFileBG 对象的转换。FlatFileBG 业务对象被用来调用 FlatFile 出站服务。

“public DataObject invokeFlatFileOutbound(String operation, String filename,String filepath, String content)”,实现远程调用FlatFile出站服务。

修改 Siebel 入站模块,调用中介处理服务

此前我们已经创建了 Siebel 入站模块,不过我们尚未实现其中的 Java 组件“InvokeXNodesOutboundComponent”。现在我们来实现它,使入站应用能够调用外部服务,如示例中由中介模块提供的 FlatFile 出站操作调用服务。

将中介处理模块的接口定义文件 XNodesInvokeOutboundInterface.wsdl 拷贝粘贴到SiebelInboundModule 模块中。

在业务集成视图下打开 SiebelInboundModule 的组装图,将 XNodesInvokeOutboundExport 组件从 XNodesInvokeOutboundModule 项目中拖放入 SiebelInboundModule 组装图中。选择“Import with SCA Binding”,将生成的导入组件改名为 “XNodeInvokeOutboundImport”。 用连线将其与Java组件 InvokeXNodesOutboundComponent 连接起来。保证添加在InvokeXNodesOutboundComponent 组件上的引用命名为 “XNodesInvokeOutboundPartner”。

下面实现 Siebel 入站应用中的 Java 组件 “InvokeXNodesOutboundComponent”,来调用中介模块服务。双击 “InvokeXNodesOutboundComponent” 组件,可以得到默认 Java 实现代码。我们只需要将调用远程服务的代码添加到方法 emitCreateAfterImageBOAccountBCAccount(DataObject emitCreateAfterImageBOAccountBCAccountInput) 的实现中。清单2为核心代码,完整代码请下载参考。这样使得 Siebel 入站应用在轮询处理 Siebel 系统内所执行的 Create 操作时能够调用外部服务。


清单2 核心实现代码

public void emitCreateAfterImageBOAccountBCAccount(
    DataObject emitCreateAfterImageBOAccountBCAccountInput) {

       try{
           String bg = 
           AdapterBOUtil.serializeDataObject(emitCreateAfterImageBOAccountBCAccountInput);

           DataObject wrapper =
emitCreateAfterImageBOAccountBCAccountInput.getDataObject("BOAccountBCAccount");
String accountId = wrapper.getString("Id");
    String file_name = accountId + ".xml";
     com.ibm.websphere.sca.ServiceManager serviceManager = 
     com.ibm.websphere.sca.ServiceManager.INSTANCE;
     com.ibm.websphere.bo.BOFactory bofactory =
     (com.ibm.websphere.bo.BOFactory)serviceManager.
     locateService("com/ibm/websphere/bo/BOFactory");

     com.ibm.websphere.sca.Service xnodesService =
     (com.ibm.websphere.sca.Service)serviceManager.
     locateService("XNodesInvokeOutboundPartner");	

     com.ibm.websphere.sca.scdl.Reference reference = xnodesService.getReference();
     com.ibm.websphere.sca.scdl.OperationType perationType = 
     reference.getOperationType("invokeFlatFileOutbound");
     commonj.sdo.Type inputType = operationType.getInputType();
     commonj.sdo.DataObject input = bofactory.createByType(inputType);
      input.set(0, "createFlatFile");
      input.set(1, file_name);
      input.set(2, "C:\\temp");
      input.set(3, bg);
      xnodesService.invoke(operationType, input);
       }
      catch (Exception e) 
      {

       e.printStackTrace();
        }
}

保存项目。

导出各模块 EAR 文件

至此,我们已经开发完毕示例场景中的所有应用模块。

现在,将三个应用分别打包导出为 EAR 文件,包括:SiebelInboundModuleApp.ear, FlatFileOutboundModuleApp.ear, 和 XNodesInvokeOutboundModuleApp.ear.

在 WPS ND 示例环境中安装 EAR 应用

接下来将所有 EAR 包,安装部署在我们的 WPS ND 示例环境中。按照前面章节所述,我们将把 SiebelInboundModuleApp.ear 和 XNodesInvokeOutboundModuleApp.ear 安装在节点 A 服务器 A 中,并采用应用程序级部署(Application level Deployment);把 FlatFileOutboundModuleApp.ear 安装在节点 B 服务器 B 中,并采用节点级部署(Node level Deployment)。

在示例 WPS ND 环境的管理器控制台中,打开 “Applications”->”Install Application”。

SiebelInboundModuleApp.ear

在安装首页,选择 SiebelInboundModuleApp.ear 在文件系统中的存放位置。

选择 “Show me all installation options and parameters” 选项,下一步。

在下一页中选择 “Override existing bindings” ,下一步。

之后将有10步完成安装过程。

步骤1,接受所有默认配置;

步骤2,如图21,选中两个模块(SiebelInboundModuleEJB 和 IBM WebShpere Adapter for Siebel Business Applications),然后在上方 “Clusters and Servers” 列表里选中之前配置的集群选项,点击应用。这样,这两个模块都将被部署到集群中(请确认在搭建示例环境时,已经在节点 A 服务器 A 上配置了该集群)。


图 21 配置入站应用及部署目标环境

接受剩余步骤中的所有默认配置,结束安装过程。

保存安装结果,并在所有节点间进行同步。

在管理控制台下,打开 “Applications“->”Enterprise Applications”,可以看到SiebelInboundModuleApp 已经被安装了。

安装 XNodesInvokeOutboundModuleApp.ear

XNodesInvokeOutboundModuleApp 应用将被安装在同一个集群上。

具体步骤与安装 SiebelInboundModuleApp.ear 时一样。

安装完成后,保存并同步结果。在管理控制台,“Applications->Enterprise Applications” 页面,可以看到 XnodesInvokeOutboundModuleApp 也已安装成功。

安装 FlatFileOutboundModuleApp.ear

为了验证 WebSphere Adapter 应用程序是如何在 WPS 节点之间进行交互的,我们将 FlatFile出站应用部署在节点 B 服务器 B 中。同时,对 FlatFileOutboundModuleApp.ear 采用 WPS 节点级部署(Node Level Deployment)。

打开部署管理器控制台,进入 “Applications->Install Application”,找到FlatFileOutboundModuleApp.ear 的存放位置, 选择 “Show me all installation options and parameters”。

在下一页,选择 “Override existing bindings”。

之后将有9步完成安装过程。

接受步骤一中的默认配置,

在步骤二中,选中所有模块(这里只有 FlatFileOutboundMoudleEJB 模块,而没有 FlatFile 适配器模块。之后,FlatFile 适配器将被独立安装在节点上),选择你安装的节点 B 中的服务器 B,点击应用。

接下来接受默认配置至结束安装过程。

完成安装后,保存安装结果,并在所有节点间进行同步。

返回管理控制台,进入 “Applications->Enterprise Applications” 页面,看到FlatFileOutboundModuleApp 已经安装好了。以上三个应用程序都处于停止状态。

WebSphere Adapter V6.1 对Node level Deployment 新特性的支持

WebSphere Adapter V6.1 可以支持在 WPS ND 环境中的两种部署方式,应用级部署和节点级部署。而 V6.0.2 在官方说明中仅支持应用级部署。


图 22 应用级部署和节点级部署

如果采用应用级部署,上图所示 WPS 节点 A,资源适配器内嵌在应用程序中,与应用(EAR) 一起部署在 WPS 服务器上。这样部署的适配器只能与包含它的应用程序进行交互,而不能被其他应用访问。如果采用节点级部署,如图26所示 WPS 节点 B,资源适配器将被独立地安装在某个 WPS 节点上,而不会和访问它的任何应用 (EAR) 一起安装。适配器并不内嵌在应用程序中,任何入站/出站应用都可以通过适配器的名字在 WPS 节点中进行查找、建立关联。因此,节点级部署的适配器可以与不同的应用程序进行交互。

在我们的示例中,FlatFile 适配器将被独立地部署在 WPS 节点 B 上,FlatFile 出站应用(没有包含适配器模块)被安装在节点 B 服务器 B 中。以下介绍如何实现适配器的节点级部署。

在WPS ND 示例环境中执行节点级部署

打开部署管理器的管理控制台,进入 “Resources->Resource Adapters”, 选择 “Install RAR”.

在安装适配器页面,浏览到 FlatFile 适配器文件 CWYFF_FlatFile.rar 的存放位置,

在 “Scope” 属性处选择之前所安装的节点 B,如图 23 所示 “aix135Node02”,作为安装FlatFile 适配器的目标节点。这使得适配器 CWYFF_FlatFile.rar 被拷贝安装在节点 B 上,而所有部署在节点 B 服务器上的应用程序都可以访问该适配器了。


图 23 选择安装 FlatFile Adapter 的节点

下一步保持其他默认属性设置,确认适配器的名字为 “IBM WebSphere Adapter for Flat Files”的正确性和唯一性,所有需要访问该适配器的应用程序都将根据适配器名在节点 B 中查找。

我们开发的是 FlatFile 出站应用,所以选择编辑 “Additional Properties”->“J2C connection factories”。进入连接工厂的自定义属性列表,检查、确认所有属性设置正确。

保存所有改动,并同步节点。

这样,WebSphere Adapter V6.1 for FlatFile 就安装在了 WPS 节点上。

测试示例

至此,我们完成了整个示例场景的所有开发、配置、部署工作。接下来,启动所有应用,验证场景的运行结果。

打开管理控制台,进入 “Applications->Enterprise Applications”,选择已经安装好的三个应用(FlatFileOutboundModuleApp, SiebelInboundModuleApp, XNodesInvokeOutboundModuleApp),点击 “Start”。确认所有应用都正常启动,如图24所示。


图 24 启动示例场景应用

在 Siebel 系统中生成一条 “Account” 数据记录,Siebel 内置的触发器会因此在事件表中插入一条事件记录。

运行在集群(配置在节点 A 服务器 A 上)中的 Siebel 入站应用程序会轮询、得到这条事件记录,并从 Siebel 系统中提取相关业务数据,然后调用 XNodesInvokeOutbound 服务,将Siebel 业务数据对象传递到中介处理模块,中介处理流程会将 Siebel 业务数据转换为 FlatFile业务数据对象格式,进一步查找到、调用节点 B 上服务器 B 中部署的 FlatFile 出站服务。最后,FlatFile 出站应用被调用,并根据传入的业务数据对象,在节点 B 服务器 B 所在的文件系统中生成文件。该文件是以 Siebel 事件 ID 命名的 XML 文件,其内容包括了 Siebel 入站业务对象数据。

打开 SystemOut.log 文件,可以看到整个业务流程的执行过程,详细内容请参照下载文件。

如果你在控制台看到的输出内容与示例相同,说明你已经成功地开发、配置、测试了本文描述的集成场景。

结论

借助于 WebSphere Adapters 6.1 for Siebel 和 WebSphere Adapters 6.1 for FlatFile,我们完成了Siebel 企业信息系统与远程文件系统的集成。本文通过示例场景介绍了 WebSphere Adapter V6.1 的新功能,并描述了利用适配器在 WPS ND 环境中进行业务集成的示例开发、配置和测试过程,希望能对读者有所帮助。

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

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

注册时间:2008-07-08

  • 博文量
    355
  • 访问量
    859793