軟件質量保證SOA面向服務構架治理的實踐 軟件質量保證
關鍵字:SOA 治理
SOA治理本質上是社會性的,因此,需要開發人員和架構師不斷溝通。
1.建立評估小組。治理策略的制定、維護和修改應該通過一個小組進行,而不是某些人的獨斷行為。
2.先開發一個交互性的框架。標準是SOA的基石,從一開始,就要建立一個可擴展的提供交互功能的框架,詳細記錄組織中使用的協議。
3.不要太具體。過于詳細的策略是很難維護的,也會約束創造力。為了降低企業應用的風險,要留有機動余地。
4.盡早、盡可能頻繁的交流。策略決不是一次就可以解釋清楚的,管理人員需要確信修改是否已經傳達到位,整個過程都需要有反饋。
5.建立COE(Center of Excellence)。在大型組織中,COE中有專職人員支持SOA,包括SOA治理。有效的COE可以為SOA項目提供指導和培訓,從而使得SOA治理工作更集中。
6.嚴格執行既定的策略。沒有執行,策略就毫無價值。盡可能把策略融入服務中,否則,就要讓開發人員了解違反這些策略的嚴重后果。
多一點寬容
SOA治理和SOA本身一樣,不是絕對的。你希望建立一個廣泛的、模塊化的IT環境,能提供給企業以前所未有的靈活性,然而,要設想出每一個變化是不現實的——你也不能指望制定出一組策略能把未來的所有情況都考慮進來。
這就是提出“多一點寬容”的原因。SOA應用涉及真實的業務交易,因此,需要詳細而且是仔細的規則以及正式的變更管理。但是在某些情況下,比如說Web 2.0類型的應用中,開發人員可以多發揮一些自己的創造性,而不用拘泥于架構小組的死規定。
CheapGas是一個大型的網站,它幫助用戶在指定區域中尋找離自己最近、最便宜的供氣站。CheapGas借用了Google的地圖服務和另一個網站GasBuddy.com的數據服務。與大多數企業級的Web服務不同,CheapGas幾乎就沒有采用什么治理。盡管也采用了一些標準,比如HTTP、Google Maps API等,但是那些在一些大型關鍵企業級應用中常用的WS*協議幾乎無一采用。
Influence公司的CTO Dion Hitchcliffe說: “如果使用Web服務90%是用于展現數據,那最好采用RSS,而不是SOAP! RSS通過HTTP交付數據采用一種非!皩捜荨钡母袷,非?煽,很少發生意外。SOAP有它的適用領域,但是更簡單、更能容錯的方法通常能更快地提交結果,也更容易被采用。選擇使用哪種方法取決于你的應用和你所能接受的風險程度。
在《Design Rules》一書中,作者描述了在軟件架構的設計規則指導下,架構如何讓設計人員自由地試驗各種不同的方法。作者認為這種試驗能產生很大的價值,相反,過于嚴格的治理將束縛開發者的雙手,導致SOA的價值大打折扣。
需要SOA治理還有一個原因是要選擇安全Token,到底是要支持SAML、Kerberos,還是別的什么標準?變通的方法是支持各種安全Token,不過這需要部署Token交換服務。
包容多種協議與治理并不矛盾,它們是互為補充的。你的服務包容性越強,建立更健壯的系統時,治理就越少。一個定義得非常合理的服務的最大回報在于,它能以一種開發者沒有專門為之設計的地方和方式使用,從而發揮出設計者所沒有想到過的價值。這也真是SOA所追求的最大目標。
文章來源于領測軟件測試網 http://www.kjueaiud.com/