理解軟件SOA 管理:您的SOA中都有什么?[1] SOA管理
關鍵字:SOA 關注SOA
您真的了解您的服務究竟在何處嗎?您知道自己的企業里面有多少服務正在進行生產嗎?而它們當中有多少達到了您所期望的質量水平呢?又有多少服務未得到合理保護或直接暴露在客戶或合作伙伴面前了呢?或許甚至還存在著您根本不知道的服務?當您的服務出錯時有什么保護措施嗎?現今您又是怎樣監控著自己的服務呢?
如今,在設計SOA的架構時,您要提出類似于上述的種種問題呢。令人驚訝的是,盡管有許多組織已經使自己的任務關鍵型業務應用依賴于這些服務,但依然無法回答這些問題。
因此,讓我們來回顧一點基礎知識吧。SOA究竟是什么?SOA即Service Oriented Architecture(面向服務的架構),它使企業通過改進的服務重用性迅速開拓新的業務渠道。因此SOA管理將從可見性和控制兩方面著眼于SOA。如果沒有管理,使SOA達到預期效果這一目標就無法得到保障。最可怕的是,SOA甚至會因為依托于這些用于任務關鍵型應用的服務而給整個組織造成危害。
管理SOA為何如此困難?
是什么使得管理SOA的這些服務變得如此困難?首先,SOA中服務的形式與規模不盡相同,符合的規范也相差甚遠,既有細粒度的也有粗粒度的;既有傳統的基于事件的非XML隊列,也有最新的基于XML的WS兼容服務。每個服務在其運行平臺上都是獨特的,有的基于Java EE,有的基于.NET,還有的基于遺留或專有平臺。
其次,當SOA跨多個部門和項目實現時,其復雜性將會增加。即使并非有意為之,SOA被迫進入分布式環境,而原因僅僅是企業固有的復雜本質。例如,服務可能是某一個部門設計的,并在其他部門重用;合作伙伴發布的服務也有可能要在公司內部使用,反之亦然。如果在分布式環境中無法對這些服務進行集中管理,發生更改或故障的服務就可能對企業的賬本底線產生顯著影響。
再次,SOA系統發展迅速。新版本發布時,SOA的規模和復雜度都會有所增加,還會向SOA領域中融入一些新的應用程序,增加新客戶和合作伙伴的參與。任何服務的更改都會在整個網絡中產生連鎖反應,進而影響整個系統。
由于SOA的異構性、分布性以及高度流動性,使得采用傳統手段來處理SOA很困難。事實上,傳統的IT管理框架可能并不完整,有必要采取新方法關注SOA,來更好的實現組織的可見性與控制。
SOA管理和傳統IT管理有什么不同?
傳統的IT服務管理框架包括管理應用程序的功能,并且確實能夠獲得對應用程序的一般行為的更好可見性,應用程序是正常運行還是故障了呢?遺憾的是,SOA并非如此有邏輯。很可能在一個任務關鍵型服務從客戶的角度來看已完全崩潰之后,應用程序仍存在并運行著。
此外,傳統的IT服務管理作為一整套SOA應用程序的基礎,是很重要的。而SOA管理可以返回到業務線層面上幫助管理和優化這種行為。SOA并不僅僅與應用程序有關:服務還可能存在于wire消息協議或事件之中。這些服務通過中介處理,到達了我們看不到的目的地,比如合作伙伴或者客戶。
文章來源于領測軟件測試網 http://www.kjueaiud.com/