朱咸軍 周獻(xiàn)中 楊佩 王志鵬 徐鋒
1.南京大學(xué)控制與系統(tǒng)工程系江蘇 南京210093 2.南京大學(xué)智能裝備新技術(shù)研究中心江蘇 南京 21009 3.北方自動(dòng)控制技術(shù)研究所山西太原030006
隨著計(jì)算機(jī)技術(shù)、信息技術(shù)、控制技術(shù)的迅速發(fā)展,指揮與控制(Command and Control,C2)系統(tǒng)朝著一體化、智能化、網(wǎng)絡(luò)化和敏捷化的方向發(fā)展[1].信息收集分系統(tǒng)、信息傳遞分系統(tǒng)、信息處理分系統(tǒng)、信息顯示分系統(tǒng)、決策監(jiān)控分系統(tǒng)和執(zhí)行分系統(tǒng)共同組成了C2系統(tǒng),如圖1所示.
目前,分布式部署的異構(gòu)系統(tǒng)是C2系統(tǒng)的主要特征.其中,分布式部署是為了滿足處于不同層次、不同軍兵種的指揮與控制需求,如戰(zhàn)略級(jí)、戰(zhàn)役級(jí)和戰(zhàn)術(shù)級(jí)的海、陸、空三軍和二炮等軍兵種的指揮與控制需求,且他們的指揮與控制系統(tǒng)部署必須是相互獨(dú)立又相互連通;異構(gòu)系統(tǒng)的產(chǎn)生原因主要有3個(gè)方面:首先是不同指揮層級(jí)、不同軍兵種的系統(tǒng)研發(fā)采用的開發(fā)語(yǔ)言不一致;其次,不同硬件平臺(tái)的軟件開發(fā)環(huán)境限制了系統(tǒng)可選擇、可使用的開發(fā)語(yǔ)言;再次,歷史遺留因素造成分系統(tǒng)的開發(fā)語(yǔ)言的不一致.
C2系統(tǒng)的研究人員也越來(lái)越多,他們從框架、方法、技術(shù)等方面進(jìn)行了研究.郭昆提出了一種多用戶多模塊的指揮信息系統(tǒng)軟件高效部署的總體設(shè)計(jì)方案[1].陸曉明等探討Web Service技術(shù)與SOA(Service Oriented Architecture)架構(gòu)在指揮與控制系統(tǒng)中適用性[2].王華等分析了指揮與控制系統(tǒng)的發(fā)展趨勢(shì)及關(guān)鍵技術(shù)[3].吳奎等設(shè)計(jì)了一款基于面向服務(wù)架構(gòu)的決策模型與分析一體化平臺(tái),并在此平臺(tái)上進(jìn)行了模型設(shè)計(jì)、算法設(shè)計(jì)、方案集成、問(wèn)題求解等[4].黃孝鵬等建立了基于人件服務(wù)的新型決策系統(tǒng)的總體架構(gòu),探討人件服務(wù)的技術(shù)實(shí)現(xiàn)與接口設(shè)計(jì)、決策任務(wù)動(dòng)態(tài)分解、自學(xué)習(xí)等關(guān)鍵技術(shù)[5].新型云網(wǎng)絡(luò)體系[6]能夠?qū)ο到y(tǒng)正常運(yùn)行下的各項(xiàng)功能和指標(biāo)進(jìn)行實(shí)時(shí)探測(cè)評(píng)估,一旦發(fā)現(xiàn)異常,便可啟動(dòng)自我防御與修復(fù)機(jī)制,使云網(wǎng)絡(luò)體系始終能夠保持安全、穩(wěn)定、高效、可靠的運(yùn)行.李蒙蒙等分析了美軍指揮與控制系統(tǒng)及技術(shù)的發(fā)展現(xiàn)狀和趨勢(shì)[7].王寶祥結(jié)合面向服務(wù)架構(gòu),人件服務(wù)概念及背景,提出了3種人件服務(wù)接口交互實(shí)現(xiàn)方式,以及決策支持系統(tǒng)的服務(wù)接口架構(gòu)[8].
然而,C2系統(tǒng)面臨的是實(shí)戰(zhàn)環(huán)境,它具有特殊的復(fù)雜性:復(fù)雜的戰(zhàn)場(chǎng)環(huán)境、復(fù)雜的任務(wù)、復(fù)雜的系統(tǒng)結(jié)構(gòu)和復(fù)雜的分系統(tǒng)關(guān)系.因此,對(duì)C2系統(tǒng)中服務(wù)的穩(wěn)定性、可持續(xù)性和快速修復(fù)能力的研究就顯得極為重要.本文從C2系統(tǒng)的服務(wù)修復(fù)能力出發(fā),研究了基于BPEL引擎的C2系統(tǒng)服務(wù)自重組技術(shù),給出了服務(wù)自重組的框架和時(shí)序圖,并結(jié)合示例詳述了服務(wù)自重組的執(zhí)行過(guò)程,實(shí)現(xiàn)了C2系統(tǒng)服務(wù)自重組.
圖1 指揮與控制系統(tǒng)組成要素及關(guān)系圖
業(yè)務(wù)流程執(zhí)行語(yǔ)言(Business Process Execution Language,BPEL)是由Microsoft公司的基于XML的Web服務(wù)描述語(yǔ)言擴(kuò)展(XML-based extension of Web Service Description Language,XLANG)和IBM公司的Web服務(wù)流語(yǔ)言(Web Service Flow Language,WSFL)綜合發(fā)展而來(lái),并在業(yè)界得到了廣泛的認(rèn)可.BPEL使用基于Web的語(yǔ)言,該語(yǔ)言支持Web服務(wù)技術(shù)系列,包括SOAP協(xié)議、WSDL、UDDI、Web服務(wù)可靠性消息、Web服務(wù)尋址、Web服務(wù)協(xié)調(diào)以及Web服務(wù)事務(wù).BPEL支持流程的基本活動(dòng),如接受(Receive)、調(diào)用(Invoke)等,同時(shí)支持流程控制邏輯,如順序(Sequence)、并行(Flow)、選擇 (Pick)、分支(If-Else)、循環(huán)(While,For)等.通過(guò)流程的活動(dòng)和控制邏輯,可以實(shí)現(xiàn)對(duì)一個(gè)業(yè)務(wù)流程的規(guī)范化描述,如一個(gè)業(yè)務(wù)流程的規(guī)范化描述、數(shù)據(jù)格式的定義和傳遞、業(yè)務(wù)流程的生命周期的管理,最終實(shí)現(xiàn)了Web服務(wù)之間的交互[9?10].
BPEL由3個(gè)核心組成,即可擴(kuò)展的標(biāo)記語(yǔ)言(Extensible Markup Language,XML)、XML 文檔的數(shù)據(jù)規(guī)格定義(XML Schema Definition,XSD)和XML路徑語(yǔ)言(XML Path,XPath).
1)可擴(kuò)展的標(biāo)記語(yǔ)言(Extensible Markup Language,XML),它是Web Service技術(shù)體系中的最重要的基礎(chǔ)技術(shù),它包括元素(element)、屬性(attribute)、數(shù)據(jù)(data)和子元素.XML的優(yōu)點(diǎn):a)可表達(dá)的數(shù)據(jù)內(nèi)容廣泛,且具有完整數(shù)據(jù)格式定義;b)平臺(tái)無(wú)關(guān)性和編程語(yǔ)言無(wú)關(guān)性;c)數(shù)據(jù)表達(dá)式簡(jiǎn)單且易解析;
2)XML文檔的數(shù)據(jù)規(guī)格定義(XML Schema Definition,XSD),通過(guò)將XML文檔的每一個(gè)元素、屬性、數(shù)據(jù)進(jìn)行統(tǒng)一的定義,實(shí)現(xiàn)XML文檔的正確結(jié)構(gòu)和語(yǔ)法約束.XSD支持3類數(shù)據(jù)類型,a)基本數(shù)據(jù)類型,包括string,integer,double,float,date和time;b)簡(jiǎn)單類型(simple type),即Schema所特有的Entity,NMToken和ID類型;c)復(fù)雜類型(complex type),是簡(jiǎn)單類型和基本類型組合生成的自定義類型;
3)XML路徑語(yǔ)言(XML Path,XPath),一種用來(lái)確定XML文檔中某部分位置的語(yǔ)言.其特點(diǎn):a)XPath將XML文件按照樹的結(jié)構(gòu)進(jìn)行處理;b)樹上的分支和節(jié)點(diǎn)是由XML文件內(nèi)的元素、屬性、文本、注釋、處理函數(shù)、命名空間等信息組成;c)樹上的父子節(jié)點(diǎn)表示了XML文件中數(shù)據(jù)的從屬關(guān)系;d)XPath提供了豐富的函數(shù)和表達(dá)格式,能夠準(zhǔn)確表達(dá)目標(biāo)節(jié)點(diǎn)和相對(duì)當(dāng)前節(jié)點(diǎn)的位置關(guān)系.
為了滿足不同層次、不同軍種的指揮和控制需求,C2系統(tǒng)包含了若干個(gè)指揮與控制的業(yè)務(wù)流程,每個(gè)業(yè)務(wù)流程則由若干個(gè)服務(wù)組成[11?13].因此,C2的業(yè)務(wù)流程與服務(wù)之間的關(guān)系是M-N(多對(duì)多),即每個(gè)業(yè)務(wù)流程由一個(gè)或多個(gè)服務(wù)組成并提供服務(wù);同時(shí),每個(gè)服務(wù)可以參與一個(gè)或多個(gè)業(yè)務(wù)流程.C2系統(tǒng)中,若干服務(wù)之間的關(guān)系主要有相互獨(dú)立和相互依賴兩種.前者是指存在于業(yè)務(wù)流程中的若干服務(wù)之間彼此獨(dú)立,各自的執(zhí)行順序與其他服務(wù)執(zhí)行的狀態(tài)無(wú)關(guān),如指揮與控制系統(tǒng)中業(yè)務(wù)數(shù)據(jù)歸檔服務(wù)與業(yè)務(wù)流程中其他服務(wù)的狀態(tài)、執(zhí)行順序無(wú)關(guān);后者指業(yè)務(wù)流程中,若干服務(wù)之間相互依賴,如路徑選擇服務(wù)依賴于氣象服務(wù)和流量預(yù)測(cè)服務(wù)等服務(wù).C2系統(tǒng)服務(wù)間的相互依賴關(guān)系也可以分為兩類,即數(shù)據(jù)/信息依賴(Data and Information Dependence,DID)和控制/流程依賴(Control and Workflow Dependence,CWD).數(shù)據(jù)/信息依賴(Data and Information Dependence,DID)是指C2系統(tǒng)中不同的服務(wù)之間存在著數(shù)據(jù)和信息的傳遞、交換、計(jì)算、統(tǒng)計(jì)等相互依賴關(guān)系;控制/流程依賴(Control and Workflow Dependence,CWD)是指C2系統(tǒng)中的每個(gè)服務(wù)都是圍繞同一個(gè)目標(biāo)進(jìn)行的,都是在一個(gè)工作流程執(zhí)行各自的任務(wù),同時(shí)對(duì)流程中獲取的反饋信息自主、自適應(yīng)地調(diào)整.
C2系統(tǒng)業(yè)務(wù)流程是由若干個(gè)流程環(huán)節(jié)組成,每個(gè)流程執(zhí)行環(huán)節(jié)的實(shí)質(zhì)是通過(guò)調(diào)用Web Service服務(wù)提供的功能來(lái)完成,而每個(gè)功能來(lái)源于分布式部署的異構(gòu)系統(tǒng),如C2系統(tǒng)中的信息收集分系統(tǒng)部署在不同的執(zhí)行單元上,主要有海、陸、空以及太空偵察設(shè)備.異構(gòu)系統(tǒng)提供的各類功能部署在不同的服務(wù)器上,C2系統(tǒng)可以通過(guò)Web Service提供的訪問(wèn)協(xié)議[14?15]、訪問(wèn)接口進(jìn)行數(shù)據(jù)、信息、指令等的交互,而交互的每個(gè)流程環(huán)節(jié)在執(zhí)行的過(guò)程中都可能因?yàn)榄h(huán)境變化、戰(zhàn)場(chǎng)態(tài)勢(shì)的變化、任務(wù)的變化,進(jìn)而引起了C2系統(tǒng)業(yè)務(wù)的流程環(huán)節(jié)執(zhí)行失敗,最終導(dǎo)致C2系統(tǒng)全面崩潰.
定義1.服務(wù)自重組(Self-Recombination of Services,SRoS),是指C2系統(tǒng)中的BPEL引擎在服務(wù)異常情況下,能夠自主監(jiān)測(cè)與診斷服務(wù)狀態(tài)、能夠自主地下載異構(gòu)系統(tǒng)提供的服務(wù)與配置、能夠自主部署與激活Web Service服務(wù),實(shí)現(xiàn)C2系統(tǒng)中服務(wù)的重組,保障C2系統(tǒng)的高效運(yùn)行.
服務(wù)自重組具有如下特征:
1)業(yè)務(wù)流程自主檢查與診斷.在網(wǎng)絡(luò)化條件下,業(yè)務(wù)流程執(zhí)行過(guò)程中的服務(wù)異常情況,C2系統(tǒng)能夠自主診斷、及時(shí)發(fā)現(xiàn),并實(shí)時(shí)向C2系統(tǒng)控制中心發(fā)送服務(wù)異常情況.異常情況包括通訊故障、網(wǎng)絡(luò)故障、服務(wù)器故障等;
2)服務(wù)下載.服務(wù)下載是指C2系統(tǒng)控制中心發(fā)現(xiàn)服務(wù)異常后,系統(tǒng)自主尋找備用的服務(wù)器,并將相應(yīng)的服務(wù)和配置下發(fā)到新的服務(wù)器.服務(wù)與配置文件的自主下載協(xié)議有FTP協(xié)議、HTTP協(xié)議、SMTP協(xié)議等,文件下載的地址和目錄由數(shù)據(jù)文件預(yù)先指定;
3)部署與激活.服務(wù)部署主要是完成環(huán)境變量設(shè)置、運(yùn)行目錄構(gòu)建、服務(wù)與配置文件的解壓、編譯、數(shù)據(jù)庫(kù)連接設(shè)置等.服務(wù)激活是根據(jù)相關(guān)服務(wù)激活的配置信息,依照服務(wù)運(yùn)行的前置條件順序執(zhí)行,并啟動(dòng)相關(guān)服務(wù)進(jìn)程;
4)自主完成重組.服務(wù)器中的所有服務(wù)完成激活后,需要向C2系統(tǒng)控制中心發(fā)送相應(yīng)的狀態(tài)信息,告知新建服務(wù)器的相關(guān)信息,如服務(wù)器IP地址、端口、提供服務(wù)標(biāo)識(shí)、完好狀態(tài)等信息.C2系統(tǒng)控制中心即時(shí)感知服務(wù)狀態(tài)的回復(fù),并將相關(guān)的業(yè)務(wù)流程節(jié)點(diǎn)信息迅速切換到新的服務(wù)器.
在C2系統(tǒng)構(gòu)建籌劃階段,需要考慮一定量的冗余服務(wù)器以便C2系統(tǒng)運(yùn)行過(guò)程中服務(wù)的快速搭建,實(shí)現(xiàn)C2系統(tǒng)服務(wù)的快速重構(gòu).
基于BPEL的C2系統(tǒng)服務(wù)自重組框架如圖2所示.它是一個(gè)建立在BPEL引擎基礎(chǔ)上,由分布式部署的異構(gòu)系統(tǒng)提供服務(wù)的綜合指揮與控制系統(tǒng).該系統(tǒng)的核心技術(shù)包括BPEL引擎技術(shù)、C2系統(tǒng)服務(wù)處理總線技術(shù)、服務(wù)狀態(tài)監(jiān)聽技術(shù)和服務(wù)自重組技術(shù)(包括下載、部署、激活).
2.4.1 BPEL引擎
BPEL引擎[16]是執(zhí)行Web Service服務(wù)的核心,它將具體業(yè)務(wù)流程與流程定義文件(.bpel、xml)實(shí)例化,并按照流程過(guò)程定義執(zhí)行.
通過(guò)可視化操作平臺(tái),將C2系統(tǒng)服務(wù)自重組過(guò)程轉(zhuǎn)化成一個(gè)BPEL服務(wù)引擎可理解和可執(zhí)行的業(yè)務(wù)過(guò)程和流程定義文件,通過(guò)BPEL引擎的執(zhí)行實(shí)現(xiàn)C2系統(tǒng)所有業(yè)務(wù)功能即時(shí)、高效的運(yùn)作.
2.4.2 C2系統(tǒng)服務(wù)處理總線技術(shù)
定義2.C2系統(tǒng)服務(wù)處理總線技術(shù)(C2 Service Bus Technology,C2SBT),是C2系統(tǒng)中分布式部署的異構(gòu)系統(tǒng)之間的信息/數(shù)據(jù)交互平臺(tái).異構(gòu)系統(tǒng)提供各種各樣的服務(wù),而服務(wù)與服務(wù)之間需要數(shù)據(jù)和信息的交流和通訊,如服務(wù)注冊(cè)、發(fā)現(xiàn)、調(diào)用、監(jiān)控、日志等.C2SBT為服務(wù)提供了一個(gè)安全、可靠、高效的平臺(tái)和途徑.
C2SBT包括服務(wù)狀態(tài)的監(jiān)控服務(wù)、服務(wù)管理(包括服務(wù)注冊(cè)、發(fā)布、編輯等)、服務(wù)日志、服務(wù)文件服務(wù)、服務(wù)容災(zāi)等.
2.4.3 服務(wù)狀態(tài)監(jiān)測(cè)
定義3.服務(wù)狀態(tài)監(jiān)測(cè)(Service State Monitor,SSC),是網(wǎng)絡(luò)化環(huán)境下,分布式部署的異構(gòu)系統(tǒng)提供的服務(wù)狀態(tài)適時(shí)監(jiān)測(cè)功能.服務(wù)狀態(tài)監(jiān)測(cè)為C2系統(tǒng)控制中心能適時(shí)掌握各個(gè)服務(wù)狀態(tài)提供服務(wù),主要在3個(gè)階段發(fā)揮作用:首先,業(yè)務(wù)流程發(fā)起調(diào)用前選擇合適的服務(wù);其次,業(yè)務(wù)流程執(zhí)行過(guò)程中能即時(shí)、準(zhǔn)確地獲得流程環(huán)節(jié)執(zhí)行狀態(tài);最后,業(yè)務(wù)流程執(zhí)行結(jié)束后,能迅速返回執(zhí)行結(jié)果并準(zhǔn)備下次被調(diào)用.
圖2 C2系統(tǒng)服務(wù)自重組框架圖
由于異構(gòu)系統(tǒng)提供的服務(wù)開發(fā)語(yǔ)言各異,無(wú)法直接融入到C2系統(tǒng)中來(lái).因此,需要借助相應(yīng)的Web Service技術(shù)將它們發(fā)布為可供C2系統(tǒng)調(diào)用的Web Service服務(wù),并且部署到相應(yīng)的前置服務(wù)器上為C2系統(tǒng)提供相應(yīng)的服務(wù).C2系統(tǒng)中的具體業(yè)務(wù)流程不直接和服務(wù)進(jìn)行交互,而是采用Web Service方式進(jìn)行間接交互.因此,C2系統(tǒng)需要對(duì)服務(wù)進(jìn)行實(shí)時(shí)監(jiān)測(cè),從而保證業(yè)務(wù)流程執(zhí)行的高效性、即時(shí)性和流暢性.
服務(wù)狀態(tài)監(jiān)測(cè)包括前置服務(wù)器狀態(tài)監(jiān)測(cè)、網(wǎng)絡(luò)通信狀態(tài)監(jiān)測(cè)和服務(wù)完備狀態(tài)監(jiān)測(cè).其中前置服務(wù)器狀態(tài)監(jiān)測(cè)和網(wǎng)絡(luò)通信狀態(tài)監(jiān)測(cè)都屬于系統(tǒng)硬件監(jiān)測(cè),主要采用信號(hào)應(yīng)答方式監(jiān)測(cè).服務(wù)完備狀態(tài)監(jiān)測(cè)是對(duì)軟件服務(wù)的檢測(cè),需要對(duì)服務(wù)發(fā)送模擬請(qǐng)求信息并且獲得服務(wù)的正確反饋結(jié)果.
2.4.4 服務(wù)自重組技術(shù)
定義4.服務(wù)自重組技術(shù)(Self-Recombination of Services Technology,SRoST),它是C2系統(tǒng)中實(shí)現(xiàn)服務(wù)自重組相關(guān)技術(shù)的集合.它包括服務(wù)下載、部署、激活和發(fā)布等技術(shù),每個(gè)技術(shù)都可作為BPEL流程中的一個(gè)流程節(jié)點(diǎn).
服務(wù)下載技術(shù)是從文件服務(wù)器上將需要重新部署的服務(wù)文件、配置文件下載到新的服務(wù)器上.服務(wù)下載技術(shù)可作為BPEL引擎執(zhí)行的一個(gè)環(huán)節(jié)實(shí)例被執(zhí)行,該技術(shù)建立在文件傳輸協(xié)議基礎(chǔ)之上,如HTTP協(xié)議、FTP協(xié)議、SMTP協(xié)議、SOAP協(xié)議等.服務(wù)下載技術(shù)實(shí)現(xiàn)了服務(wù)內(nèi)容的下載,包括服務(wù)的可執(zhí)行文件、服務(wù)的配置文件、服務(wù)容器(如Tomcat、jdk)文件、數(shù)據(jù)庫(kù)鏈接配置文件等.
服務(wù)部署技術(shù)是在服務(wù)器上實(shí)現(xiàn)服務(wù)的部署,包括系統(tǒng)環(huán)境變量的修改與設(shè)定、執(zhí)行文件存儲(chǔ)目錄的構(gòu)建、相關(guān)文件的拷貝(如可執(zhí)行文件、配置文件)、服務(wù)容器的設(shè)置.
服務(wù)激活技術(shù)是在服務(wù)器上執(zhí)行相關(guān)的執(zhí)行文件,使服務(wù)達(dá)到可用狀態(tài),如Java 6.0以上提供的JNative執(zhí)行可執(zhí)行文件、DLL等來(lái)啟動(dòng)相關(guān)服務(wù).
服務(wù)發(fā)布技術(shù)是通過(guò)C2服務(wù)處理總線向服務(wù)管理器發(fā)送服務(wù)就緒狀態(tài),以替換前期中斷了的服務(wù)功能,并將相關(guān)的Web Service服務(wù)指向URL切換到新的URL上來(lái),以便C2系統(tǒng)進(jìn)行調(diào)用.
C2系統(tǒng)中服務(wù)自重組時(shí)序如圖3所示.
信息傳遞分系統(tǒng)是C2系統(tǒng)中一個(gè)關(guān)鍵分系統(tǒng),它擔(dān)負(fù)了指揮與控制的數(shù)據(jù)/信息轉(zhuǎn)發(fā)任務(wù),是C2系統(tǒng)中不可或缺的部分,本文以C++開發(fā)的信息傳遞分系統(tǒng)提供的服務(wù)出現(xiàn)異常為例,介紹了基于BPEL的服務(wù)自重組的過(guò)程,流程如圖4所示.其具體步驟如下:
圖3 C2系統(tǒng)服務(wù)自重組時(shí)序圖
圖4 C++服務(wù)自重組流程圖
步驟1.使用Web Service服務(wù)發(fā)布技術(shù)的JNI接口,將由C++開發(fā)的信息傳遞分系統(tǒng)發(fā)布成一個(gè)Web Service服務(wù),并部署在一臺(tái)Web Service服務(wù)上,并接受C2系統(tǒng)服務(wù)總線上的服務(wù)監(jiān)控;
步驟2.引擎接收到服務(wù)異常信息后,根據(jù)服務(wù)的自重組流程文件,實(shí)例化BPEL業(yè)務(wù)流程;
步驟3.BPEL引擎通過(guò)服務(wù)總線上的通訊接口查找可用的冗余服務(wù)器,并建立鏈接;
步驟4.BPEL引擎從文件服務(wù)器上下載服務(wù)所需的文件,包括服務(wù)容器軟件、服務(wù)配置文件、服務(wù)可執(zhí)行文件等;
步驟5.BPEL引擎通過(guò)java.lang.Process類和java.lang.Rumtime類的exec()方法執(zhí)行服務(wù)的部署,實(shí)現(xiàn)代碼如圖5所示,包括服務(wù)目錄的構(gòu)建、服務(wù)容器的解壓、系統(tǒng)配置文件的設(shè)置和數(shù)據(jù)庫(kù)連接的建立;
圖5 BPEL引擎執(zhí)行服務(wù)部署
步驟6.BPEL引擎通過(guò)org.xvolks.jnative.JNative API執(zhí)行服務(wù)的激活,實(shí)現(xiàn)代碼如圖6所示,包括服務(wù)容器的啟動(dòng)(如Tomcat 6.0)、服務(wù)界面的預(yù)展開;
圖6 BPEL引擎執(zhí)行服務(wù)激活
步驟7.BPEL引擎向C2系統(tǒng)服務(wù)總線發(fā)送服務(wù)自重組結(jié)果信息,并切換至新的服務(wù)器,如服務(wù)的URL、端口等信息.
借助BPEL引擎,能夠迅速建立起新的信息傳遞分系統(tǒng),并提供數(shù)據(jù)/信息的傳遞.
本文提出了一個(gè)C2系統(tǒng)服務(wù)自重組框架,使得C2系統(tǒng)中的各個(gè)服務(wù)在異常情況下,將BPEL引擎與系統(tǒng)總線相互配合,實(shí)現(xiàn)了服務(wù)的迅速、高效重組和切換,有力的保障了C2系統(tǒng)的執(zhí)行效率,為C2系統(tǒng)的進(jìn)一步發(fā)展提供了一套切實(shí)可行的技術(shù)方案.
下一步將以加強(qiáng)C2系統(tǒng)的穩(wěn)定性為出發(fā)點(diǎn),對(duì)服務(wù)自重組框架中的服務(wù)處理總線技術(shù)和服務(wù)監(jiān)控技術(shù)做進(jìn)一步研究.