廣義上講,SOA方法學(xué)貫穿于IT生命周期的各個(gè)階段和各個(gè)方面:IT系統(tǒng)項(xiàng)目的規(guī)劃,系統(tǒng)分析和設(shè)計(jì),系統(tǒng)的實(shí)施,系統(tǒng)的部署和維護(hù),以及整個(gè)過程中的監(jiān)控和管理等。從實(shí)踐的角度說,已經(jīng)出現(xiàn)如下SOA方法學(xué)。
(1)面向服務(wù)的分析和設(shè)計(jì)(SOAD)。以服務(wù)為中心,根據(jù)業(yè)務(wù)需求發(fā)現(xiàn)服務(wù)、描述服務(wù),并設(shè)計(jì)服務(wù)的實(shí)現(xiàn)。
(2)面向服務(wù)的開發(fā)過程。結(jié)合現(xiàn)有開發(fā)過程,規(guī)劃以服務(wù)為中心的開發(fā)過程中的角色、職責(zé)、活動(dòng)和工件。
(3)SOA的成熟度分析和遷移路線圖。以服務(wù)為中心,分析現(xiàn)有或目標(biāo)系統(tǒng)的成熟度,并設(shè)計(jì)從現(xiàn)有成熟度遷移到目標(biāo)成熟度的路線圖。
(4)SOA監(jiān)管。設(shè)計(jì)組織和流程,確保SOA的設(shè)計(jì)原則在IT生命周期中得以貫徹,管理服務(wù)生命周期中的各種遷移的合理性等。
本章對SOA方法學(xué)的闡述主要集中在面向服務(wù)的分析和設(shè)計(jì)。首先介紹SOA方法學(xué)和主要的幾種方法學(xué)的區(qū)別和聯(lián)系,其次以IBM的SOMA(Service Oriented Modeling and Architecture,面向服務(wù)的建模與架構(gòu))為例,介紹SOA分析和設(shè)計(jì)中的主要內(nèi)容和方法。
1、SOA方法學(xué)和其他方法學(xué)的比較
與SOA的設(shè)計(jì)原則類似,SOA方法學(xué)并不是全新的方法學(xué),它是現(xiàn)有方法學(xué)的繼承和發(fā)展。一方面,原有的方法學(xué)并不能解決由于服務(wù)概念的引入帶來的問題,如怎樣發(fā)現(xiàn)服務(wù),怎樣定義服務(wù);另一方面,服務(wù)是一個(gè)水平的概念,而不是一個(gè)垂直的概念,在服務(wù)分析和設(shè)計(jì)的過程中,需要處理服務(wù)和現(xiàn)有方法學(xué)產(chǎn)物的關(guān)系,如業(yè)務(wù)流程和服務(wù),企業(yè)架構(gòu)和SOA,服務(wù)和對象等。因此服務(wù)的分析和設(shè)計(jì)最主要的職責(zé)在于發(fā)現(xiàn)服務(wù)、定義服務(wù)和實(shí)現(xiàn)服務(wù),并指導(dǎo)如何和其他方法學(xué)結(jié)合完成這些職責(zé)。
如圖1所示揭示了現(xiàn)有幾種方法學(xué)的定位。圖的橫坐標(biāo)將項(xiàng)目周期分為分析、設(shè)計(jì)和開發(fā)三個(gè)階段,縱坐標(biāo)將域分為應(yīng)用、架構(gòu)和業(yè)務(wù)。流程建模(BPM)用于業(yè)務(wù)領(lǐng)域的分析和設(shè)計(jì),如業(yè)務(wù)流程的定義、業(yè)務(wù)數(shù)據(jù)的定義等;企業(yè)架構(gòu)(EA)和方案架構(gòu)(SA)側(cè)重在架構(gòu)領(lǐng)域的分析和設(shè)計(jì),如根據(jù)業(yè)務(wù)需求確定目前目標(biāo)業(yè)務(wù)系統(tǒng)和IT系統(tǒng),根據(jù)目標(biāo)系統(tǒng)需求設(shè)計(jì)主要架構(gòu)元素和它們之間的關(guān)系;面向?qū)ο蟮姆治龊驮O(shè)計(jì)(OOAD)則貫穿分析、設(shè)計(jì)和開發(fā)三個(gè)階段,它主要分析細(xì)粒度的業(yè)務(wù)需求
(1)面向服務(wù)的分析和設(shè)計(jì)(SOAD)。以服務(wù)為中心,根據(jù)業(yè)務(wù)需求發(fā)現(xiàn)服務(wù)、描述服務(wù),并設(shè)計(jì)服務(wù)的實(shí)現(xiàn)。
(2)面向服務(wù)的開發(fā)過程。結(jié)合現(xiàn)有開發(fā)過程,規(guī)劃以服務(wù)為中心的開發(fā)過程中的角色、職責(zé)、活動(dòng)和工件。
(3)SOA的成熟度分析和遷移路線圖。以服務(wù)為中心,分析現(xiàn)有或目標(biāo)系統(tǒng)的成熟度,并設(shè)計(jì)從現(xiàn)有成熟度遷移到目標(biāo)成熟度的路線圖。
(4)SOA監(jiān)管。設(shè)計(jì)組織和流程,確保SOA的設(shè)計(jì)原則在IT生命周期中得以貫徹,管理服務(wù)生命周期中的各種遷移的合理性等。
本章對SOA方法學(xué)的闡述主要集中在面向服務(wù)的分析和設(shè)計(jì)。首先介紹SOA方法學(xué)和主要的幾種方法學(xué)的區(qū)別和聯(lián)系,其次以IBM的SOMA(Service Oriented Modeling and Architecture,面向服務(wù)的建模與架構(gòu))為例,介紹SOA分析和設(shè)計(jì)中的主要內(nèi)容和方法。
1、SOA方法學(xué)和其他方法學(xué)的比較
與SOA的設(shè)計(jì)原則類似,SOA方法學(xué)并不是全新的方法學(xué),它是現(xiàn)有方法學(xué)的繼承和發(fā)展。一方面,原有的方法學(xué)并不能解決由于服務(wù)概念的引入帶來的問題,如怎樣發(fā)現(xiàn)服務(wù),怎樣定義服務(wù);另一方面,服務(wù)是一個(gè)水平的概念,而不是一個(gè)垂直的概念,在服務(wù)分析和設(shè)計(jì)的過程中,需要處理服務(wù)和現(xiàn)有方法學(xué)產(chǎn)物的關(guān)系,如業(yè)務(wù)流程和服務(wù),企業(yè)架構(gòu)和SOA,服務(wù)和對象等。因此服務(wù)的分析和設(shè)計(jì)最主要的職責(zé)在于發(fā)現(xiàn)服務(wù)、定義服務(wù)和實(shí)現(xiàn)服務(wù),并指導(dǎo)如何和其他方法學(xué)結(jié)合完成這些職責(zé)。
如圖1所示揭示了現(xiàn)有幾種方法學(xué)的定位。圖的橫坐標(biāo)將項(xiàng)目周期分為分析、設(shè)計(jì)和開發(fā)三個(gè)階段,縱坐標(biāo)將域分為應(yīng)用、架構(gòu)和業(yè)務(wù)。流程建模(BPM)用于業(yè)務(wù)領(lǐng)域的分析和設(shè)計(jì),如業(yè)務(wù)流程的定義、業(yè)務(wù)數(shù)據(jù)的定義等;企業(yè)架構(gòu)(EA)和方案架構(gòu)(SA)側(cè)重在架構(gòu)領(lǐng)域的分析和設(shè)計(jì),如根據(jù)業(yè)務(wù)需求確定目前目標(biāo)業(yè)務(wù)系統(tǒng)和IT系統(tǒng),根據(jù)目標(biāo)系統(tǒng)需求設(shè)計(jì)主要架構(gòu)元素和它們之間的關(guān)系;面向?qū)ο蟮姆治龊驮O(shè)計(jì)(OOAD)則貫穿分析、設(shè)計(jì)和開發(fā)三個(gè)階段,它主要分析細(xì)粒度的業(yè)務(wù)需求