韋曉萍 許錦洲 宋祥斌
(海軍指揮學(xué)院 南京 211800)
隨著聯(lián)合作戰(zhàn)需求的快速變化,美國國防部在DoDAF v1.5[1]中,提出“網(wǎng)絡(luò)中心戰(zhàn) NCW”和“面向服務(wù)的體系結(jié)構(gòu)SOA”的概念,使用面向服務(wù)的體系結(jié)構(gòu)(SOA)[2]開發(fā)方法,將DoDAF的開發(fā)從以產(chǎn)品為中心轉(zhuǎn)化為以數(shù)據(jù)為中心。體系結(jié)構(gòu)框架(DoDAF)為DoD系統(tǒng)體系結(jié)構(gòu)的描述、表示,及作戰(zhàn)行動和業(yè)務(wù)運作過程的集成定義了一種通用的途徑。它是用來描述、提供和組成部件的結(jié)構(gòu),它們之間的關(guān)系,以及指導(dǎo)它們設(shè)計和演進的原則和指南[3]。
在網(wǎng)絡(luò)中心戰(zhàn)中,它能完成網(wǎng)絡(luò)中心行動,即戰(zhàn)爭中能有效通過網(wǎng)絡(luò)給用戶(目前和不可預(yù)見的)制定必須的和有用的信息(他們所需要的何時,何地以及什么信息),來幫助他們有效完成任務(wù)。將這樣的系統(tǒng)體系結(jié)構(gòu)視為特定的機制用來為這種轉(zhuǎn)變設(shè)計出解決的方法,選擇SOA作為體系結(jié)構(gòu)的設(shè)計方法,提出基于SOA的系統(tǒng)體系結(jié)構(gòu)設(shè)計過程。構(gòu)建一個事件驅(qū)動SOA,通過引進網(wǎng)絡(luò)中心環(huán)境服務(wù)(NCE)已有的性能或構(gòu)建一個新的NCE引進可預(yù)測的和不可預(yù)測的NCE用戶,參與網(wǎng)絡(luò)中心環(huán)境。體系結(jié)構(gòu)規(guī)定企業(yè)服務(wù)和企業(yè)程序由基于SOA內(nèi)部結(jié)構(gòu)的企業(yè)數(shù)據(jù)總線(ESB)主管。這些企業(yè)服務(wù)和企業(yè)程序?qū)⑼瓿审w系結(jié)構(gòu)的作戰(zhàn)概念視圖;它們將作為關(guān)聯(lián)群集(COI)為其它NCE用戶重新使用來完成他們的任務(wù)。該方法的最后產(chǎn)品是通過構(gòu)建的體系結(jié)構(gòu)產(chǎn)品來建立一個可執(zhí)行模型,用來評估體系結(jié)構(gòu)企業(yè)程序和服務(wù)的邏輯、行為和性能特征。
SOA是一個組件模型,本質(zhì)上是服務(wù)的集合。它將應(yīng)用程序的不同服務(wù)(功能單元)通過定義良好的接口聯(lián)系起來,服務(wù)間彼此通信,這種通信可能是簡單的數(shù)據(jù)傳送,也可能是兩個或更多的服務(wù)協(xié)調(diào)進行某些活動[4]。根據(jù)業(yè)務(wù)的需求,通過網(wǎng)絡(luò)對松散耦合的應(yīng)用組件進行分布式部署、組合和使用,對服務(wù)進行動態(tài)管理和動態(tài)調(diào)用。
SOA是一種面向服務(wù)的軟件架構(gòu),它的環(huán)境結(jié)構(gòu)包括三個方面,分別是作戰(zhàn)層、服務(wù)層和物理層。在作戰(zhàn)層中,它包含事務(wù)進程,這些事務(wù)進程可以單獨成為事務(wù)服務(wù),也可以組合成事務(wù)服務(wù)。在服務(wù)層中,它包括服務(wù)和單獨的企業(yè)數(shù)據(jù)總線(ESBs),在SOA聯(lián)邦運行過程中,每一個ESBs能夠確保消息流通道服務(wù)信息的交互,本層包括多種服務(wù)類型,分別是用來監(jiān)控服務(wù)和事務(wù)進程的服務(wù),用來事務(wù)進程執(zhí)行的服務(wù),用來服務(wù)定義的注冊服務(wù)、服務(wù)層次協(xié)定和事務(wù)進程的定義??刂票O(jiān)視服務(wù)的服務(wù)集成者負責(zé)服務(wù)終點的管理,定期給SOA監(jiān)視器發(fā)送消息。SOA聯(lián)邦規(guī)則和機制在服務(wù)層次上通過連接單獨ESBs之間的網(wǎng)關(guān)強制執(zhí)行。在作戰(zhàn)層次中所需定義的事務(wù)進程作戰(zhàn)、實例化、管理和監(jiān)控是通過ESBs在服務(wù)層次中定義的。在物理層次上,包含一些物理節(jié)點(工作站、服務(wù)器、網(wǎng)絡(luò)工作節(jié)點等等)和支撐SOA環(huán)境的通信網(wǎng)絡(luò)。
在聯(lián)邦中,SOAs之間的互操作性通過企業(yè)數(shù)據(jù)總線(ESBs)之間的連接實現(xiàn),這個連接是虛連接,并不代表ESBs之間的緊耦合。它的目的是說明SOAs也是聯(lián)邦的一部分。為了確保SOA聯(lián)邦的運行,聯(lián)邦注冊更高級的層次需要規(guī)定聯(lián)邦規(guī)則、方針和廣聯(lián)邦服務(wù)。
在網(wǎng)絡(luò)中心戰(zhàn)中,NCE是一個網(wǎng)絡(luò)工作環(huán)境,它包括內(nèi)部結(jié)構(gòu)、系統(tǒng)、程序和人員來完成態(tài)勢感知,能夠快速支持網(wǎng)絡(luò)中心行動(NCO)中較短的決策周期和獲取更好的事務(wù)信息。網(wǎng)絡(luò)中心環(huán)境(NCE)的數(shù)據(jù)和性能對用戶和非用戶者必須是可視的,可獲取的和有用的。系統(tǒng)間的數(shù)據(jù)能夠自由交換以便于支持它們之間的互操作性,避免點對點的接口交互。在網(wǎng)絡(luò)中心環(huán)境中,用戶必須能夠通過網(wǎng)絡(luò)中心環(huán)境獲取他們所需的信息(何時,何地和何種形式),來完成他們的作戰(zhàn)任務(wù)和事務(wù)目標(biāo)。
其中,網(wǎng)絡(luò)中心環(huán)境NCE的概念包括以下幾個方面:1)NCE用戶:NCE的數(shù)據(jù)和性能對用戶而言必須是可視的,可獲取的和有用的。新的網(wǎng)絡(luò)中心體系結(jié)構(gòu)必須提供NCE數(shù)據(jù)、信息和性能,由NCE用戶使用。2)利用NCE:NCE的用戶必須能夠搜索數(shù)據(jù)、信息和性能,并利用它們完成任務(wù)。3)考慮不可預(yù)測的用戶:NCE用戶允許在NCE中查詢數(shù)據(jù)、信息和性能,而不是限制它們的使用。4)促成利益共同體:網(wǎng)絡(luò)中心數(shù)據(jù)策略中定義,COI是一群用戶的合作小組,這些用戶需要根據(jù)他們共同的目的、利益、使命任務(wù)或者事務(wù)進程進行交換數(shù)據(jù),那么這些交換的數(shù)據(jù)應(yīng)該共享數(shù)據(jù)格式。交換的數(shù)據(jù)共享詞匯表、分類法、數(shù)據(jù)標(biāo)準(zhǔn)、交換協(xié)議和與利益共同體相關(guān)的體系結(jié)構(gòu)說明。COI確保所開發(fā)的數(shù)據(jù)、信息和功能能夠在不同的機構(gòu)組織之間進行互操作。5)支持共享的基礎(chǔ)結(jié)構(gòu):能夠支持企業(yè)級數(shù)據(jù)、信息和功能,確保這些企業(yè)級數(shù)據(jù)、信息和功能可用。支持NCE概念有兩種策略:網(wǎng)絡(luò)中心數(shù)據(jù)策略和網(wǎng)絡(luò)中心服務(wù)策略,網(wǎng)絡(luò)中心數(shù)據(jù)策略的主要目的是使數(shù)據(jù)可視化,可獲取,易理解和可信任;網(wǎng)絡(luò)中心服務(wù)策略的主要目的是從NCE中提供服務(wù),管理這些服務(wù)和他們的內(nèi)部結(jié)構(gòu),然后監(jiān)視和操控他們。
圖1 基于SOA的系統(tǒng)體系結(jié)構(gòu)開發(fā)過程
根據(jù)SOA基本思想和方法,結(jié)合網(wǎng)絡(luò)中心戰(zhàn)中指揮控制系統(tǒng)的特點,基于SOA的C2系統(tǒng)體系結(jié)構(gòu)開發(fā)過程如圖1所示。整個開發(fā)過程包括三個方面[5]:開發(fā)體系結(jié)構(gòu)模型的體系結(jié)構(gòu)設(shè)計階段、體系結(jié)構(gòu)模型轉(zhuǎn)化為可執(zhí)行模型[6]階段、可執(zhí)行模型分析和評估階段。該方法構(gòu)建一個事件驅(qū)動SOA,通過假設(shè)網(wǎng)絡(luò)中心環(huán)境服務(wù)(NCE)或適應(yīng)不可預(yù)測的NCE用戶,參與DoD網(wǎng)絡(luò)中心環(huán)境,最終的產(chǎn)品是通過構(gòu)建的系統(tǒng)體系結(jié)構(gòu)產(chǎn)品來建立一個可執(zhí)行模型,用來評估體系結(jié)構(gòu)商業(yè)處理和服務(wù)的邏輯、行為和性能特征。
體系結(jié)構(gòu)設(shè)計階段開發(fā)出的SOA體系結(jié)構(gòu)產(chǎn)品,在分析和評估階段被使用來建立可執(zhí)行模型。在體系結(jié)構(gòu)設(shè)計階段,需要額外的信息和信息資源來為這些方法構(gòu)建一個網(wǎng)絡(luò)中心體系結(jié)構(gòu)。在NCE中,新的體系結(jié)構(gòu)不僅考慮其它已開發(fā)的系統(tǒng)所具有的功能,而且還作為一種新功能的來源。從系統(tǒng)體系結(jié)構(gòu)視圖看,它需要設(shè)計一個新的體系結(jié)構(gòu)來完成預(yù)期目標(biāo),通過補充存在系統(tǒng)已有的性能特征,以及通過NCE中的新功能貢獻給NCO以及被其它系統(tǒng)使用。
另外,需要3個額外的信息資源:1)它們揭露的服務(wù)器和已有COI的相關(guān)信息:系統(tǒng)架構(gòu)需知道已有的COI,為了能夠引進性能并開發(fā)新的。完全了解COIs的原則和規(guī)則,他們的數(shù)據(jù)形式和服務(wù)描述來正確聯(lián)合他們的成員。新的體系結(jié)構(gòu)將遵循COIs成員間達成的已有的COI原則,規(guī)則,數(shù)據(jù)和服務(wù)描述,便于使用者能夠通過COI成功使用體系結(jié)構(gòu)的功能。2)新的體系結(jié)構(gòu)所需補充的實現(xiàn)系統(tǒng)體系結(jié)構(gòu)功能的相關(guān)信息:設(shè)計者需要完全了解其它系統(tǒng)已有的性能,為了能夠決策他們是否滿足新的體系結(jié)構(gòu)功能和非功能的要求。DoD體系結(jié)構(gòu)數(shù)據(jù)庫(DARS)提供了一個環(huán)境來寄存、記錄、查找和恢復(fù)體系結(jié)構(gòu)的相關(guān)信息。另外,系統(tǒng)設(shè)計者需要通過DARS開發(fā)新的體系結(jié)構(gòu)供其他NCE用戶使用。3)通過NCE允許使用網(wǎng)絡(luò)中心企業(yè)服務(wù)(NCES)可用信息:NCES允許使用有價值的企業(yè)數(shù)據(jù),信息和共享功能。
圖2 基于SOA構(gòu)建網(wǎng)絡(luò)中心體系結(jié)構(gòu)的設(shè)計過程
圖2給出的是基于面向服務(wù)(SOA)設(shè)計方法構(gòu)建網(wǎng)絡(luò)中心體系結(jié)構(gòu)的設(shè)計過程,共分為6個階段。
階段0:了解體系結(jié)構(gòu)的目的和范圍,確定體系結(jié)構(gòu)的背景條件。
階段1:明確體系結(jié)構(gòu)的作戰(zhàn)概念視圖,給出高級作戰(zhàn)概念圖[7]。體系結(jié)構(gòu)將參與的COIs進行最初的描述。
階段2:進行功能分解,包含3個主要的活動。1)定義組織和他們之間的關(guān)系?;顒佣x組織和體系結(jié)構(gòu)的潛在組織包括聯(lián)合體系結(jié)構(gòu)的網(wǎng)絡(luò)中心組織提供網(wǎng)絡(luò)中心目標(biāo)。在這個階段,設(shè)計人員需要確定現(xiàn)有的COIs,為體系結(jié)構(gòu)的內(nèi)在組織提供功能和他們的關(guān)系。DARS需要進一步驗證參與這些COIs潛在的現(xiàn)有組織的體系結(jié)構(gòu)的產(chǎn)品。2)定義作戰(zhàn)節(jié)點,除了體系結(jié)構(gòu)的內(nèi)部作戰(zhàn)節(jié)點外,體系結(jié)構(gòu)將參與的可選擇的COIs將引進由COIs成員提供的額外的作戰(zhàn)節(jié)點。DARS將被進行用來產(chǎn)品驗證這些節(jié)點。3)選擇系統(tǒng)/服務(wù)并定義系統(tǒng)節(jié)點。設(shè)計人員確定詳細的服務(wù),這些服務(wù)被體系結(jié)構(gòu)參與的部分COIs引進或開發(fā),設(shè)計人員需要遵循COIs公布的數(shù)據(jù)行式和服務(wù)界面。
階段3:全面分析作戰(zhàn)視圖,開發(fā)從作戰(zhàn)視圖到系統(tǒng)、服務(wù)和服務(wù)功能視圖。
在這個階段,結(jié)構(gòu)圖和行為圖[8]被開發(fā)用來理解和描述執(zhí)行的作戰(zhàn)活動。
階段4:通過推導(dǎo)和描述作戰(zhàn)信息交換特征完成作戰(zhàn)視圖分析和全面分析系統(tǒng)和服務(wù)視圖,注重分析服務(wù)、系統(tǒng)的結(jié)構(gòu),它們的功能以及系統(tǒng)數(shù)據(jù)的轉(zhuǎn)換。
階段5:用階段4分析和產(chǎn)生的系統(tǒng)接口描述、內(nèi)部通信描述、系統(tǒng)性能參數(shù)描述以及系統(tǒng)和技術(shù)驗證描述數(shù)據(jù)和概念完成系統(tǒng)視圖的開發(fā)。
體系結(jié)構(gòu)設(shè)計階段的產(chǎn)品將被用在分析和驗證階段來構(gòu)建一個可執(zhí)行模型[9]。因為這些靜態(tài)的產(chǎn)品在有限的方式上描述體系結(jié)構(gòu)的行為,所以對體系結(jié)構(gòu)的驗證需要可執(zhí)行模型的構(gòu)建,能夠詳細地檢驗產(chǎn)品的行為和性能。體系結(jié)構(gòu)的可執(zhí)行模型為設(shè)計人員來分析它的動態(tài)行為,確定邏輯和行為錯誤(這些錯誤在靜態(tài)描述中不能發(fā)現(xiàn)),以及提供給使用者和用戶的體系結(jié)構(gòu)所具有的性能。
最后,在體系結(jié)構(gòu)開發(fā)階段開發(fā)出體系結(jié)構(gòu)產(chǎn)品階段中,需要一個新的過程,應(yīng)用軟件或服務(wù)來再次觸發(fā)設(shè)計過程。當(dāng)SOA用例[11]被開發(fā),在新的業(yè)務(wù)邏輯開發(fā)前,通過建模與仿真,研究出額外的新的業(yè)務(wù)流程(包含自身和其它系統(tǒng)的重用性能)是必須的。
本文基于面向服務(wù)的思想,設(shè)計了基于SOA的網(wǎng)絡(luò)中心戰(zhàn)指揮控制系統(tǒng)體系結(jié)構(gòu)。分析了體系架構(gòu)的基本過程,結(jié)合面向服務(wù)的基本思想,給出了在體系結(jié)構(gòu)設(shè)計過程中用面向服務(wù)進行開發(fā)的詳細步驟流程。在下一步的研究工作中,將加強可執(zhí)行模型的開發(fā)進行體系結(jié)構(gòu)的評估工作,獲取體系結(jié)構(gòu)的系統(tǒng)和服務(wù)視圖及建立業(yè)務(wù)流程的協(xié)議。傳統(tǒng)的可執(zhí)行模型不能有效地獲取一個SOA的復(fù)雜性,它們僅能提供系統(tǒng)性能的上界,如果作戰(zhàn)視圖可執(zhí)行模型滿足體系結(jié)構(gòu)的功能和非功能需求,我們可以構(gòu)建系統(tǒng)和服務(wù)可執(zhí)行模型進行驗證評估工作。
[1]DoD Architechture Framework Working Group.DoD Architechture Framework Version1.5.U.S.:Department of Defense,2007:13~16
[2]王紫瑤,等.SOA核心技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2008:154~160
[3]電子科學(xué)研究院系統(tǒng)工程總體部譯.C4ISR體系結(jié)構(gòu)框架(2.0版),1999:13~15
[4]葉鈺,應(yīng)時,等.面向服務(wù)體系結(jié)構(gòu)及其系統(tǒng)構(gòu)建研究[J].計算機應(yīng)用研究,2005,25(2)32~34
[5]車萬方,張鳳鳴.基于UML的C3I系統(tǒng)的體系結(jié)構(gòu)開發(fā)過程[C]//第十屆C3I理論學(xué)術(shù)研討會論文集,2001
[6]劉曙陽,程萬祥.C3I系統(tǒng)開發(fā)技術(shù)[M].北京:國防工業(yè)出版社,1998:72~76
[7]羅雪山,張維明.C3I系統(tǒng)理論基礎(chǔ)[M].長沙:國防科技大學(xué)出版社,2000:54~58
[8]Tom Pender.UML寶典[M].耿國桐,史立奇,葉卓映,等譯.北京:電子工業(yè)出版,2004:156~160
[9]于云程,羅雪山.C3I系統(tǒng)分析與設(shè)計[M].北京:國防科技大學(xué)出版社,1996:34~38
[10]馬成前,楊英.SOA架構(gòu)下多層次信息共享平臺的實現(xiàn)[J].計算機與數(shù)字工程,2009,37(5)
[11]尤克濱.UML應(yīng)用建模實踐過程[M].北京:機械工業(yè)出版社,2003:172~174