(1)面向服務的分析和設計(SOAD)。以服務為中心,根據業務需求發現服務、描述服務,并設計服務的實現。
(2)面向服務的開發過程。結合現有開發過程,規劃以服務為中心的開發過程中的角色、職責、活動和工件。
(3)SOA的成熟度分析和遷移路線圖。以服務為中心,分析現有或目標系統的成熟度,并設計從現有成熟度遷移到目標成熟度的路線圖。
(4)SOA監管。設計組織和流程,確保SOA的設計原則在IT生命周期中得以貫徹,管理服務生命周期中的各種遷移的合理性等。
本章對SOA方法學的闡述主要集中在面向服務的分析和設計。首先介紹SOA方法學和主要的幾種方法學的區別和聯系,其次以IBM的SOMA(Service Oriented Modeling and Architecture,面向服務的建模與架構)為例,介紹SOA分析和設計中的主要內容和方法。
1、SOA方法學和其他方法學的比較
與SOA的設計原則類似,SOA方法學并不是全新的方法學,它是現有方法學的繼承和發展。一方面,原有的方法學并不能解決由于服務概念的引入帶來的問題,如怎樣發現服務,怎樣定義服務;另一方面,服務是一個水平的概念,而不是一個垂直的概念,在服務分析和設計的過程中,需要處理服務和現有方法學產物的關系,如業務流程和服務,企業架構和SOA,服務和對象等。因此服務的分析和設計最主要的職責在于發現服務、定義服務和實現服務,并指導如何和其他方法學結合完成這些職責。
如圖1所示揭示了現有幾種方法學的定位。圖的橫坐標將項目周期分為分析、設計和開發三個階段,縱坐標將域分為應用、架構和業務。流程建模(BPM)用于業務領域的分析和設計,如業務流程的定義、業務數據的定義等;企業架構(EA)和方案架構(SA)側重在架構領域的分析和設計,如根據業務需求確定目前目標業務系統和IT系統,根據目標系統需求設計主要架構元素和它們之間的關系;面向對象的分析和設計(OOAD)則貫穿分析、設計和開發三個階段,它主要分析細粒度的業務需求,如用例,分析和設計實現這些需求的類和對象,以及它們之間的關系。
圖1 傳統的方法學
如圖2所示,面向服務的分析和設計貫穿項目周期的三個階段和IT系統的三個域。這暗示著,在操作層面上,面向服務的分析和設計會和其他方法學緊密相聯。
圖2 SOA和傳統的方法學
文章來源于領測軟件測試網 http://www.kjueaiud.com/