軟件質量保證SOA如何使開發人員受益 軟件質量保證
關鍵字:SOA 開發
企業架構師能從SOA中受益,開發人員同樣能從SOA中受益。有5個原因說明開發人員與SOA關系密切。
難于解決的問題
現有的應用架構已經無法跟上不斷改變的業務模型的步伐了。企業不僅在努力開發內部新應用程序,而且努力把他們的應用程序與合作伙伴、供應商、客戶集成到一起,但是他們面臨的是單一的、緊耦合的應用程序的限制,在編譯和運行時,每個子系統和其他子系統緊密聯系在一起。不僅在一個系統中的改變會造成另一個運行的失敗,而且還使開發人員陷入反復無窮盡的編碼、編譯、測試的循環中。開發人員也必須處理漸增的異構環境,每個環境中應用程序運用了一套新的需要學習和連接的API。
早期解決跨異構平臺集成應用程序的方法(例如CORBA)沒有實現它們的承諾,一部分是因為在對象模型中缺乏標準化,另一部分是因為甚至CORBA沒有想到需要考慮能快速開發、集成、重用應用程序的一個更為松散耦合的方法。
在這種背景下,面向服務的架構可以看成是應用程序架構開發的下一個革命性步驟,一個用模塊化和松耦合應用程序取代單一、緊耦合應用程序的革命。
SOA使用了一種模塊化的方法,其中每個組合或虛擬的應用程序是用來自獨立應用程序的許多不同分離服務組合而成的。服務能存在于網絡的任何地方,可以通過公共和私有注冊表用標準的接口去發現和使用它們?梢酝ㄟ^將主要功能作為服務而公開,從現有應用程序中獲得服務,也可以從新的面向服務的應用程序中獲得服務。
雖然SOA可以充分利用諸如XML、UDDI、SOAP、WSDL和基于Java消息的技術,但是與CORBA不同,它本身不是一項技術。它是一個全新的思想傾向和結構方法,用來滿足企業應用架構中靈活性的需要。
面向對象的開發既是一種成功,也是一種犧牲。隨著企業軟件開發的發展,面向對象的語言(特別是Java)、方法和框架現在都能很好的被理解。表面上看來,決定是用面向對象的方法還是用面向服務的方法取決于您開發的軟件和與之交互的其他軟件之間的耦合松緊度。一般人的看法是,面向對象的開發適合于緊耦合的集成,然而SOA適合松散耦合的集成,雖然這種看法一般是正確的,但是它太過于簡單了。它不是選擇用一個或者其他一個的問題。就像許多新的開發工具建議的那樣,為了完成令他們傷腦筋的企業應用程序,開發人員需要理解兩者。
SOA不會取代面向對象的開發,面向對象的開發將仍然保持開發單獨應用程序的統治地位。但是隨著這些架構和框架繼續被改進和維護,將會真正的產生一種能支持生態系統(由協作應用程序組成)的基礎結構。不管這些應用程序是不是面向對象的,SOA都能擴充它們,通過提供普遍的、可重用的業務級接口而不是組件級的接口,SOA有助于開發人員完成這種擴充。
此外,SOA要求一個實例能從客戶/服務器方法轉移到考慮事件驅動交互的應用程序開發中去。因為服務可以作為一個業務過程插入到任何地方,開發人員必須對應用程序開發有整體上的把握。主要的不同就在于接口是如何設計的。在SOA中,關鍵是開發粗粒度并且不是基于應用程序的組件架構的接口。所以,在SOA環境下的應用程序開發、集成、重用和業務過程建模、工作流、程序到程序的通信相吻合。
Carrot
文章來源于領測軟件測試網 http://www.kjueaiud.com/