戴曉華
摘 要: 面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)日漸成為主流,因而與之對(duì)應(yīng)的面向服務(wù)的建模方法成為迫切的需求。在總結(jié)了服務(wù)建模的現(xiàn)狀基礎(chǔ)上,提出了面向業(yè)務(wù)的模型驅(qū)動(dòng)敏捷服務(wù)建模方法。
關(guān)鍵詞:模型驅(qū)動(dòng);面向服務(wù)的構(gòu)架;群決策支持平臺(tái)
中圖分類號(hào):F49文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-3198(2012)01-0249-01
1 引言
面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)是一種 IT 體系結(jié)構(gòu)風(fēng)格,通過構(gòu)建服務(wù)能夠建立一個(gè)業(yè)務(wù)邏輯抽象和技術(shù)抽象,把業(yè)務(wù)邏輯與具體實(shí)現(xiàn)技術(shù)分離開來,可系統(tǒng)減少異構(gòu)性、滿足服務(wù)互操作性和不斷變化的業(yè)務(wù)要求,可以良好的實(shí)現(xiàn)群決策支持平臺(tái)的需求。目前SOA架構(gòu)已經(jīng)得到廣泛的認(rèn)可,但如何構(gòu)建面向服務(wù)的應(yīng)用軟件模型,即如何進(jìn)行面向服務(wù)的建模(Service Oriented Modeling,SOM)仍然是構(gòu)建SOA系統(tǒng)的一大挑戰(zhàn)。
廣義上的服務(wù)建模指整個(gè)面向服務(wù)的分析和設(shè)計(jì)過程,狹義上的服務(wù)建模被作為面向服務(wù)分析過程的子過程。目前針對(duì)面向服務(wù)系統(tǒng)廣義的服務(wù)建模方法包括IBM提出的面向服務(wù)分析和設(shè)計(jì)方法,Thomas Erl提出的主流SOA方法論和Micheal Bell提出的面向服務(wù)建??蚣?。針對(duì)狹義的服務(wù)建模方法的研究大體可分為基于服務(wù)應(yīng)用系統(tǒng)開發(fā)方法、面向目標(biāo)的建模方法和面向最終用戶建模方法三類。
2 面向業(yè)務(wù)的模型驅(qū)動(dòng)敏捷服務(wù)建模方法
服務(wù)建模的目標(biāo)是建立企業(yè)的服務(wù)模型,服務(wù)模型作為業(yè)務(wù)與IT之間的橋梁,是實(shí)現(xiàn)SOA對(duì)業(yè)務(wù)隨需應(yīng)變靈活性支持的關(guān)鍵因素。面向業(yè)務(wù)的模型驅(qū)動(dòng)敏捷服務(wù)建模方法首先需要對(duì)系統(tǒng)進(jìn)行面向服務(wù)的分析,在總結(jié)了SOMA,MSOAM和SOMF的面向服務(wù)的分析過程基礎(chǔ)之上,結(jié)合業(yè)務(wù)組件分析和面向服務(wù)的思想,采用業(yè)務(wù)流程建模,建立服務(wù)模型。
第一步:分解業(yè)務(wù)流程。這步將業(yè)務(wù)流程分解成一系列的細(xì)粒度流程,把流程的工作流邏輯分解到最小粒度的處理步驟,以便于識(shí)別細(xì)粒度的業(yè)務(wù)服務(wù)。
第二步:識(shí)別候選業(yè)務(wù)服務(wù)。在服務(wù)建模階段,并不一定所有服務(wù)都會(huì)成為最終設(shè)計(jì)實(shí)現(xiàn)的一部分,故而稱為候選服務(wù)。首先應(yīng)該剔除那些不屬于被候選服務(wù)封裝的邏輯,例如不能被自動(dòng)化的手工流程步驟或?qū)z留邏輯的流程步驟而言。
第三步:創(chuàng)建候選業(yè)務(wù)服務(wù)。在細(xì)粒度的業(yè)務(wù)流程中,將能夠聚合的業(yè)務(wù)邏輯建立成一個(gè)候選業(yè)務(wù)服務(wù)。
第四步:應(yīng)用面向服務(wù)原則。在這個(gè)步驟中,需要為候選業(yè)務(wù)服務(wù)應(yīng)用面向服務(wù)的原則,以支持服務(wù)的復(fù)用和自治。
第五步:識(shí)別候選服務(wù)操作。這個(gè)步驟將應(yīng)用邏輯處理需求分解,識(shí)別它們所執(zhí)行的功能。
第六步:創(chuàng)建候選服務(wù)操作。在這個(gè)步驟中,創(chuàng)建識(shí)別出的候選服務(wù)操作,考察消費(fèi)者對(duì)服務(wù)的使用,合并或拆分服務(wù)操作。
3 實(shí)例
3.1 業(yè)務(wù)建模
在問題管理子系統(tǒng)中,包括問題錄入與修改、問題查詢、問題語言分詞、問題屬性識(shí)別、問題類型識(shí)別、問題求解方法匹配、子問題識(shí)別、問題求解管理和問題求解方案評(píng)價(jià)等9個(gè)主要業(yè)務(wù)功能。本節(jié)將對(duì)問題管理子系統(tǒng)進(jìn)行業(yè)務(wù)建模,首先將業(yè)務(wù)流程分解為細(xì)粒度的流程。從細(xì)粒度的管理流程分解中,可以得到問題語言分詞服務(wù)、問題屬性識(shí)別服務(wù)、問題類型識(shí)別服務(wù),問題求解方法匹配服務(wù),檢查是否產(chǎn)生子問題服務(wù)和問題求解服務(wù)。經(jīng)過應(yīng)用面向服務(wù)原則步驟,發(fā)現(xiàn)問題語言分詞,問題屬性識(shí)別,問題類型識(shí)別相互互為前提,可以將其組合封裝為粗粒度的問題分析服務(wù),以便于高層次的服務(wù)請(qǐng)求的調(diào)用。
3.2 模型驅(qū)動(dòng)開發(fā)
(1)UML建模。
本節(jié)以上文分析所得的問題分析服務(wù)為例。問題分析服務(wù)可以進(jìn)行問題分詞,問題屬性識(shí)別和問題類型識(shí)別。問題分析服務(wù)是復(fù)合服務(wù),而問題分詞,問題屬性識(shí)別和問題類型識(shí)別提供構(gòu)件服務(wù)。業(yè)務(wù)分析師可以利用UML類圖建立問題分析服務(wù)平臺(tái)無關(guān)結(jié)構(gòu)模型。
(2)轉(zhuǎn)換規(guī)則及WSDL服務(wù)描述。
模型驅(qū)動(dòng)開發(fā)將UML轉(zhuǎn)換為WSDL,可支持對(duì)服務(wù)進(jìn)行詳細(xì)的建模和設(shè)計(jì)。作為計(jì)算無關(guān)模型CIM的UML模型可以轉(zhuǎn)化為平臺(tái)無關(guān)模型PIM的WSDL模型。使用UML 擴(kuò)展機(jī)制,UML模型可以圖形化的直觀方式,表達(dá)WSDL的語義。
本文引入了構(gòu)造型<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>。
4 結(jié)語
面向業(yè)務(wù)的模型驅(qū)動(dòng)敏捷服務(wù)建模方法具有廣泛復(fù)用、靈活匹配、松散耦合的特點(diǎn)。一方面,以業(yè)務(wù)為核心且可迭代的快速建模過程使服務(wù)模型隨需求快速敏捷地變化。另一方面,服務(wù)模型是業(yè)務(wù)架構(gòu)的底層,技術(shù)架構(gòu)的頂層,承上啟下,是靈活的業(yè)務(wù)流程和IT之間的橋梁,保證二者之間的可追溯性。
參考文獻(xiàn)
[1]劉勇,李朋,薛華成.Intranet環(huán)境下群體決策支持系統(tǒng)的研究[J].系統(tǒng)工程,1997,(6).
[2]Micheal Bell.Service-Oriented Modeling: Service Analysis,Design and Architecture[M].Wiley,2008.
[3]何戈.面向服務(wù)的應(yīng)用描述語言及其支撐環(huán)境的關(guān)鍵技術(shù)研究[J].北京:中國(guó)科學(xué)院研究生院,2005.