韋曉萍 許錦洲 宋祥斌
(海軍指揮學院 南京 211800)
隨著聯合作戰需求的快速變化,美國國防部在DoDAF v1.5[1]中,提出“網絡中心戰 NCW”和“面向服務的體系結構SOA”的概念,使用面向服務的體系結構(SOA)[2]開發方法,將DoDAF的開發從以產品為中心轉化為以數據為中心。體系結構框架(DoDAF)為DoD系統體系結構的描述、表示,及作戰行動和業務運作過程的集成定義了一種通用的途徑。它是用來描述、提供和組成部件的結構,它們之間的關系,以及指導它們設計和演進的原則和指南[3]。
在網絡中心戰中,它能完成網絡中心行動,即戰爭中能有效通過網絡給用戶(目前和不可預見的)制定必須的和有用的信息(他們所需要的何時,何地以及什么信息),來幫助他們有效完成任務。將這樣的系統體系結構視為特定的機制用來為這種轉變設計出解決的方法,選擇SOA作為體系結構的設計方法,提出基于SOA的系統體系結構設計過程。構建一個事件驅動SOA,通過引進網絡中心環境服務(NCE)已有的性能或構建一個新的NCE引進可預測的和不可預測的NCE用戶,參與網絡中心環境。體系結構規定企業服務和企業程序由基于SOA內部結構的企業數據總線(ESB)主管。這些企業服務和企業程序將完成體系結構的作戰概念視圖;它們將作為關聯群集(COI)為其它NCE用戶重新使用來完成他們的任務。該方法的最后產品是通過構建的體系結構產品來建立一個可執行模型,用來評估體系結構企業程序和服務的邏輯、行為和性能特征。
SOA是一個組件模型,本質上是服務的集合。它將應用程序的不同服務(功能單元)通過定義良好的接口聯系起來,服務間彼此通信,這種通信可能是簡單的數據傳送,也可能是兩個或更多的服務協調進行某些活動[4]。根據業務的需求,通過網絡對松散耦合的應用組件進行分布式部署、組合和使用,對服務進行動態管理和動態調用。
SOA是一種面向服務的軟件架構,它的環境結構包括三個方面,分別是作戰層、服務層和物理層。在作戰層中,它包含事務進程,這些事務進程可以單獨成為事務服務,也可以組合成事務服務。在服務層中,它包括服務和單獨的企業數據總線(ESBs),在SOA聯邦運行過程中,每一個ESBs能夠確保消息流通道服務信息的交互,本層包括多種服務類型,分別是用來監控服務和事務進程的服務,用來事務進程執行的服務,用來服務定義的注冊服務、服務層次協定和事務進程的定義。控制監視服務的服務集成者負責服務終點的管理,定期給SOA監視器發送消息。SOA聯邦規則和機制在服務層次上通過連接單獨ESBs之間的網關強制執行。在作戰層次中所需定義的事務進程作戰、實例化、管理和監控是通過ESBs在服務層次中定義的。在物理層次上,包含一些物理節點(工作站、服務器、網絡工作節點等等)和支撐SOA環境的通信網絡。
在聯邦中,SOAs之間的互操作性通過企業數據總線(ESBs)之間的連接實現,這個連接是虛連接,并不代表ESBs之間的緊耦合。它的目的是說明SOAs也是聯邦的一部分。為了確保SOA聯邦的運行,聯邦注冊更高級的層次需要規定聯邦規則、方針和廣聯邦服務。
在網絡中心戰中,NCE是一個網絡工作環境,它包括內部結構、系統、程序和人員來完成態勢感知,能夠快速支持網絡中心行動(NCO)中較短的決策周期和獲取更好的事務信息。網絡中心環境(NCE)的數據和性能對用戶和非用戶者必須是可視的,可獲取的和有用的。系統間的數據能夠自由交換以便于支持它們之間的互操作性,避免點對點的接口交互。在網絡中心環境中,用戶必須能夠通過網絡中心環境獲取他們所需的信息(何時,何地和何種形式),來完成他們的作戰任務和事務目標。
其中,網絡中心環境NCE的概念包括以下幾個方面:1)NCE用戶:NCE的數據和性能對用戶而言必須是可視的,可獲取的和有用的。新的網絡中心體系結構必須提供NCE數據、信息和性能,由NCE用戶使用。2)利用NCE:NCE的用戶必須能夠搜索數據、信息和性能,并利用它們完成任務。3)考慮不可預測的用戶:NCE用戶允許在NCE中查詢數據、信息和性能,而不是限制它們的使用。4)促成利益共同體:網絡中心數據策略中定義,COI是一群用戶的合作小組,這些用戶需要根據他們共同的目的、利益、使命任務或者事務進程進行交換數據,那么這些交換的數據應該共享數據格式。交換的數據共享詞匯表、分類法、數據標準、交換協議和與利益共同體相關的體系結構說明。COI確保所開發的數據、信息和功能能夠在不同的機構組織之間進行互操作。5)支持共享的基礎結構:能夠支持企業級數據、信息和功能,確保這些企業級數據、信息和功能可用。支持NCE概念有兩種策略:網絡中心數據策略和網絡中心服務策略,網絡中心數據策略的主要目的是使數據可視化,可獲取,易理解和可信任;網絡中心服務策略的主要目的是從NCE中提供服務,管理這些服務和他們的內部結構,然后監視和操控他們。

圖1 基于SOA的系統體系結構開發過程
根據SOA基本思想和方法,結合網絡中心戰中指揮控制系統的特點,基于SOA的C2系統體系結構開發過程如圖1所示。整個開發過程包括三個方面[5]:開發體系結構模型的體系結構設計階段、體系結構模型轉化為可執行模型[6]階段、可執行模型分析和評估階段。該方法構建一個事件驅動SOA,通過假設網絡中心環境服務(NCE)或適應不可預測的NCE用戶,參與DoD網絡中心環境,最終的產品是通過構建的系統體系結構產品來建立一個可執行模型,用來評估體系結構商業處理和服務的邏輯、行為和性能特征。
體系結構設計階段開發出的SOA體系結構產品,在分析和評估階段被使用來建立可執行模型。在體系結構設計階段,需要額外的信息和信息資源來為這些方法構建一個網絡中心體系結構。在NCE中,新的體系結構不僅考慮其它已開發的系統所具有的功能,而且還作為一種新功能的來源。從系統體系結構視圖看,它需要設計一個新的體系結構來完成預期目標,通過補充存在系統已有的性能特征,以及通過NCE中的新功能貢獻給NCO以及被其它系統使用。
另外,需要3個額外的信息資源:1)它們揭露的服務器和已有COI的相關信息:系統架構需知道已有的COI,為了能夠引進性能并開發新的。完全了解COIs的原則和規則,他們的數據形式和服務描述來正確聯合他們的成員。新的體系結構將遵循COIs成員間達成的已有的COI原則,規則,數據和服務描述,便于使用者能夠通過COI成功使用體系結構的功能。2)新的體系結構所需補充的實現系統體系結構功能的相關信息:設計者需要完全了解其它系統已有的性能,為了能夠決策他們是否滿足新的體系結構功能和非功能的要求。DoD體系結構數據庫(DARS)提供了一個環境來寄存、記錄、查找和恢復體系結構的相關信息。另外,系統設計者需要通過DARS開發新的體系結構供其他NCE用戶使用。3)通過NCE允許使用網絡中心企業服務(NCES)可用信息:NCES允許使用有價值的企業數據,信息和共享功能。

圖2 基于SOA構建網絡中心體系結構的設計過程
圖2給出的是基于面向服務(SOA)設計方法構建網絡中心體系結構的設計過程,共分為6個階段。
階段0:了解體系結構的目的和范圍,確定體系結構的背景條件。
階段1:明確體系結構的作戰概念視圖,給出高級作戰概念圖[7]。體系結構將參與的COIs進行最初的描述。
階段2:進行功能分解,包含3個主要的活動。1)定義組織和他們之間的關系。活動定義組織和體系結構的潛在組織包括聯合體系結構的網絡中心組織提供網絡中心目標。在這個階段,設計人員需要確定現有的COIs,為體系結構的內在組織提供功能和他們的關系。DARS需要進一步驗證參與這些COIs潛在的現有組織的體系結構的產品。2)定義作戰節點,除了體系結構的內部作戰節點外,體系結構將參與的可選擇的COIs將引進由COIs成員提供的額外的作戰節點。DARS將被進行用來產品驗證這些節點。3)選擇系統/服務并定義系統節點。設計人員確定詳細的服務,這些服務被體系結構參與的部分COIs引進或開發,設計人員需要遵循COIs公布的數據行式和服務界面。
階段3:全面分析作戰視圖,開發從作戰視圖到系統、服務和服務功能視圖。
在這個階段,結構圖和行為圖[8]被開發用來理解和描述執行的作戰活動。
階段4:通過推導和描述作戰信息交換特征完成作戰視圖分析和全面分析系統和服務視圖,注重分析服務、系統的結構,它們的功能以及系統數據的轉換。
階段5:用階段4分析和產生的系統接口描述、內部通信描述、系統性能參數描述以及系統和技術驗證描述數據和概念完成系統視圖的開發。
體系結構設計階段的產品將被用在分析和驗證階段來構建一個可執行模型[9]。因為這些靜態的產品在有限的方式上描述體系結構的行為,所以對體系結構的驗證需要可執行模型的構建,能夠詳細地檢驗產品的行為和性能。體系結構的可執行模型為設計人員來分析它的動態行為,確定邏輯和行為錯誤(這些錯誤在靜態描述中不能發現),以及提供給使用者和用戶的體系結構所具有的性能。
最后,在體系結構開發階段開發出體系結構產品階段中,需要一個新的過程,應用軟件或服務來再次觸發設計過程。當SOA用例[11]被開發,在新的業務邏輯開發前,通過建模與仿真,研究出額外的新的業務流程(包含自身和其它系統的重用性能)是必須的。
本文基于面向服務的思想,設計了基于SOA的網絡中心戰指揮控制系統體系結構。分析了體系架構的基本過程,結合面向服務的基本思想,給出了在體系結構設計過程中用面向服務進行開發的詳細步驟流程。在下一步的研究工作中,將加強可執行模型的開發進行體系結構的評估工作,獲取體系結構的系統和服務視圖及建立業務流程的協議。傳統的可執行模型不能有效地獲取一個SOA的復雜性,它們僅能提供系統性能的上界,如果作戰視圖可執行模型滿足體系結構的功能和非功能需求,我們可以構建系統和服務可執行模型進行驗證評估工作。
[1]DoD Architechture Framework Working Group.DoD Architechture Framework Version1.5.U.S.:Department of Defense,2007:13~16
[2]王紫瑤,等.SOA核心技術及應用[M].北京:電子工業出版社,2008:154~160
[3]電子科學研究院系統工程總體部譯.C4ISR體系結構框架(2.0版),1999:13~15
[4]葉鈺,應時,等.面向服務體系結構及其系統構建研究[J].計算機應用研究,2005,25(2)32~34
[5]車萬方,張鳳鳴.基于UML的C3I系統的體系結構開發過程[C]//第十屆C3I理論學術研討會論文集,2001
[6]劉曙陽,程萬祥.C3I系統開發技術[M].北京:國防工業出版社,1998:72~76
[7]羅雪山,張維明.C3I系統理論基礎[M].長沙:國防科技大學出版社,2000:54~58
[8]Tom Pender.UML寶典[M].耿國桐,史立奇,葉卓映,等譯.北京:電子工業出版,2004:156~160
[9]于云程,羅雪山.C3I系統分析與設計[M].北京:國防科技大學出版社,1996:34~38
[10]馬成前,楊英.SOA架構下多層次信息共享平臺的實現[J].計算機與數字工程,2009,37(5)
[11]尤克濱.UML應用建模實踐過程[M].北京:機械工業出版社,2003:172~174