OnStrategies公司首席分析師Tony Baer簡短地總結了SOA生命周期需要承擔的任務,他說:“我們要想方設法把事情搞定。首先,你要明確要求,收集需求條件,設計解決方案,然后對方案進行開發、測試、部署以及管理。在生命周期終止時,你需要修改方案或者更換方案!
他補充道,SOA生命周期與傳統應用程序生命周期的不同之處在于,管理SOA生命周期需要維持松耦合服務的秩序。
Burton Group公司研發主管Anne Thomas Manes表示同意:“實際上,SOA生命周期相當復雜。你可以想想服務生命周期,包括最初的身份認證階段,及在最初的位置提供服務的承諾!
Manes提出的SOA生命周期第一步有別于其他人提供的第一步。一開始,她會事先進行規劃,得出創建服務及根據服務編寫應用程序所需的費用預算。
“當你觀察SOA項目的起始位置時,”她說,“你需要明確成為一項服務所需的條件。許多組織并沒有仔細審查究竟應該在哪建立服務。目前,很多工作人員都沒有事先進行規劃。他們通常會說:‘我們獲得了這項很棒的新技術。我們要將一切都設為服務!麄儾]有真正經歷決策過程——明確哪些應該成為服務以及應該在哪付出努力。決定哪些成為一項服務是生命周期中非常重要的一個方面。
Macehiter Ward-Dutton公司研發主管Neil Ward-Dutton從了解SOA應用程序的情景開始,全面地闡述了SOA生命周期。
“在我們看來,SOA生命周期可以從企業架構和商業架構等情景理解開始,通過服務分析和建模向各方面拓展。建模不僅僅和功能性事件相關,還與安全、性能、審計等非功能性的事件相關。然后就有了開發、測試、供給、監測和改變管理。即使你的想法局限于從應用程序開發的角度來看SOA,這也提供了前所未有的考慮方式。例如,你需要考慮采用一致性方法來建立商業服務,這樣的話非功能性事件也可以與基礎架構服務的運行時間保持一致!
ZapThink LLC公司的主分析師Jason Bloomberg認為可以在服務中找到SOA生命周期和傳統應用程序生命周期的主要區別。
“SOA生命周期的主要挑戰在于,實際中有兩套彼此交叉的生命周期在運行!
Bloomberg說,“一方面,你依然擁有傳統的軟件生命周期,此時服務是運行軟件的接口。你必須采用以代碼形式編寫的軟件。那就是傳統的軟件生命周期。但是,現在你還擁有服務生命周期,在元數據級中發生作用。在你更新服務、創建服務及重新配置服務的時候,服務生命周期又發生在不同的級別上,因為除非在軟件中,否則它就不涉及新的編碼過程,但我們的目標是要在元數據級中完成這些變化!
因而,面向服務需要一種新的生命周期,能將注意力集中于元數據和注冊表/存儲庫的內容。
“SOA架構設計部分的關鍵在于建立和維持服務抽象! Bloomberg說,“一方面,服務是軟件的接口,你必須運行相關軟件。另一方面,服務是商業能力的抽象表征,企業將這種能力融合在進程中。所以你還需要支持軟件的抽象概念,支持其成為企業元數據,使企業變得更加靈活,這是SOA的主要目標之一!
SOA基本生命周期
Current Analysis LLC公司應用程序基礎架構主分析師Bradley F. Shimmin提出,利用服務建立應用程序的基本SOA生命周期需要八個主要步驟。有些方面與其他分析師提出的步驟不一致,但沒有本質區別,因此我們從這里開始講。
利用服務建立SOA的八個步驟
收集數據:包括收集企業需求和使用案例
設計:包括明確服務需求、設置服務策略、建立一致性任務、建立并測試模型以及構造數據集成
發展:包括開發服務、根據服務編寫應用程序
質量保證/測試/認可
部署
監測/管理
變化
退休
談到這個綱要時,Shimmin說:“我把它看成是梯子上的梯級,通向生活中確實存在的某些東西。你必須從某個地方開始,然后又在某個地方結束。生命周期始于企業分析師從企業中收集信息,這些信息主要是關于應用程序和服務的需求條件!
Shimmin說,信息因公司而定,但是企業分析師通常需要創建一份需求文件,里面有各種使用案例。就像用戶需要檢查銀行財務狀況一樣,使用案例可以很簡單。企業分析師會提供生命周期需要承擔的詳情。這與最終的應用程序沒有關系,只是涉及需求條件和具體使用案例之間的關系。
Shimmin說,在收集階段,企業分析師會給IT人員和系統架構師帶來各種需求條件和使用案例。他們一起工作,明確如何將需求條件轉化為最終的軟件。從這個角度講,傳統應用程序生命周期和SOA生命周期之間存在很大區別。
文章來源于領測軟件測試網 http://www.k11sc111.com/