IBM Adapter 产品的演化及分类

李 峰, 软件工程师, IBM
作者照片
李峰,BM 软件开发中心二线技术支持工程师,致力于 WebSphere Adapter 和 WebShphere Enterprise Service Bus 的客户技术支持工作,具有丰富的问题分析诊断经验。
尚 进, 软件工程师, IBM
作者照片
尚进,BM 软件开发中心二线技术支持工程师,致力于 WebSphere Adapter 和 WebShphere Enterprise Service Bus 的客户技术支持工作,具有丰富的问题分析诊断经验。
杨 欣, 高级软件工程师, IBM
作者照片
杨欣,IBM 软件开发中心二线技术支持工程师,致力于 WebSphere Adapter 和 WebSphere Process Server 的客户技术支持工作,具有丰富的问题分析诊断经验。

简介: 伴随着现代企业信息化程度的大幅提高,很多企业内部共存着相互独立的信息系统(Enterprise Information System, EIS),企业在享用信息化带来的便利的同时,也面临着如何整合 EIS 间不同类型的业务数据的挑战。WebSphere Adapter 是 IBM 提出的面向服务架构(Service Oriented Architecture, SOA)解决方案的重要组成部分,是对 J2EE Connector Architecture(JCA)规范的具体实现,针对于现代企业普遍存在的业务整合问题提供了快捷方便的解决方案。该系列文章通过介绍 WebSphere Adapter 在特定业务场景中的使用方法,使读者快速的掌握 WebSphere Adapter 的主要功能以及使用 Adapter 项目的开发、部署和测试流程。

引言

IBM 的 Adapter 是帮助用户进行系统整合的重要产品。通过 Adapter,用户可以使异构系统协同工作。数据信息在不同的系统之间流转。目前,IBM 的 Adapter 产品从架构上可以分为两大类,每一类又包含几十种类型。本文将着重介绍两大类 Adapter 产品的异同。在后续文章中,将会结合不同场景,对常见的几种 Adapter 进行深入介绍。

美国 CrossWorlds Software 公司成立于 1996 年,为客户提供业务整合服务(Business Inegration Service)。其软件平台 CrossWorlds 是一个独立的 Java 程序,包含了数据映射(MAP)、流程(Collaboration),连接器(Connecotor)等部件。

2002 年 1 月,IBM 公司完成了对该公司的收购,将其并入 WebSphere 旗下。Crossworlds 中的连接器(connector)用来帮助 Crossworlds 与外部企业应用程序进行数据交互,包括数据读取和数据写入。它就是今天 IBM Adapter 的鼻祖。这些外部的企业应用程序,被称为 Enterprise Information Systems(EIS).

在逐步升级、优化的过程中,Crossworlds 被更名为 Interchange Server(ICS)。Connector 被更名为 Adapter。图 1 就是 ICS 和 Adapter 的协作流程图。红线显示了 ICS 与 Adapter 以及外部系统的交互流程。


图 1. ICS 与 Adapter 的协作流程图
图 1. ICS 与 Adapter 的协作流程图

在刚刚进入 IBM 的时候,Adapter 的种类很少,只能与有限的几种 EIS 交互。而且,Adapter 被完全集成在 ICS 中,只能为 ICS 提供服务,所有的数据都必须经由 ICS 来处理。IBM 在后来的版本升级中,逐步的将 Adapter 从 ICS 中分离出来,使其并不仅仅依赖于 ICS,并且也能够服务于 WebSphere Application Server (WAS) 和 WebSphere Message Broker (WMB)。同时,IBM 也增加了 Adapter 的类型,将其扩充到数十个种类,从而大大增强了 Adapter 的通用性。 同时为了便于区分,又将 Adapter 分为两大类: Technology Adapter 和 Application Adapter 。 Technology Adapter 通过通用的技术和标准访问 EIS 。而 Application Adapter 通过 EIS 对外开放出来的 API 访问 EIS。


表 1. Technology Adapter 主要包括下面几种类型:

Adapter Version
COM2.0.0
Email5.5.1
HTTP1.3.0
JDBC2.6.9
JText5.6.5
JMS2.8.2
MQ Series2.8.2
MQWorkflow2.8.1
TCPIP1.0.4
Web Services3.4.7


表 2. Application Adapter 主要包括以下几类:
Adapter Version
Ariba Buyer3.2.4
Clarify CRM4.8.3
eMatrix2.2.1
Exchange2.0.1
i2ADWConnector2.5.1
iSeries2.1.2
JD Edwards OneWorld2.0.4
Lotus Domino1.3.1
PeopleSoft3.1.3
Siebel4.6.3
mySAP.com6.0.9

随着 WebSphere Application Server(WAS)的成熟和 SOA 体系发展,IBM 基于 J2EE 架构和 J2EE Connector Architecture(JCA) 规范开发出了新一代 Adapter 产品。新一代 Adapter 产品,不再是独立的 Java 程序,而是基于 WAS 的一种 JCA 资源。它不再服务于 ICS ,而主要是与 WebSphere Process Server (WPS)和 WebSphere Enterprise Service Bus(WESB)进行协作。

为了区别两种 Adapter ,IBM 公司将第一代 Adapter 命名为 WebSphere Business Integration Adapter(WBI Adapter)。新一代 Adapter 命名为 WebSphere Adapter (又叫 JCA Adapter )。

表 3. WebSphere Adapter 的最新版本是 7.0,包括以下几种类型

Technology Adapter

IBM WebSphere Adapter for Flat Files V7.0

IBM WebSphere Adapter for FTP V7.0

IBM WebSphere Adapter for JDBC™ V7.0

IBM WebSphere Adapter for E-Mail V7.0

IBM WebSphere Adapter for iSeries V7.0

Application Adapter

IBM WebSphere Adapter for Lotus Domino V7.0

IBM WebSphere Adapter for SAP Applications V7.0

IBM WebSphere Adapter for PeopleSoft Enterprise V7.0

IBM WebSphere Adapter for Siebel Business Applications V7.0

IBM WebSphere Adapter for JD Edwards EnterpriseOne V7.0

IBM WebSphere Adapter for Oracle E-Business Suite V7.0

在 Adapter 产品换代的过程中,一些 WBI Adapter 并没有继续出现在 JCA Adapter 的家族表中。而是以数据绑定( Data Binding )的方式,成为了 WPS 的一部分。这种 WBI Adapter 主要包括 WBI Adapter for MQ、WBI Adapter for JMS、WBI Adapter for HTTP 以及 WBI Adapter for WebService。

虽然 WBI Adapter 与 WebSphere Adapter 在技术实现以及架构上有着巨大区别,但从基本功能层面来讲却极为相似。都是由 Broker 、参数配置、 Enterprise Metadata Discovery(EMD)、 Business Object (BO)转换和 Inbound/Outbound 等部分组成。下面,我们将从这五个方面来详细比较这两种 Adapter。

}

Business Object(BO)转换

在 IBM 的官方文档描述 “Business object is fundamental data structure for representing Business Object (BO) business data”。具体来说, BO 就是用来描述信息的元数据,所有的组件都可以理解并处理的一种数据格式。当 Adapter 需要从 EIS 获取信息的时候,就是把外部的信息转换成 BO。而当 Adapter 需要将数据写入 EIS 的时候,就是将 BO 转换成相应的信息格式。

由于 Adapter 要在业务数据和 BO 之间转换,因此需要通过 Application Specific Information(ASI) 为 BO 指明所对应的业务数据字段。

1. WBI Adapter 的 BO

WBI Adapter 有自己专用的工具 Business Object Designer 用来编辑 BO。图 2 中最后一个字段即为 ASI 字段。


图 2. WBI Adapter 的 BO 编辑界面
图 2. WBI Adapter 的 BO 编辑界面

2.WebSphere Adapter 的 BO

图 3 中上半部分为 BO,下半部分为 ‘ CITY ’ 字段的 ASI 信息。


图 3. WebSphere Adapter 的 BO 编辑界面
图 3. WebSphere Adapter 的 BO 编辑界面

}

Enterprise Metadata Discovery(EMD)

EMD 是一个向导,用来帮助用户自动生成所需要的 BO,从而使得 Adapter 更加易于操作。用户只需要根据每步的提示,填写所需要的参数即可。

1. WBI Adapter 的 EMD 过程

WBI Adapter 的 EMD 过程,名叫 Object Discovery Agent(ODA)。图 4 显示了 ODA 程序启动后的第一个界面,用户可以通过点击“ Next ”按钮逐步完成 ODA 的过程。


图 4. WBI Adapter 的 ODA 初始界面
图 4. WBI Adapter 的 ODA 初始界面

2. WebSphere Adapter 的 EMD 过程

WebSphere Adapter V7 的 EMD 过程 名叫“ External Service ”。也同样是用来帮助用户生成所需要的 BO。我们会在后续的文章中针对常见的几种 Adapter,并结合一定的场景,具体介绍如何使用其 External Service。图 5 显示了 WebSphere Adapter 的 External Service 启动后的第一个界面。用户可以按照提示,逐步完成 EMD 的过程。


图 5. WebSphere Adapter 的 External Service 初始界面
图 5. WebSphere Adapter 的 External Service 初始界面

Broker

对于 Adapter 来讲,Broker 指的是能够对 BO 进行处理和分发的运行时环境。即 Adapter 可以将 BO 送进 Broker 或者从 Broker 中取出已经处理好的 BO。

具体来讲,WBI Adapter 的 Broker 包括 ICS,WAS 和 WMB。 BO 进入 Broker 内部之后处理方式并不相同。 ICS 使用 Collaboration 来实现业务逻辑, WAS 中使用 Message Driven Bean(MDB) 来实现业务逻辑而 WMB 中则使用 Message Flow 来实现业务逻辑。

WebSphere Adapter 的 Broker 可以是 WPS 和 WESB。 WPS 使用 Business Process Execution Language(BPEL)来实现业务逻辑,而 WESB 使用 Mediation Flow 来实现业务逻辑。对于一部分 WebSphere Adapter(诸如 SAP Adapter、Siebel Adapter......)也可以用 WMB 和 WebSphere Transformation Extender (WTX) 作为 Broker。对 Broker 感兴趣的读者可以查阅 Broker 的相关资料进行深入学习。

对于各种 Adapter 所支持的 Broker 类型,读者可以查询 兼容性列表(Compatibility Matrix)。

参数配置

任何一种 Adapter 都有很多具体的参数需要配置。

1. WBI Adapter 的参数配置

WBI Adapter 的所有配置信息都存放在一个后缀名为 CFG 的 xml 文件中, WBI Adapter 也提供了专门的工具 Connector Configurator 来编辑这个 CFG 文件。图 6 即为该工具的界面。


图 6. WBI Adapter 的配置界面
图 6. WBI Adapter 的配置界面

2. WebSphere Adapter 的参数配置

WebSphere Adapter 的参数配置界面与 Broker 整合在一起。 WebSphere Integration Developer(WID)是 WPS/WESB 的开发环境,也用来开发 Adapter。图 7 为配置 JDBC Adapter 的界面:


图 7. WebSphere Adapter 的配置界面
图 7. WebSphere Adapter 的配置界面

Inbound/Outbound

所有的 Adapter 都支持双向的数据流动,Inbound 和 Outbound。就 Adapter 而言,Inbound 指的是数据从 EIS 通过 Adapter 进入 Broker。 Outbound 指的是 Broker 里的数据,通过 Adapter 发送到 EIS 中去。

1. WBI Adapter 的 Inbound/Outbound

缺省配置下,WBI Adapter 会同时启动 Inbound 模块和 Outbound 模块。不论 Inbound 还是 Outbound ,配置文件没有差别。不过用户可以通过配置启动参数,将 Inbound 功能禁止掉。

2. WebSphere Adapter 的 Inbound/Outbound

WebSphere Adapter 不能同时启动 Inbound 模块和 Outbound 模块。在 EMD 的过程中,会要求用户指定 Inbound 还是 Outbound,最后所生成的组件也不同。Inbound 的 EMD 过程会生成 Export 组件,Outbound 的 EMD 过程会生产 Import 组件。图 8 显示了用户在 EMD 过程中选择 Outbound/Inbound 的界面


图 8. WebSphere Adapter 在 EMD 过程中需要选择 Outbound/Inbound
图 8. WebSphere Adapter 在 EMD 过程中需要选择 Outbound/Inbound

查看日志是分析问题的重要手段。

WBI Adapter

WBI Adapter 的 Trace 从低到高分为 1,2,3,4,5 共 5 个级别。为了收集尽可能多的信息,通常建议设置成 5。如下图 9 所示:


图 9. WBI Adapter 设置 Trace 级别
图 9. WBI Adapter 设置 Trace 级别

WBI Adapter 的 Trace 和 Log 不需要跟 Broker 打印在一起,用户可以单独设置文件的路径和大小。如图 10 所示:


图 10. WBI Adapter 中设置 Log 和 Trace
图 10. WBI Adapter 中设置 Log 和 Trace

WebSphere Adapter

通常建议将 Trace 级别设置成 com.ibm.j2ca.*=finest. 如图 11 所示:


图 11. WebSphere Adapter 设置 Trace 级别
图 11. WebSphere Adapter 设置 Trace 级别

不同于 WBI Adapter, WebSphere Adapter 不能单独打印 trace,它的 trace 打印在 Broker 的 log 文件里。如图 12 所示:


图 12. WebSphere Adapter V7 的 Log 和 Trace
图 12. WebSphere Adapter V7 的 Log 和 Trace

本文介绍了 Adapter 的产生和发展过程。由于 WebSphere Adapter 具有很多良好的新特性,在后续的文章中,我们会由浅入深的逐步介绍介绍多种 WebSphere Adapter 在特定场景下的使用方法。

原文链接:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1009_lif_adapterhistory/1009_lif_adapterhistory.html

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

转载于:http://blog.itpub.net/14789789/viewspace-674303/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值