縱談EAI、BPI與中間件

發表于:2008-02-20來源:作者:點擊數: 標簽:
中間件 是一個非常普及的名詞了,但也還是一個定義并不完全準確的名詞。特別是近幾年EAI(企業應用集成)和BPI(業務流程集成)越來越多地被大家所提及的時候,中間件的定義就更模糊了。有把EAI/BPI歸為中間件的說法,也有對中間件概念進行擴展的說法。無論
中間件是一個非常普及的名詞了,但也還是一個定義并不完全準確的名詞。特別是近幾年EAI(企業應用集成)和BPI(業務流程集成)越來越多地被大家所提及的時候,中間件的定義就更模糊了。有把EAI/BPI歸為中間件的說法,也有對中間件概念進行擴展的說法。無論那種說法,關鍵的是弄清兩者的關系,從而使得我們在具體的應用中選擇合適的技術才是最重要的。本文就是以此為目標,談談筆者的看法,起到拋磚引玉的作用。

    什么是中間件
    
    中間件這一概念是在應用架構(Application Architecture)的發展歷程中,伴隨著三層(3-Tiers)或多層(n-Tiers)結構應運而生的。在三層或多層結構出現之前,應用通常采用兩層結構,即客戶/表示層和服務器/數據層。為了解決交易問題、應用邏輯共用問題和松偶合問題,在客戶/表示層和服務器/數據層之間引進了中間層,這就是中間件。通常,中間件分為交易中間件、應用中間件和消息中間件:
    * 交易中間件:交易中間件的出現是為了解決交易(Transaction)的問題,特別是包含多個資源系統時的交易問題。交易中間件的典型例子就是Tuxedo和CICS。
    * 應用中間件:應用中間件是三層(3-Tiers)或多層(n-Tiers)應用架構的核心部分,最典型的應用中間件是以CORBA和J2EE為基礎的應用中間件。今天以J2EE為基礎的應用中間件逐漸為業界廣泛采用。
    * 消息中間件:消息中間件是應運松偶合的概念而產生的中間件,主要以隊列(Queue)和發布定閱(PUB/SUB)為消息傳輸機制。典型的產品有Vitria的Communicator和IBM的MQ等。

    中間件保證了系統的異構性、擴展性和分布運行的可行性,但它們所解決的問題主要是具體應用的實現。

    什么是EAI/BPI
    
    以EAI/BPI為基礎的集成技術則不同,它所關心的不是具體應用開發的問題,而是如何把一個企業的各種應用集成為一體,解決部門與部門以及企業與企業的協同和自動化問題。雖然集成技術是在消息中間件基礎上發展起來的,但經過十多年的發展,它早已遠遠超出了消息中間件的范疇,而是像操作系統和數據庫一樣,成為一個企業或政府機構IT基礎設施的重要組成部分,是企業架構師和CIO必須首先考慮的問題。

    消息中間件是EAI/BPI的一部分,但EAI/BPI不僅僅是消息中間件。除了消息中間件之外,EAI/BPI還包含了:
    * 連接器和連接技術
    * 數據轉換
    * 元數據管理
    * 業務流程管理
    * 業務流程分析與監測等

    第一代EAI技術的特點是利用可靠的消息中間件、豐富的連接與轉換技術及全面的元數據(META DATA)管理與應用能力,解決了信息共享與信息交換的問題,同時也使得企業的IT系統容易維護與管理,為企業節省了IT花費。但這種EAI技術所解決的問題更多地集中在數據層面,而不是業務層面。

    20世紀90年代中后期,企業業務的迅速發展以及與電子商務的結合對應用集成解決方案提出了更高的要求,局限于信息集成的第一代EAI技術很難實現企業業務流程的自動處理、管理和監控,因此,基于業務流程管理/集成(BPM/BPI)的第二代EAI技術應運而生。這一代EAI技術通過實現對企業業務流程的全面分析管理,可以滿足企業與客戶、合作伙伴之間的業務需求,實現端到端的業務流程,順暢企業內外的數據流、信息流和業務流。第二代EAI技術是當前集成技術發展的主流?! ?

    目前,EAI技術正向第三代集成技術演變,這就是“預制集成”,它根據不同行業集成技術的特點,推出基于行業的預建構集成包,預先解決行業共性的問題,從而縮短EAI項目開發周期。預制集成產品的關鍵點在于它的“可復用性”、“可擴展性”和“靈活性”,這樣一來才能保證在產品化的同時,企業又能基于自身業務的需求進行靈活的配置和擴展。

    從中間件和集成技術的差異我們不難看出,企業的集成問題不是中間件可以解決的。只有以流程集成為核心的企業應用集成(EAI/BPI)平臺才是解決企業集成問題的有效武器。

    正確使用EAI/BPI與中間件技術

    認識什么是中間件和什么是EAI/BPI對于我們在IT建設中選擇合適的武器是非常重要的。如果說中間件是IT建設中所需要的零部件的話,EAI/BPI就是IT建設中所需要的現成的機器了。如果是單一的應用開發,中間件也許是一個合理的選擇。但是如果是為了做企業應用集成和業務流程集成(如電子政務中的一站式審批或綜合數據平臺,電信行業的OSS集成,金融領域的交易直通處理和保險行業的保單申報等),選用中間件產品則是用牙簽夾面條了。集成的問題必須用成熟的EAI/BPI平臺,而不是用中間件,然后在從底層進行自行開發。

    在選用EAI/BPI產品時,最常見的錯誤之一是誤把消息中間件當成EAI/BPI。采用一個消息中間件后,用寫代碼的方式去處理消息的發布與獲取,用寫代碼的方式進行數據轉換,錯誤地把代碼中的業務邏輯當成是業務流程管理等就是常見的問題。

    另一個常見的錯誤是誤把應用中間件當成是EAI/BPI平臺,混淆了應用開發與集成的界線。正如前面所說,應用中間件是用來做單一應用開發的,而EAI/BPI是利用流程管理和松偶合技術來解決多應用之間的集成問題。因此,從某種意義上,應用中間件是應用架構師要考慮的問題,而EAI/BPI是企業級架構師和CIO要考慮的問題了。

    集成是IT發展的方向,EAI/BPI平臺是最好的集成模式。 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97