實戰SOA 擺脫人們對SOA的嚴重誤解 SOA管理
關鍵字:SOA SOA
許多企業在構建SOA,但進展相當緩慢,這主要是由于SOA涉及方方面面,關系太多,太復雜。通過本文可以了解一些公司在部署SOA時實際遇到的問題以及解決方法。
如果問起負責構建面向服務的架構(Service-Oriented Architecture,SOA)的人什么最困難,他們中很多人會告訴你: 最困難的部分不是技術,而是改動業務流程以及隨之而來的角色和職責的重新劃分。許多SOA實施者也這樣說,而事實可能的確如此。但技術這方面卻未必簡單, 在所有規劃和戰略制訂完畢后,如何提供及管理服務及消息傳送基礎架構,還有如何處理已有的平臺、應用和系統,并非易事。
SOA的最終目的是獲得極其靈活的基礎架構,使IT人員可以在企業里面橫跨多種平臺和領域的抽象層上開發組合式應用,但誰也無法一蹴而就。在實 際應用時,技術人員必須做出以下關鍵決策: 在哪些平臺上構建服務; 這些服務又將如何被提供、管理。有些公司可能會選擇使用企業服務總線(ESB)來連接服務,另一些公司可能為追求重用而選擇標準化的服務,F在,有不少公 司在SOA上進行了實踐,分析一下這些公司的決策,可以為實際需要構建SOA的人提供寶貴經驗。
構建、提供及監控服務
選擇構建服務所需的平臺恐怕是IT人員面臨的最簡單決策了。大多數組織從頭開始編制服務時,只需充分利用開發人員的強項即可,因為面向各大開發 平臺的Web服務創建工具已趨于成熟,這些平臺包括Java應用服務器、Windows上的.Net和z/OS上的COBOL等。不過,把現有應用的功能 作為服務來提供時,一些公司也使用ESB作為平臺,原因是服務可以通過配置而不是編碼來提供。
在完成服務構建及測試之后,開發人員就可以把該服務發布到服務注冊中心(Registry),那樣授權者就能發現它,其他服務或者應用也能使用 它。如今,大多數注冊中心與指向服務元數據的存儲庫(Repository)結合在一起——包括管理服務開發的策略,譬如安全設計規則以及運行時管理參數 (如服務級別協議或者預期負載)。
英國電信公司的策略和架構部門主管George Glass說: “一開始我們就認識到,我們需要存儲庫工具!钡娦殴締覵OA項目的時候,市場上其實還沒有存儲庫工具,于是該公司使用Borland設計工具 作為存儲庫,通過自己重新創建的Web接口把服務提供給業務分析人員。
哈特福德保險公司的基礎服務部門主管Ben Moreland說,哈特福德公司把可用的服務發布到通用描述發現集成協議(UDDI)注冊中心,不過是使用Excel電子表格和數據庫作為其存儲庫。作 為整個企業的參考架構項目的一部分,哈特福德公司現在正準備建設比較正規的存儲庫系統。讓Moreland高興的是,公司當時采取了等一等的策略,因為現 在的注冊中心/存儲庫產品能夠有效地處理元數據。
eBay公司負責系統開發的副總裁James Barrese說: “一旦部署了服務,人們使用服務的速度就會比你想像的快得多。所以基本的基礎架構需要落實到位,包括使用者和發布者中央目錄、詳細記錄操作的日志以及儀表板(dashboard)等操作監控技術!
有關服務的存儲庫元數據一般描述應當會出現什么,而不是實際出現了什么。在SOA中,必須實時監控服務的性能、可用性及使用情況——這往往借助 于Actional(最近被Sonic Software收購)、AmberPoint或者Blue Titan(最近被SOA Software收購)等廠商提供的服務管理產品。這些解決方案還支持版本控制、故障替換和消息日志等功能,并提供了集中視圖,可以了解網絡上服務的總體 運行情況。
eBay把服務質量(QoS)的參數添加到了服務模板中,其中內置了速率限制和日志功能。正如Barrese所言,這項功能旨在確保實施起來具 有統一性和一致性。比如儀表板服務可以監控日志,以發現性能問題, 負載過大的服務知道性能有問題后,可以請求支持或者通知IT分析人員。
要不要采用ESB
文章來源于領測軟件測試網 http://www.kjueaiud.com/