消息代理中間件技術介紹

發表于:2008-02-20來源:作者:點擊數: 標簽:中間件技術
消息代理 中間件 的作用 消息代理(Message Broker)是一種在數據源與目的地之間移動數據使信息處理流暢的軟件技術,數據源與目的地包括已有的應用、文件、 數據庫 、對象(如CORBA、COM)、硬拷貝輸出及Web客戶端等。消息代理技術實現之后的產品形式就是一種
消息代理中間件的作用   消息代理(Message Broker)是一種在數據源與目的地之間移動數據使信息處理流暢的軟件技術,數據源與目的地包括已有的應用、文件、數據庫、對象(如CORBA、COM)、硬拷貝輸出及Web客戶端等。消息代理技術實現之后的產品形式就是一種中間件。

   作為面向消息的中間件(MOM)的一部分,消息代理中間件在企業應用集成(Enterprise Application Integration ,EAI)中的作用日趨明顯。分布式環境下,業務單位四處散布,包羅萬象的應用運行在不同的軟、硬件平臺上,消息代理中間件主要提供應用集成所必須的數據的遞送、收集、翻譯、過濾、映射和路由等功能,屏蔽不同的硬件平臺、數據庫、消息格式、通信協議之間的鴻溝與差異,提供應用到應用之間的高效、便捷的通信能力。

   消息代理最典型的應用環境包括:

有許多程序,特別是混合多種語言;
多個數據源以及/或異構的數據庫;
應用的生命周期期望在3年以上
處理的高吞吐量,復雜的系統設計
在客戶/服務器天地中存在"老的"或者已有的應用
行將進行系統的增強、增加和修改
復雜的應用間的通信既有企業內部的通信,又有企業間的通信   Gartner Group根據調查統計,企業在開發應用的過程中,30%-40%的費用都浪費在開發和維護與企業業務邏輯無關的各種接口上。隨著企業或企業間應用數量上的增加,應用間的通信接口日益增多,不同的平臺、不同的語言與技術所帶來的難度成倍的增長。1996年,Gartner Group就預測:消息代理中間件由于降低了企業/機構內部應用的復雜交互,將變得和數據庫管理系統、數據倉庫一樣重要。

   歸納起來,基于消息代理中間件實現應用集成的主要理由有以下幾個方面:

通過點對點的應用接口完成應用的集成復雜度高,花費大,嚴重地限制企業的靈活性。消息代理中間件如同一個軟件的HUB,連接需要交互的各個應用系統,減少了應用系統接口的數量、相互的技術依賴性。
應用與應用間傳遞的數據需要轉換,傳遞需要按照優先級、實時地或批處理的方式進行。消息代理中間件提供與各種資源的接口、數據轉換能力和消息處理能力,高效地實現應用之間的消息傳遞。
復雜的業務處理邏輯帶來應用間、應用與人之間交互的復雜性,要求提供一種支持流管理、處理智能化開發的簡便性。新一代的消息代理中間件以"商件(businessware)"形式,提供商務邏輯層開發能力。
集成應用的體系結構必須能適應業務邏輯、組織機構的變化,最大程度地減少對已有應用的修改。消息代理中間件構造了一個基于消息的代理骨干,其基于API的適配器以及包裝程序完全適應這一要求。

  消息代理中間件的基本特征

  構件化的結構

   一個典型的消息代理中間件的基本結構見下圖:

  消息代理中間件一般不是單一引擎,通常由一組構件組成,基于構件的結構是消息代理中間件的關鍵特征。構件化的結構能充分利用SMP和MPP技術,以增加吞吐量,同時也使環境是可伸縮的,可以根據需要配置不同構件。多個消息代理引擎分布在多處但可以通過一點統一管理。

   可恢復性、易于管理、靈活性等對關鍵軟件結構的要求同樣適合于消息代理中間件。

  具有數據轉換設施

   消息代理中間件的核心是一個消息的路由程序,它接收和分發消息并基于預先定義好的消息處理流確保轉發給正確的應用。消息的路由程序通常能執行多段的路由("基于HUB的路由"),對于一個單個的消息,可以根據消息的源、目的地、類型等定義許多個處理段或對象。對象可以包括消息的轉換、數據的格式轉換、查詢數據庫、記錄日志和定時傳送等。應用間的互通可以是一對一、一對多或多向的。

   消息代理中間件的核心還包括一個單獨的通信與消息傳遞協議層,實現組織內部或組織間的實際的網絡通信,有一個專門的消息格式庫保存所有的消息定義,并提供建造和維護組織內部和組織間消息類型的工具。路由程序最終通過這一層實現消息的接收與分發。

   消息代理中間件的數據轉換設施負責在應用之間對傳輸的數據進行轉換,提供數據轉換需要的API。數據的規范化(normalization)或稱數據的標準化,是使數據在交換過程中轉換成標準狀態的技術。消息代理中間件有內置的數據規范化工具,替換一個應用時,不會影響到與其它數據交換伙伴的應用接口。

   消息代理中間件的數據轉換可以是實時的、接近實時的或批處理的。批處理方式基于文件到文件的數據轉換方式。消息代理中間件有一個實時的請求/應答設施來執行同步的關鍵任務消息的處理,通過一個消息隊列機制提供接近實時的數據轉換。消息代理中間件管理傳遞各個服務應用的并發路徑,即使在企業需求最大時也能提供最佳的性能。

  可靠高效的通信

   消息代理中間件支持數據報和可靠傳輸("確保傳輸")通信方式??煽總鬏斖ㄐ攀腔谙㈥犃袡C制的,發送和接收消息分別通過不同的消息隊列。對應用來講,可靠傳輸確保"一次并且只有一次"的遞送。消息的傳遞可以選擇壓縮或/和加密傳輸方式。

   消息代理中間件有消息優先級支持,高優先級的消息不必在隊列中等待,可以優先得到處理。

   消息代理中間件支持基于內容的消息路由,消息產生后按類型歸類時,路經就確定了,消息代理能夠根據消息的內容把消息路由到不同的目的點。

   消息代理中間件能管理復雜的處理流,可以協調需要一系列復雜處理過程的交易處理,通過可配置的計時器和告警器處理異常的情況。消息代理中間件內部的規則機制與可配置的計時器和報警器一起,確保交易處理的時效性,交易跟蹤程序存儲和顯示檢測單個交易的狀態。

  多樣的管理能力

   消息代理中間件的管理是分層次的,分別對應操作員和管理員。運行界面提供了一個對消息代理運行的高層次的視角,保證消息代理的正常運作。操作員可能不知道消息代理中間件運作的細節,管理員則可以控制消息代理中間件的每個方面,管理界面是給管理員支持操作員用的。

   多個消息代理分布在多處但可以通過一點獲得消息代理引擎的企業級的單一的視點,進行統一的管理,可以基于SNMP進行處理監控,可以使用瀏覽器運行管理系統

  豐富的應用開發環境

   消息代理中間件的開發環境主要涉及數據轉換和與資源的接口的構造。消息代理中間件提供靈活、高效的結構化的消息處理腳本語言(4GL)和其它面向對象的設計工具,支持基于對象的、3GL或是腳本語言來進行數據的轉換。

   消息處理腳本語言包含流控制、例外處理、數據抽?。ɑ?STRONG>SQL等)機制,能夠靈活地構造高效的數據轉換、校驗、翻譯和條件邏輯。消息代理中間件提供便利的數據庫訪問接口,直接訪問流行的關系型數據庫和3GL接口

   消息代理中間件的對象控制系統,提供企業級的開發與部署,允許大量的開發人員通過共享數據庫并發地工作,從而最大限度地實現可重用性?;趯ο蟮拈_發結果,通常是消息代理中間件所支持的腳本開發語言。腳本語言編譯后生成的偽碼可以在任意一個腳本語言環境(開發工具)中運行,保證了開發結果的可遷移性

   應用測試可以離線進行,不必掛接到消息代理中間件上,引入新的應用接口或/和轉換規則,也不需要停下消息代理中間件的運行。

   消息代理中間件的另一個主要功能是與各種形式的信息資源接口,如果一個消息代理中間件只提供接口,但不提供建造這些接口的工具是完全不適用的。消息代理中間件的開發環境是基于對象的,能夠不用構造程序邏輯就建立與各種資源的接口。

   消息代理中間件通常包括一些標準的接口,如SAP ALE、HL7、FTP、Lotus Notes等,如壓縮包裝的接口,構造接口的工具應支持TCP/IP socket接口/SNA CPIC接口/TTY接口/SQL接口/基于會話的接口/基于文件的接口/HTML接口等等。

  完備的安全機制

   消息代理中間件的安全控制,能識別冒名頂替者的消息。消息代理中間件引擎,對來自接口、進行數據轉換過程中的消息執行身份驗證、授權和防抵賴處理。

   消息代理中間件具有內置的數字簽名功能,一組利用非對稱秘鑰或/和對稱秘鑰算法的安全功能的集合,可以在應用開發中調用這些功能。數字簽名基于非對稱秘鑰體系結構(PKI),可以有效地保證消息的完整性、發送方、接收方身份可鑒別以及不可抵賴性。

   對稱與非對稱加/解密體制的結合,可以方便地實現消息在傳輸中的保密性。

  未來走向   消息代理中間件作為企業應用集成的有效工具,發展極為迅速。消息代理中間件一種新的趨勢是,增加協同處理、處理自動化等"商件"(Businessware)???,比較直觀地支持在商務邏輯層上的應用集成與開發。與商件的結合,是消息代理產品的一個重要的技術走向。

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

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