IBM Adapter 產品的演化及分類

CloudSpace發表於2010-09-17
李 峰, 軟體工程師, IBM
尚 進, 軟體工程師, IBM
楊 欣, 高階軟體工程師, IBM

簡介: 伴隨著現代企業資訊化程度的大幅提高,很多企業內部共存著相互獨立的資訊系統(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
COM 2.0.0
Email 5.5.1
HTTP 1.3.0
JDBC 2.6.9
JText 5.6.5
JMS 2.8.2
MQ Series 2.8.2
MQWorkflow 2.8.1
TCPIP 1.0.4
Web Services 3.4.7


表 2. Application Adapter 主要包括以下幾類:
Adapter Version
Ariba Buyer 3.2.4
Clarify CRM 4.8.3
eMatrix 2.2.1
Exchange 2.0.1
i2ADWConnector 2.5.1
iSeries 2.1.2
JD Edwards OneWorld 2.0.4
Lotus Domino 1.3.1
PeopleSoft 3.1.3
Siebel 4.6.3
mySAP.com 6.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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章