原文地址:http://www.ibm.com/developerworks/cn/webservices/ws-wseai/index.html

2002 年 12 月 01 日

自誕生的那一刻起,Web服務就像XML技術一樣的炙手可熱。作為企業應用集成領域的一朵奇葩,Web服務很快引起了企業應用集成領域格局上的變化,也給傳統的企業應用集成(EAI)解決方案帶來了巨大的沖擊。一場關于Web服務與EAI的爭論也自此展開。

引言

企業是一個非常復雜的系統,其行為具有很強的目的性。長期以來,企業已經習慣了按功能來劃分自身。然而隨著企業的不斷發展和生存環境的不斷變化,這種功能 劃分已經成為了企業管理的負擔,嚴重影響了企業對市場的快速響應。為了解決這一問題,企業迫切需要集成企業中的各個功能體并重組它們的業務流程,從而為用 戶提供更快捷、方便和高質量的服務,企業應用集成EAI(Enterprise application integration)應運而生。同時,隨著以Web為中心的經濟模式的確立,越來越多的企業開始拓展其在Internet上的業務,并尋找可以使它們 的業務流程線性化的計算機技術。XML技術的發展和Web服務(Web services)的誕生給這些企業帶來了契機。

盡 管Web服務的最初目的是為了給應用提供一種通過XML消息訪問網絡的接口。但它很快成為了一種新的應用集成模式的核心技術。目前,關于Web服務與 EAI的關系已經成為了一個爭論的熱點,既有人認為Web服務最終將取代大部分的EAI市場,甚至替代EAI解決方案,也有人認為Web服務根本不會取代 EAI或者其它傳統的應用集成方法(如EDI,中間件等)。然而,不管Web服務是否會替代傳統的EAI,我們都已經接受這樣的一個事實:無論Web服務 還是EAI其實二者都是針對同一個問題的解決方案。





回頁首


同一問題 不同答案

  • 不同的作用域

    從 技術角度來說,EAI可以看作許多不同集成方法的集合,例如數據適配器、消息代理和其它類型的中間件等等。EAI通過將一系列的方法、技術和工具組織在一 起來實現對不同應用的合并與協調,從而實現企業信息系統的集成。Web服務則是一種通過URI識別的模塊化軟件應用,它通過標準的XML格式接口來訪問網 絡(包括Internet, intranet, extranet),通過Internet的基本協議來和其它軟件代理交換XML信息。

    可以看出,Web服務和企業應用集成的作用領域存在著較大的差異。

    EAI 更側重于企業應用集成這個目的,強調如何將各種方法、技術和工具組織在一起,而沒有規定實現應用集成所采用的具體技術和方法。因此,EAI可以看作傳統應 用集成方法的進一步延續和集成。當然,EAI的應用集成過程并不同于采用相對單一技術的應用集成過程,它在集成各種應用時,首先必須實現各種集成方法、技 術和工具的合并與"集成",所以EAI是一種相對復雜而浩大的工程。

    不同于EAI,Web服務關心的是一個明確的 特定領域。正如其它的消息代理以及中間件技術一樣,Web服務是由一系列相關技術和標準所組成的獨立的技術實體,它是應用集成一種獨立的解決方案或者方 法。需要注意的是,Web服務的目的并不是要提供如何建立或者發布 "Web化"服務的方法,而是要通過采用、改進或者建立相關的標準,實現Web服務本身的標準化,從而達到Web服務實現的技術無關性。與其它方法相 比,Web服務具有更好的靈活性和適應性,例如跨平臺特性等等。

    因此EAI和Web服務是針對應用集成問題的不同答案。EAI:一個涉及廣泛主題的企業應集成方案;Web服務:一個面向萬維網的標準化解決方案。

  • 面向不同層次的集成

    Web 服務的應用集成是一種基于服務層的集成。它采用面向對象的技術包裝數據,通過Simple Object Access Protocol (SOAP)實現基于Web的不同應用的訪問。事實上,這個訪問過程就是通過服務來調用(遠程過程調用)各種目標系統的不同信息和行為。Web服務的集成 結果直接是一個分布式的結構。

    與Web服務不同,EAI的技術框架結構可提供面向多種層次的集成,總的看來,EAI的集成主要有五種類型:

    1. 數據層的集成:通過對被集成數據的提取和相應的轉化過程,實現對應用所使用數據的定向與傳輸。
    2. 應用層的集成:通過使用消息,API等技術在應用層直接實現交互和集成。
    3. 商業邏輯層的集成:通過使用分布式的商務對象,采用可重用組件等技術,實現對商務流程的部署和集成,滿足企業業務流程管理的需要。
    4. 用 戶(界面)接口層的集成:這種技術采用模擬的方式(例如模仿用戶擊鍵來實現與舊軟件的交互,這種過程也被稱作屏幕剪貼)通過用戶界面或 input/output點訪問現有的應用程序。該種集成對那些需要集成的舊系統或專有系統非常有用,因為這些系統不具備其它的輸入輸出點(如,不存在 API,無法訪問數據)。
    5. 服務層的集成:通過引入Web服務的相關技術標準實現服務層的企業應用集成。該部分屬于Web服務與EAI的結合,將在后面進一步討論。




回頁首


優勢與不足

盡管無論是采用Web服務還是EAI都可以實現企業應用集成的目的,但從實施的基礎、方式和實施的效果來看,二者可謂是各有千秋。

Web服務:現在一定要給Web服務下一個結論似乎還不是時機,因為Web服務確實是一種正在快速發展的技術,所以我們在這里只是給出目前Web服務所存在的優勢和相應的不足。這些觀點,特別是對缺點的論述并不代表Web服務的未來。

由 于Web服務是由一系列標準所組成的,所以Web服務集成各種應用的方法是標準化的,具有較好的通用性和兼容性,同時面向對象和XML等相關技術的采用, 使得Web服務具有更好的跨平臺性,可以更好的滿足分布式集成的要求。Web服務的集成結果是一種松耦合的集成模式。它通過建立涵蓋服務通信 (SOAP)、服務描述(WSDL)和服務發現(UDDI)等標準實現應用集成的框架。另外,由于和Web技術的結合,使得Web服務對Web應用具有很 好的協調性。再者,Web服務能夠更好的滿足企業以客戶為中心的協同工作。

由于Web服務是一種新的技術,還處在不斷的發展和完善之中,所以從技術角度看,盡管有些標準已經在制定過程中,但Web服務還存在不足:

  1. 由于Web服務目前的實施基礎還不是十分完備(例如,缺少配套的工具等),在對遺留數據信息進行包裝時需要大量的編程工作,建立Web服務也需要投入大量的工作,所以Web服務的集成成本是比較高的。
  2. 目前,Web服務是位于防火墻之內的。為了突破防火墻而與企業的合作伙伴和客戶建立聯系,Web服務必須解決相關的加密、認證、簽名等技術。
  3. Web服務還沒有解決事務處理、工作流的編排與描述等問題,缺乏業務流程的管理能力。
  4. Web服務缺乏與數據庫有效的通信能力,而現在企業的大部分數據仍然存儲在數據庫系統之中,并且這種情況還將持續下去。
  5. 由于Web是一種松耦合的集成模式,集成結果的性能相對較低,無法滿足一些系統的集成要求,例如實時系統的集成。

EAI:EAI 的最終目的是為已存在的應用提供統一的數據交換中心,并為新的開發提供基礎。由于對集成的各種方法不做限制,所以EAI所支持的集成范圍相當廣泛,既可以 是數據層的集成也可以是應用層、用戶層接口層等層次的集成(見前文)。另外EAI可以方便地針對不同的應用采用不同的集成方法和工具,這就使得集成具有較 好的針對性,可以方便的利用任何已有的技術和方法。所以EAI可以實現性能較高的集成系統。

但是,EAI技術本身所具有的不確定性也帶來了一些問題:

  1. EAI的實施費用非常高。EAI的實施人員必須花費大量時間分析各種類型的集成,提出復雜集成的解決方案。
  2. 與Web服務不同,EAI是產品相關的。EAI的解決方案是由不同的供應商所設計的,也就是說,就算是針對兩種同類應用的集成,不同的EAI的實施結果也是不能互通的,EAI缺乏較好的兼容性和通用性,無法移植。
  3. EAI需要在多個系統之間建立大量的點對點的連接,這不僅增加了實施的強度,也不利于系統的維護和升級。
  4. 目前,大部分的EAI都是緊耦合的集成模式。這種集成模式的結果不利于企業業務流程的調整和重組,缺乏可擴展性和靈活性。

綜上,Web服務是一種標準化的解決方案,形成松耦合的集成結果,但性能相對較低。EAI則是一種專用的解決方案,形成緊耦合的集成結果,但它需要更多開發和維護工作。可以說,EAI與Web服務各有優劣,那么二者是否可以結合呢?





回頁首


互補

作為應用集成的一種方案,Web服務其實是對傳統的數據適配器、消息代理等應用集成方法的一種革命,但作為應用集成的一種方法,目前Web服務也被適時地 引入了EAI的解決方案。事實上,Web服務完全可以作為EAI所要組織的技術方法之一,TechMetrix Research就提出將其Web服務應用在其EAI解決方案中的接口部分。事實上,通過在EAI中引用Web服務的相關標準(SOAP/HTTP /WSDL等)和使能技術就實現了前文所提到的面向服務層的EAI。面向服務層的EAI的是一種松耦合的應用集成模式,該集成模式除了具有更好的跨平臺性 和可擴展性外,也可以得到較高的性能。





回頁首


結論

傳統的EAI是一種緊耦合集成模式,比較適用于那些對性能要求較高的、需要多種層次集成的應用集成系統。

Web服務是一種標準化的松耦合集成模式,比較適用于那些需要更大的靈活性,改動頻繁的應用集成系統。

結合了Web服務的EAI系統則實現了一種面向服務層的松耦合的企業應用集成系統,可以最大限度的同時滿足性能和靈活性的要求。

另外,Web服務是一個正在快速發展的技術方法,它的不斷改進和完善必將帶來企業應用集成領域格局上的變化。但是當我們逐漸融合Web服務和EAI時,這種變化不僅對Web服務有利,對于EAI也是同樣有利的。



參考資料



作者簡介


周競濤,西北工業大學CAD/CAM國家專業實驗室博士研究生,致力于將哲學、數學結合到技術研究中,主要研究方向:中間件、XML技術、EII,Semantic Web Services。可以通過 zhoujtnet@yahoo.com.cn與他聯系。



王明微,陜西西安,西北工業大學CAD/CAM國家專業實驗室碩士研究生,研究方向:逆向工程、模式識別。可以通過 wangmv@hotmail.com與他聯系。