軟件質量保證SOA原則:用ESB整合老式企業應用程序 SOA 構架
鍵字:SOA ESB
現代的系統架構有太多的軟件技術、方法和工具,以至于達到幾乎不可能跟上最新的更新的程度,更不用說使用所有這些技術。例如,我們現在有SOA、REST、SOAP、JASON、Rails、Seam、EJB3、.Net和J2EE等等。
其中一項受到許多關注的技術是SOA。在大多數言過其實的宣傳似乎平息下來之后,人們認識到了SOA并不是萬靈藥。但是,在設計企業系統的時候,SOA仍是一個可用的有價值的架構。把系統組件模塊化并且添加到具體的服務實體中將使管理更加容易。分別提供技術支持將更有意義。
但是,大多數大型企業環境都有許多不是采用最新的技術開發的老式的系統。這些系統通常非常接近業務的核心,這是這些系統目前仍在積極地使用的原因。因為這些系統的性質,這些應用程序變成了很難訪問的信息的豎井和業務規則。因為成本太高,要更換這些系統是不可行的。但是,不向比較新的技術轉換也許會限制企業的靈活性。
例如,一個假設的企業系統也許包含一個Web應用程序,如使用Seam開發的一個人力資源員工門戶,這是為持久應用使用EJB3和Hibernate的、在J2EE應用服務器上運行的門戶。我們有一個用C#語言開發的管理員工休假的應用程序,在一個.Net平臺上運行。這個應用程序使用SOAP暴露一項Web服務。一個工資單系統在一臺大型計算機上運行并且是采用Cobol開發的。我們還有一個用C++和Corba開發的考勤系統。
我們喜歡使用SOA原則把這些系統集成起來以便提供一個統一的基于Web的界面,以便讓管理層和員工都能夠訪問人力資源數據。
企業服務器總線解決方案
企業服務總線(ESB)是這個問題的解決方案之一。企業服務總線是通過一個消息和路由系統(總線)和解析設施(適配器)提供不同的系統之間的溝通方式的一種架構。
在上述情況下,可以使用企業服務總線并且每一個老式的系統配置一個適配器以便把信息和請求解析為兼容特定系統的格式。例如,這個企業服務總線將通過一個CORBA適配器與考勤系統溝通,同時,一個SOAP適配器將提供通訊設施訪問休假應用程序的SOAP界面。一旦連接到企業服務總線,每一個應用程序都能夠與在這個總線上的任何一個應用程序交換信息。
企業服務總線還能夠把數據解析為不同的格式,如城市名稱的郵編號碼。大多數企業服務總線應用都有許多可以使用的標準的適配器和一個應用程序編程接口。這個應用程序編程接口允許開發人員使用自己的適配器與其它系統進行溝通。
企業服務總線也許還能提供服務編排(把多項服務組合為一項服務)、流程編排(流程流)以及安全和管理(身份識別、監視、審計和登錄)。
企業服務總線肯定不是新的,有許多成熟和穩定的實施,開源軟件和商業軟件都有。一些商業軟件包括微軟的BizTalk、甲骨文ESB、Progress Sonic、 Pervasive Data Integrator和WebSphere ESB。開源軟件的例子有Apache ServiceMix、ChainBuilder ESB、JBoss ESB、Mule ESB和OpenESB。
使用這種解決方案也有一些確定,因為它為系統增加了額外的一層復雜性,需要付出更多的努力進行維護。消息路由和解析的過程增加了延遲,因此,企業服務總線不適合高吞吐量的應用,如電信和實時消息系統等。
如果使用正確,這種技術能夠利用SOA的原則,同時擴大老式應用程序的投資回報,增加靈活性的好處,允許采用新技術的應用程序在未來應用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/