倪 楓
(上海理工大學(xué) 管理學(xué)院,上海 200093)
近三十年來(lái),借助系統(tǒng)架構(gòu)理論研究并融入現(xiàn)代企業(yè)管理方法,企業(yè)信息化架構(gòu)的研究取得了諸多進(jìn)展[1-3]。隨著市場(chǎng)環(huán)境的瞬息萬(wàn)變和企業(yè)競(jìng)爭(zhēng)的加劇,尤其是近年來(lái)互聯(lián)網(wǎng)成為企業(yè)間的主要協(xié)作環(huán)境之后,網(wǎng)絡(luò)的開放性和協(xié)作的動(dòng)態(tài)性使得客戶需求變更、業(yè)務(wù)流程調(diào)整、硬件資源升級(jí)更加頻繁,這對(duì)企業(yè)架構(gòu)提出了新的要求。一方面,高成長(zhǎng)性帶來(lái)企業(yè)愿景和需求的持續(xù)變化,要求架構(gòu)具有不斷演進(jìn)的能力;另一方面,頻繁的業(yè)務(wù)升級(jí)與流程優(yōu)化需要信息系統(tǒng)和技術(shù)層面的及時(shí)跟進(jìn)和支撐,企業(yè)需要更“敏捷”的架構(gòu),這一需求越來(lái)越受到關(guān)注。
Lucke等在2012年總結(jié)了企業(yè)架構(gòu)研究領(lǐng)域的13個(gè)關(guān)鍵熱點(diǎn)問(wèn)題[4],其中就包括架構(gòu)設(shè)計(jì)中架構(gòu)模型隨業(yè)務(wù)環(huán)境變化的敏捷性迭代演化問(wèn)題,然而,這個(gè)問(wèn)題至今沒(méi)有明確的、被廣泛認(rèn)可的解決方案。與傳統(tǒng)企業(yè)架構(gòu)相比,敏捷架構(gòu)的“敏捷性”主要體現(xiàn)在以下兩個(gè)方面:一方面,根據(jù)頂層需求的不斷變化更快地進(jìn)行架構(gòu)整體迭代,即敏捷演進(jìn);另一方面,業(yè)務(wù)需求調(diào)整時(shí)更快地提供與業(yè)務(wù)匹配的IT應(yīng)用系統(tǒng),即業(yè)務(wù)與IT對(duì)齊。由此提出的敏捷架構(gòu)設(shè)計(jì)的概念和方法[5-6]融合來(lái)自軟件工程領(lǐng)域的敏捷開發(fā)方法、業(yè)務(wù)流程管理(business process management,BPM)[7]和面向服務(wù)架構(gòu)(service oriented architecture,SOA)[8]的設(shè)計(jì)思想,其適用性體現(xiàn)在兩個(gè)方面。
一方面,敏捷開發(fā)方法與SOA結(jié)合解決敏捷演進(jìn)問(wèn)題。敏捷開發(fā)方法提供一種與傳統(tǒng)瀑布式方法不同的適應(yīng)型方法,認(rèn)為業(yè)務(wù)需求始終是變化的,而且這種變化是無(wú)法預(yù)知的。因此架構(gòu)開發(fā)者并不試圖去限制或者預(yù)測(cè)需求的變化,而是在需求變化發(fā)生的時(shí)候迅速地對(duì)架構(gòu)設(shè)計(jì)作出調(diào)整和演進(jìn)以適應(yīng)這種變化,即敏捷演進(jìn)。而通過(guò)SOA服務(wù)組件的復(fù)用和組合是實(shí)現(xiàn)敏捷演進(jìn)的有效途徑,且已有了一些成功的應(yīng)用實(shí)踐[9]。
另一方面,SOA與BPM[5,10]方法組合解決業(yè)務(wù)與IT對(duì)齊問(wèn)題。尹裴等[11]指出,成功的SOA架構(gòu)設(shè)計(jì)必須是IT技術(shù)人員與業(yè)務(wù)流程管理人員合作的結(jié)果,由BPM需求驅(qū)動(dòng)的SOA才是有生命力的,才能實(shí)現(xiàn)企業(yè)信息系統(tǒng)快速有效地響應(yīng)業(yè)務(wù)環(huán)境變化,避免企業(yè)架構(gòu)中“業(yè)務(wù)與IT兩張皮”的失配現(xiàn)象。
然而,目前大多數(shù)SOA敏捷架構(gòu)研究都有重技術(shù)輕方法論的特點(diǎn)。研究主要集中在SOA的實(shí)現(xiàn)技術(shù)上,如服務(wù)的描述與調(diào)用、服務(wù)相似度計(jì)算、服務(wù)的匹配和組合算法等,而對(duì)如何實(shí)施企業(yè)SOA敏捷架構(gòu)的設(shè)計(jì)與開發(fā)較少有系統(tǒng)化的方法論研究。在方法論層面,值得參考的工作是盛津芳提出的一種基于SOA的模型驅(qū)動(dòng)快速開發(fā)架構(gòu)[12],將架構(gòu)開發(fā)過(guò)程劃分為兩個(gè)正交層面:垂直維度包括5個(gè)建模層次(基礎(chǔ)設(shè)施服務(wù)層、適配器服務(wù)層、業(yè)務(wù)服務(wù)層、業(yè)務(wù)流程層、展示層),水平維度包括4個(gè)建模階段(業(yè)務(wù)建模、服務(wù)建模、流程編排、服務(wù)實(shí)現(xiàn))。本文結(jié)合目前業(yè)界主流的開放組架構(gòu)框架(the open group architecture framework,TOGAF)[13]及 BPM+SOA 建 模 方 法 ,對(duì)盛津芳的二維正交開發(fā)過(guò)程進(jìn)行改進(jìn)和擴(kuò)充。針對(duì)企業(yè)架構(gòu)的敏捷演進(jìn)和業(yè)務(wù)IT對(duì)齊問(wèn)題,提出一套針對(duì)SOA敏捷架構(gòu)開發(fā)的TOGAF層次化迭代建模方法,由外層敏捷演進(jìn)迭代閉環(huán)促進(jìn)架構(gòu)整體的敏捷演進(jìn),由內(nèi)層三維迭代矩陣改善業(yè)務(wù)與IT的對(duì)齊問(wèn)題。
企業(yè)架構(gòu)這一概念提出以來(lái),世界上已有數(shù)十個(gè)組織陸續(xù)發(fā)布了從專業(yè)到一般各種類型的企業(yè)架構(gòu)框架標(biāo)準(zhǔn)[14],然而大多數(shù)企業(yè)架構(gòu)設(shè)計(jì)思想停留在底層信息系統(tǒng)層面,沒(méi)有上升到整個(gè)企業(yè)戰(zhàn)略層面。企業(yè)架構(gòu)敏捷性的提高必須從架構(gòu)全局進(jìn)行設(shè)計(jì)與規(guī)劃[15]。本文使用的開放組架構(gòu)框架TOGAF是一整套企業(yè)戰(zhàn)略導(dǎo)向、業(yè)務(wù)流程驅(qū)動(dòng)直至信息系統(tǒng)與技術(shù)層實(shí)施的解決方案和架構(gòu)方法論,強(qiáng)調(diào)逐步迭代細(xì)化的架構(gòu)開發(fā)方法,與SOA敏捷架構(gòu)的設(shè)計(jì)與開發(fā)有很多契合點(diǎn)。
受到國(guó)際主流廠商(IBM,HP,SUN等)的認(rèn)可和推動(dòng),TOGAF 9.1版本發(fā)布至今已成為企業(yè)架構(gòu)的主流框架標(biāo)準(zhǔn),目前全世界73%的企業(yè)正在使用(或已經(jīng)使用過(guò))TOGAF建模企業(yè)架構(gòu)[16]。國(guó)內(nèi)在企業(yè)架構(gòu)方面雖起步較遲,但發(fā)展尤為迅速,華為、國(guó)家電網(wǎng)等越來(lái)越多的大型企業(yè)遵循TOGAF 框架和方法構(gòu)建企業(yè)架構(gòu)[17]。基于TOGAF的SOA敏捷架構(gòu)建模方法在產(chǎn)業(yè)界和學(xué)術(shù)界也有相關(guān)研究。Yuliana等[18]在一個(gè)采礦企業(yè)的TOGAF架構(gòu)建模中使用敏捷開發(fā)方法對(duì)基線架構(gòu)與目標(biāo)架構(gòu)進(jìn)行迭代式開發(fā),并在迭代過(guò)程中強(qiáng)調(diào)業(yè)務(wù)與IT的對(duì)齊,但沒(méi)有深入研究各架構(gòu)模型組之間的建模關(guān)聯(lián)。史翔等[19]基于TOGAF框架對(duì)一個(gè)燃?xì)馄髽I(yè)進(jìn)行了SOA信息化架構(gòu)設(shè)計(jì),但缺乏建模過(guò)程的詳細(xì)說(shuō)明。本文針對(duì)以上問(wèn)題,基于TOGAF,在SOA敏捷架構(gòu)開發(fā)的應(yīng)用中,關(guān)注各架構(gòu)模型組元模型層語(yǔ)義關(guān)聯(lián),給出了一套層次化迭代建模過(guò)程。
TOGAF對(duì)架構(gòu)開發(fā)過(guò)程和架構(gòu)開發(fā)內(nèi)容分別給出了兩套通用的參考標(biāo)準(zhǔn):一套完整的架構(gòu)開發(fā)過(guò)程方法論ADM(architecture development method)和一套定義了架構(gòu)內(nèi)容的元模型框架ACF(architecture content framework)[13,20]。
基于ADM的架構(gòu)開發(fā)過(guò)程是一個(gè)可靠的、行之有效的分階段逐步實(shí)現(xiàn)的迭代式過(guò)程,用以開發(fā)能夠滿足戰(zhàn)略需求的企業(yè)架構(gòu)。ADM將企業(yè)架構(gòu)建模過(guò)程劃分成以架構(gòu)需求管理為中心的9個(gè)建模階段,根據(jù)架構(gòu)需求的逐步明確化和架構(gòu)粒度的由粗到細(xì),支持循環(huán)迭代的建模方式。如圖1左邊部分所示,ADM整個(gè)環(huán)狀迭代周期為外層迭代,環(huán)狀周期中間也可以包括若干內(nèi)層迭代。
基于ACF的架構(gòu)開發(fā)內(nèi)容元模型是在元模型層面定義的一個(gè)形式化的抽象內(nèi)容結(jié)構(gòu),用以保證ADM全過(guò)程建模內(nèi)容的一致性,并為希望使用架構(gòu)工具實(shí)施架構(gòu)的組織提供指導(dǎo)[13]。ACF通過(guò)對(duì)架構(gòu)內(nèi)容元模型的定義,使架構(gòu)開發(fā)中的各視角、各粒度模型實(shí)例能在一個(gè)共有的本體基礎(chǔ)上定義、構(gòu)建并呈現(xiàn),從而保證整個(gè)架構(gòu)描述的語(yǔ)義一致性以及內(nèi)容完整性。
TOGAF依據(jù)模型驅(qū)動(dòng)開發(fā)理論將企業(yè)架構(gòu)劃分成3個(gè)視角架構(gòu):業(yè)務(wù)架構(gòu)(business architecture)、信息系統(tǒng)架構(gòu)(information systems architecture)、技術(shù)架構(gòu)(technology architecture)[13],本文合并稱為BIT視角架構(gòu)。對(duì)應(yīng)的3個(gè)架構(gòu)建模階段構(gòu)成了ADM的核心,并在ACF中分別對(duì)應(yīng)一部分內(nèi)容元模型,如圖1所示?;赥OGAF的SOA敏捷架構(gòu)開發(fā)過(guò)程,即以ADM為全生命周期參考模板,由企業(yè)架構(gòu)愿景驅(qū)動(dòng),以需求為中心對(duì)BIT架構(gòu)進(jìn)行迭代式設(shè)計(jì)與開發(fā)。
業(yè)務(wù)架構(gòu)(B):描述業(yè)務(wù)組織結(jié)構(gòu)、業(yè)務(wù)執(zhí)行節(jié)點(diǎn)、業(yè)務(wù)功能、業(yè)務(wù)協(xié)作角色、業(yè)務(wù)流程以及由業(yè)務(wù)協(xié)作關(guān)系識(shí)別出潛在的業(yè)務(wù)服務(wù)。得益于SOA的信息系統(tǒng)架構(gòu)治理,使得業(yè)務(wù)架構(gòu)層面不用考慮與底層資源和遺留系統(tǒng)的交互細(xì)節(jié),而把重點(diǎn)放在業(yè)務(wù)流程的優(yōu)化設(shè)計(jì)和敏捷調(diào)整上。
信息系統(tǒng)架構(gòu)(I):根據(jù)業(yè)務(wù)架構(gòu)模型及其對(duì)潛在業(yè)務(wù)服務(wù)的定義,設(shè)計(jì)開發(fā)SOA信息系統(tǒng)架構(gòu),包括與業(yè)務(wù)服務(wù)對(duì)應(yīng)的基本服務(wù)架構(gòu)、邏輯服務(wù)組件以及數(shù)據(jù)實(shí)體邏輯模型等。SOA避免了企業(yè)信息系統(tǒng)層面出現(xiàn)煙囪式、功能重疊、信息孤島式的情況。
技術(shù)架構(gòu)(T):描述企業(yè)架構(gòu)的底層系統(tǒng)資源和基礎(chǔ)設(shè)施及技術(shù)標(biāo)準(zhǔn),包括服務(wù)平臺(tái)/中間件以及其他底層技術(shù)標(biāo)準(zhǔn),如網(wǎng)絡(luò)通信、分布式系統(tǒng)以及信息安全等技術(shù)標(biāo)準(zhǔn)體系,以支撐信息系統(tǒng)架構(gòu)中定義的運(yùn)行環(huán)境。
BIT的3個(gè)架構(gòu)視角是互為支撐的,并通過(guò)ACF元模型層關(guān)聯(lián)融合為一體。因此,在BIT的3個(gè)階段的架構(gòu)建模過(guò)程中,既要考慮各視角架構(gòu)模型組的“分離”,又要考慮各視角架構(gòu)模型組的“對(duì)齊”。
企業(yè)架構(gòu)中業(yè)務(wù)與IT在設(shè)計(jì)視角上的“關(guān)注點(diǎn)分離”,以及在建模內(nèi)容上的“模型語(yǔ)義對(duì)齊”是需要同時(shí)考慮的兩個(gè)重要問(wèn)題。ACF作為架構(gòu)內(nèi)容元模型,屬于元模型的一類(區(qū)別于符號(hào)元模型),一些研究中也稱為本體元模型(ontological meta-model)[21],作用于語(yǔ)義層面。Hinkelmann提出以本體元模型為核心的業(yè)務(wù)與IT對(duì)齊建模方法論框架[22],指出模型層面語(yǔ)義對(duì)齊的基礎(chǔ)應(yīng)追溯到元模型層面的映射與匹配?;诖丝蚣埽疚脑赥OGAF背景下提出基于ACF的BIT架構(gòu)視角“分離”與“對(duì)齊”的設(shè)計(jì)準(zhǔn)則。
a. BIT建模視角的分離。
根據(jù)現(xiàn)代企業(yè)架構(gòu)設(shè)計(jì)中“關(guān)注點(diǎn)分離”的原則,將各個(gè)視角架構(gòu)模型描述限定在特定用戶類型關(guān)注視角內(nèi),以保證架構(gòu)模型在各個(gè)用戶類型之間的可讀性和可交互性。因此,TOGAF將頂層ACF按照BIT的3個(gè)建模視角劃分為相互獨(dú)立但部分交疊的業(yè)務(wù)架構(gòu)元模型、信息系統(tǒng)架構(gòu)元模型和技術(shù)架構(gòu)元模型,如圖1右邊部分所示。ACF中充分考慮了建模對(duì)象架構(gòu)的業(yè)務(wù)流程、數(shù)據(jù)、規(guī)則、節(jié)點(diǎn)等方面需要描述和表達(dá)的內(nèi)容,以及這些內(nèi)容內(nèi)在的約束和關(guān)聯(lián)。BIT的3個(gè)架構(gòu)視角分別覆蓋一部分ACF元模型,表示BIT的3個(gè)視角各自側(cè)重的建模部分。BIT架構(gòu)建模過(guò)程是基于這3部分元模型所劃定的視角范圍,加入具體場(chǎng)景后的實(shí)例化描述過(guò)程。
b. BIT模型語(yǔ)義的對(duì)齊。
雖然BIT的3個(gè)視角架構(gòu)模型組在描述語(yǔ)言和描述形式上各不相同,但所描述的對(duì)象是同一個(gè)企業(yè)架構(gòu),即各架構(gòu)視角模型組所實(shí)例化描述的元模型局部都來(lái)自同一個(gè)ACF,并不是相互獨(dú)立存在、獨(dú)立建模的。由于ACF元模型層面的關(guān)聯(lián),制約各視角架構(gòu)模型元素之間也存在映射關(guān)系,即模型語(yǔ)義對(duì)齊。圖1中右邊部分BIT的3個(gè)視角架構(gòu)元模型之間存在“業(yè)務(wù)服務(wù)”元類交疊,并與各視角其他元類關(guān)聯(lián),成為BIT架構(gòu)模型組在元模型層面的紐帶,對(duì)應(yīng)BIT架構(gòu)實(shí)例化建模階段也應(yīng)以此為模型組之間的語(yǔ)義對(duì)齊準(zhǔn)則。
圖 1 ADM的BIT架構(gòu)階段對(duì)應(yīng)ACF的BIT架構(gòu)視角Fig.1 BIT phases of ADM and the BIT viewpoints of ACF
SOA敏捷架構(gòu)的敏捷性特點(diǎn)一方面體現(xiàn)在敏捷演進(jìn),另一方面體現(xiàn)在業(yè)務(wù)與IT對(duì)齊。由此提出基于ADM的層次化迭代架構(gòu)設(shè)計(jì)方法,包括外層迭代(敏捷演進(jìn)閉環(huán))和內(nèi)層迭代(三維迭代矩陣)。
對(duì)敏捷架構(gòu)而言,整體演進(jìn)貫穿整個(gè)架構(gòu)生命周期。針對(duì)敏捷架構(gòu)業(yè)務(wù)更新快、迭代頻繁、架構(gòu)演進(jìn)周期短等特點(diǎn),提出基于ADM的外層迭代方案,即敏捷演進(jìn)迭代閉環(huán),如圖2所示。敏捷演進(jìn)是一個(gè)圍繞ADM迭代過(guò)程進(jìn)行差距分析(gap analysis)[23]與增量更新的迭代閉環(huán),使得企業(yè)架構(gòu)能夠以不斷更新的方式階段化交付設(shè)計(jì)方案。ADM從迭代周期的前后將BIT架構(gòu)設(shè)計(jì)分成基線架構(gòu)(AS-IS architecture)和目標(biāo)架構(gòu)(TO-BE architecture)[13]。差距分析強(qiáng)調(diào)將目標(biāo)架構(gòu)和基線架構(gòu)之間在BIT 3個(gè)視角上的需求變化映射到設(shè)計(jì)模型的增量更新,進(jìn)而確定企業(yè)所需的新的信息系統(tǒng)、應(yīng)用服務(wù)及技術(shù)架構(gòu)的采購(gòu)或升級(jí)方案,并以此制定遷移規(guī)劃,如采用自己開發(fā)、外購(gòu)或使用外部服務(wù)資源的方式滿足企業(yè)的架構(gòu)更新需求。另外,基于差距分析進(jìn)行迭代式的、增量化的設(shè)計(jì)與實(shí)施也為企業(yè)架構(gòu)帶來(lái)階段化的交付能力。
圖 2 敏捷演進(jìn)迭代閉環(huán)Fig.2 Closed-loop iterative architecture evolution
敏捷演進(jìn)迭代閉環(huán)的各個(gè)階段工作簡(jiǎn)要概括為:由階段A(架構(gòu)愿景)啟動(dòng)新的ADM架構(gòu)開發(fā)外層迭代周期,通過(guò)差距分析確定新增業(yè)務(wù)需求或是原有業(yè)務(wù)需求的改變,設(shè)定架構(gòu)增量更新的目標(biāo)、范圍、利益相關(guān)方、約束和預(yù)期結(jié)果;階段B、階段C、階段D(BIT架構(gòu)建模)分別對(duì)BIT 3個(gè)視角架構(gòu)進(jìn)行建模,構(gòu)成ADM核心的內(nèi)層迭代,遵循三維迭代矩陣,迭代過(guò)程與建模方法在本文第四部分作詳細(xì)討論;階段E(機(jī)會(huì)和解決方案)基于新的架構(gòu)愿景與BIT基線架構(gòu)進(jìn)行差距分析,考慮業(yè)務(wù)需求變化、功能實(shí)現(xiàn)增強(qiáng)、新功能加入、系統(tǒng)缺陷修復(fù)、業(yè)務(wù)環(huán)境改變等多種因素,確定需要更新的部分,規(guī)劃必要的過(guò)渡架構(gòu)作為后續(xù)實(shí)施架構(gòu)更新的基礎(chǔ);階段F(更新規(guī)劃)分析BIT架構(gòu)更新的成本、效益和風(fēng)險(xiǎn),制定下一輪BIT架構(gòu)增量更新規(guī)劃;階段G(實(shí)施治理)為從BIT基線架構(gòu)向目標(biāo)架構(gòu)的更新實(shí)施提供監(jiān)管,確保架構(gòu)更新的實(shí)施和設(shè)計(jì)初衷相一致;階段H(架構(gòu)變更管理)對(duì)變更過(guò)程進(jìn)行持續(xù)的監(jiān)控并建立必要的版本管理,以確保BIT架構(gòu)模型產(chǎn)品的階段化交付能力以及迭代歷史的可追溯性。
針對(duì)敏捷架構(gòu)的特點(diǎn)并融合SOA的架構(gòu)設(shè)計(jì)理念,提出在ADM中BIT三階段架構(gòu)建模過(guò)程中嵌入內(nèi)層迭代方案,即三維迭代建模矩陣,如圖3所示。將業(yè)務(wù)與IT的對(duì)齊問(wèn)題轉(zhuǎn)換為BIT架構(gòu)模型組的對(duì)齊問(wèn)題,并分解到3個(gè)維度上:a. 場(chǎng)景維,基于場(chǎng)景的業(yè)務(wù)驅(qū)動(dòng),與IT架構(gòu)需求對(duì)齊;b. 視角維,基于架構(gòu)內(nèi)容元模型的BIT模型語(yǔ)義對(duì)齊;c. 粒度維,BIT架構(gòu)模型組的粒度平衡與對(duì)齊。
a. 場(chǎng)景維:需求對(duì)齊。
ADM如圖1所示是以架構(gòu)需求為中心的,需求管理貫穿架構(gòu)設(shè)計(jì)與建模的整個(gè)生命周期。場(chǎng)景(scenario)[24]作為描述架構(gòu)現(xiàn)狀或期望的基本單元,其抽象級(jí)間于架構(gòu)愿景和具體的BIT架構(gòu)模型組之間。三維迭代矩陣中定義場(chǎng)景維作為需求對(duì)齊機(jī)制,基于場(chǎng)景由業(yè)務(wù)架構(gòu)驅(qū)動(dòng)IT架構(gòu)進(jìn)行增量式迭代建模。場(chǎng)景作為架構(gòu)需求由抽象到具體的橋梁,是架構(gòu)愿景頂層抽象需求的初步實(shí)例化,包括架構(gòu)中節(jié)點(diǎn)/參與者、環(huán)境及背景信息、目標(biāo)/能力、業(yè)務(wù)活動(dòng)和事件等概念化描述。BIT架構(gòu)的建模過(guò)程從需求對(duì)齊的角度來(lái)看是對(duì)各個(gè)場(chǎng)景抽象概念逐層具體化、規(guī)范化描述的過(guò)程。針對(duì)敏捷架構(gòu)業(yè)務(wù)變更頻繁的特點(diǎn),基于場(chǎng)景的需求管理能夠最大程度地體現(xiàn)業(yè)務(wù)架構(gòu)的敏捷性和可延展性。所有已實(shí)現(xiàn)的需求場(chǎng)景集合構(gòu)成了當(dāng)前狀態(tài)下企業(yè)的完整業(yè)務(wù)功能范圍,架構(gòu)需求的變化可以體現(xiàn)為場(chǎng)景的增加或更改,并由此驅(qū)動(dòng)整個(gè)企業(yè)架構(gòu)其他部分的增量式更新迭代。
b. 視角維:語(yǔ)義對(duì)齊。
由ACF的視角分離和語(yǔ)義對(duì)齊準(zhǔn)則,定義三維迭代矩陣中的視角維。一方面,通過(guò)對(duì)ACF的劃分對(duì)BIT模型組按視角實(shí)現(xiàn)關(guān)注點(diǎn)的分離。BIT的3個(gè)視角架構(gòu)元模型基于同一個(gè)ACF元模型基礎(chǔ),劃分各視角架構(gòu)邊界并明確各個(gè)視角架構(gòu)的描述范圍,分離出3個(gè)相對(duì)獨(dú)立的元模型。不同架構(gòu)視角可根據(jù)需要選擇不同種類的描述模型,從不同視角描述企業(yè)架構(gòu)的不同側(cè)面,即3個(gè)架構(gòu)元模型的實(shí)例化。另一方面,由語(yǔ)義對(duì)齊準(zhǔn)則,BIT架構(gòu)元模型對(duì)應(yīng)的ACF交疊部分促使BIT各視角模型組在建模語(yǔ)義上對(duì)齊。交疊部分元類、元關(guān)系結(jié)合相應(yīng)的建模語(yǔ)言實(shí)例化到BIT各視角下模型語(yǔ)義中互相關(guān)聯(lián)的部分,通常要通過(guò)相關(guān)模型元素的映射關(guān)系來(lái)實(shí)現(xiàn)。
c. 粒度維:粒度對(duì)齊。
粒度(granularity)均衡[25]是SOA敏捷架構(gòu)建模中需要考慮的重要問(wèn)題,即在BIT各架構(gòu)模型組之間尋找并維持一個(gè)建模粒度的平衡,以此定義三維迭代矩陣中的粒度維。對(duì)IT架構(gòu)來(lái)說(shuō),細(xì)粒度更有利于服務(wù)的重用,近年提出的 “微服務(wù)”概念[26]更是倡導(dǎo)大量使用細(xì)粒度的服務(wù),以映射更小單位的底層計(jì)算資源,最大化地提高企業(yè)資源的使用效率。相反,對(duì)業(yè)務(wù)架構(gòu)來(lái)說(shuō)并不希望粒度太細(xì)。太細(xì)粒度的業(yè)務(wù)流程往往需要映射、編排大量業(yè)務(wù)活動(dòng)與這種細(xì)粒度服務(wù)的關(guān)聯(lián),增加了集成的復(fù)雜性。因此,BIT架構(gòu)模型組建模粒度不能太粗或者太細(xì),一個(gè)良好的SOA架構(gòu)設(shè)計(jì)必須在架構(gòu)需求的基礎(chǔ)上選擇一個(gè)粒度平衡點(diǎn),然后在BIT架構(gòu)建模過(guò)程中逐級(jí)細(xì)化迭代以達(dá)到平衡粒度,并在每一輪迭代過(guò)程中保持BIT架構(gòu)模型組在粒度維的對(duì)齊。
ADM的內(nèi)層迭代基于三維迭代矩陣,形成一個(gè)多場(chǎng)景、多視角、多粒度的BIT架構(gòu)模型組,并保持需求、語(yǔ)義、粒度3個(gè)方面的對(duì)齊。迭代過(guò)程中為了防止各視角模型組之間數(shù)據(jù)的錯(cuò)誤、冗余和重命名,還應(yīng)建立必要的數(shù)據(jù)一致性保障機(jī)制。
圖 3 三維迭代矩陣Fig.3 Three-dimensional iterative modeling matrix
BPM+SOA是目前國(guó)際主流研究比較認(rèn)可的方法組合,在建模語(yǔ)言和工具支撐上實(shí)現(xiàn)以業(yè)務(wù)流程為主導(dǎo)的SOA設(shè)計(jì)也是趨勢(shì)所向[10,27]。敏捷架構(gòu)設(shè)計(jì)以BPM+SOA作為內(nèi)層迭代的方法支撐,分別應(yīng)用于業(yè)務(wù)架構(gòu)視角和信息系統(tǒng)架構(gòu)視角建模。業(yè)務(wù)架構(gòu)視角建模中,使用業(yè)務(wù)流程建模標(biāo)記語(yǔ)言,即BPMN(business process modeling notation)[28],基于BPM定義、封裝各個(gè)業(yè)務(wù)節(jié)點(diǎn)的相互操作關(guān)系及內(nèi)部流程,引導(dǎo)如何將各個(gè)粒度的服務(wù)連接到一起并進(jìn)行編排。信息系統(tǒng)架構(gòu)視角建模中,使用面向服務(wù)架構(gòu)建模語(yǔ)言SoaML(service oriented architecture modeling language)[29], 基 于 BPMN 業(yè)務(wù)服務(wù)定義SOA服務(wù)接口和契約,支撐并連接BPM業(yè)務(wù)過(guò)程實(shí)現(xiàn)背后的系統(tǒng)節(jié)點(diǎn)及底層資源,使得BPM業(yè)務(wù)流程的改動(dòng)或者重構(gòu)能夠方便地通過(guò)一系列具有標(biāo)準(zhǔn)接口以及松散耦合特點(diǎn)的服務(wù)組合來(lái)靈活地實(shí)現(xiàn),以適應(yīng)企業(yè)新的業(yè)務(wù)需求。
將圖3中ADM內(nèi)層三維度迭代矩陣對(duì)場(chǎng)景n的第j輪粒度迭代建模過(guò)程以視角維展開,一個(gè)典型的基于BPM+SOA方法的Bnj, Inj,Tnj模型組迭代對(duì)齊建模過(guò)程如圖4所示,箭頭表征架構(gòu)模型的建模順序及關(guān)聯(lián)關(guān)系。
業(yè)務(wù)架構(gòu)階段模型組包括BPMN協(xié)作圖、編排圖,分別從業(yè)務(wù)組織/執(zhí)行節(jié)點(diǎn)內(nèi)部業(yè)務(wù)流程以及它們之間交互關(guān)系的角度描述業(yè)務(wù)流程。信息系統(tǒng)架構(gòu)階段模型組包括SoaML服務(wù)架構(gòu)圖、契約圖、接口圖、交互圖。BPMN與SoaML以“業(yè)務(wù)服務(wù)”為契合點(diǎn)獲得建模語(yǔ)義的對(duì)齊。技術(shù)架構(gòu)建模階段涉及的建模標(biāo)準(zhǔn)繁多,可根據(jù)業(yè)務(wù)架構(gòu)、信息系統(tǒng)架構(gòu)模型作具體選擇,包括行業(yè)通用技術(shù)標(biāo)準(zhǔn)、某些專用技術(shù)模型、面向服務(wù)架構(gòu)相關(guān)的技術(shù)參考模型等,本文對(duì)技術(shù)架構(gòu)建模過(guò)程不作詳述。
對(duì)場(chǎng)景n的第j輪BIT迭代建模完成后,提高一級(jí)粒度繼續(xù)進(jìn)行j+1輪迭代,直至達(dá)到預(yù)設(shè)的架構(gòu)粒度需求。在同一輪迭代中,BIT各視角使用相應(yīng)的描述模型語(yǔ)言在同一抽象層次、均衡的粒度水平上對(duì)架構(gòu)進(jìn)行描述。每一輪迭代完成后,BIT各架構(gòu)同步提高一級(jí)細(xì)化等級(jí),開始在新的層次與粒度上建模。另外,作為各架構(gòu)模型間數(shù)據(jù)一致性保障機(jī)制,圖4中的BIT架構(gòu)模型組集成字典貫穿3個(gè)架構(gòu)建模階段并參與每一輪粒度迭代,制約各架構(gòu)建模。集成字典能夠?qū)Ω麟A段模型數(shù)據(jù)的數(shù)據(jù)名稱、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)、實(shí)體關(guān)系等進(jìn)行定義、登記、管理、備份等,使得模型數(shù)據(jù)在三維迭代建模的各階段保持可注冊(cè)、可復(fù)用、可查詢、可追溯。
圖 4 BIT模型組的迭代對(duì)齊建模過(guò)程Fig.4 Iterative & aligned modeling approach for BIT architecture models
SOA敏捷企業(yè)架構(gòu)尤其適用于具有成長(zhǎng)快、戰(zhàn)略調(diào)整頻繁、業(yè)務(wù)主導(dǎo)等特點(diǎn)的成長(zhǎng)型中小企業(yè),具有廣闊的市場(chǎng)應(yīng)用前景。本文針對(duì)SOA敏捷架構(gòu)的特點(diǎn),提出一套基于TOGAF的層次化迭代建模方法,為SOA敏捷架構(gòu)設(shè)計(jì)理念的實(shí)現(xiàn)提供了一種可行的方案。由此為成長(zhǎng)型企業(yè)帶來(lái)兩個(gè)驅(qū)動(dòng)方向上的迭代與演進(jìn)能力。B→IT:由業(yè)務(wù)架構(gòu)優(yōu)化導(dǎo)致的信息、技術(shù)架構(gòu)演進(jìn),如企業(yè)發(fā)生戰(zhàn)略重心調(diào)整、業(yè)務(wù)流程變更等變動(dòng),應(yīng)立即驅(qū)動(dòng)相應(yīng)信息化支撐系統(tǒng)的同步演化,保持企業(yè)IT系統(tǒng)、基礎(chǔ)設(shè)施與所支持的業(yè)務(wù)及戰(zhàn)略“對(duì)齊”。IT→B:由新技術(shù)導(dǎo)入信息、技術(shù)架構(gòu)帶動(dòng)的業(yè)務(wù)架構(gòu)演化,如移動(dòng)互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)等信息技術(shù)革新帶來(lái)的新業(yè)務(wù)、新模式,甚至可能上升為企業(yè)的新戰(zhàn)略、新機(jī)遇。
本文通過(guò)建模語(yǔ)言BPMN與SoaML之間相關(guān)模型元素的映射關(guān)系,建立業(yè)務(wù)架構(gòu)與信息系統(tǒng)架構(gòu)模型組之間的關(guān)聯(lián),實(shí)現(xiàn)模型層面的業(yè)務(wù)與IT對(duì)齊,然而這只是表面、粗淺的對(duì)齊。真正的對(duì)齊應(yīng)該深入到模型組語(yǔ)義層面,模型元素的映射關(guān)系應(yīng)基于元模型的關(guān)聯(lián)。對(duì)TOGAF而言則是由ACF元模型層面,基于BIT架構(gòu)模型共同的“業(yè)務(wù)服務(wù)”元類,挖掘架構(gòu)模型組之間的語(yǔ)義層建模關(guān)聯(lián),真正實(shí)現(xiàn)BPM+SOA業(yè)務(wù)與IT的語(yǔ)義層面對(duì)齊。本文的后續(xù)研究集中在語(yǔ)義對(duì)齊映射規(guī)則、關(guān)聯(lián)建模過(guò)程以及模型一致性校驗(yàn)方法方面,這些將另外撰文研討。