摘要
為什么要關注SOA管理?首先提出這樣一個問題:現在您知道您的服務在哪里、在做什么嗎?它們是在為更優化的敏捷、迅速響應的業務做著貢獻嗎?還是已經導致了一個根本無法管理的阻礙?要想更深入地了解SOA,就得首先了解SOA管理。本文提出了現今與SOA相關的一些挑戰,探討了SOA管理是如何應對了其中的大部分挑戰。此外,本文還涉及到了采用SOA 管理解決方案的關鍵功能,并簡單介紹了BEA的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消息協議或事件之中。這些服務通過中介處理,到達了我們看不到的目的地,比如合作伙伴或者客戶。
最后,SOA管理需要和IT管理策略共存。JMX、SNMP、WS-Man以及WSDM中的標準,都將為兩者的共存提供幫助。例如,SOA管理觸發的SNMP trip可以利用一個ESM(例如HP的OpenView和BMC的Patrol)整合并管理。
實現SOA的最初目的就是降低IT的復雜性。遺憾的是,僅為少數IT工作人員提供可見性并未實現最初這個SOA目標的優勢。SOA管理可以幫助滿足將正確的信息帶給正確的人員的需求;這些信息以服務量度、計分卡和策略信息等形式收集起來,隨后公開給架構師,以便更好地優化端到端的架構。
SOA管理的好處是什么?
實現SOA管理的好處在于最終為組織創建更廣泛的可見性和控制。這將給企業帶來無盡的益處,并且最終得到更出色的企業敏捷性,而這恰恰就是實現SOA的初衷。
事實上,實現SOA管理還有一個實際的原因,那就是支持SOA監管。例如,將運行庫計分卡和服務相關聯,就可以更好地作出在監管生命周期中需要優化哪些服務的決策了。
文章來源于領測軟件測試網 http://www.kjueaiud.com/