顏世剛,張振中
(遼寧省葫蘆島市92941部隊94分隊,葫蘆島125000)
加速我軍信息化建設(shè),盡快建成信息化軍隊,是加強(qiáng)國防和軍隊現(xiàn)代化建設(shè)的核心,是推行中國特色軍事變革的主要內(nèi)容,是完成我軍機(jī)械化和信息化雙重歷史任務(wù)、盡快建成信息化軍隊的重大課題。在推進(jìn)我軍信息化建設(shè)過程中,在軟件系統(tǒng)的引進(jìn)、研制和使用過程中,普遍采用的是傳統(tǒng)的應(yīng)用程序部署模式,即以用戶自身為中心來購買和部署,然而這種以用戶為單位的、離散式的軟件使用模式,卻經(jīng)常使用戶面臨諸如軟件使用許可證費(fèi)用過于昂貴、承載軟件運(yùn)行的硬件設(shè)備費(fèi)用過于龐大、軟件及其所產(chǎn)生數(shù)據(jù)的維護(hù)及備份工作成本開銷過大等問題,這些都嚴(yán)重影響了我軍信息化建設(shè)的進(jìn)程。
SaaS(Software as a Service)是一種新型的軟件服務(wù)模式[1],它是一種以托管方式部署軟件,通過Internet存取來實現(xiàn)應(yīng)用功能的軟件應(yīng)用模型。SaaS提供商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己的實際需求,通過互聯(lián)網(wǎng)向提供商訂購所需的應(yīng)用軟件服務(wù),按照訂購服務(wù)的種類、用戶數(shù)量和租用時間向提供商支付費(fèi)用,并通過互聯(lián)網(wǎng)獲得提供商的服務(wù)。這種服務(wù)模式具有集中式、規(guī)模化的特性,我軍如果能充分借鑒運(yùn)用這種軟件服務(wù)模式:即采取以托管方式部署軟件,通過軍內(nèi)網(wǎng)存取來實現(xiàn)應(yīng)用功能的軟件應(yīng)用模型,將使得軟件系統(tǒng)具有更低的建設(shè)成本、更低的維護(hù)成本、更低的應(yīng)用門檻,以及更低的應(yīng)用風(fēng)險,可以解決信息化建設(shè)過程中軟件研制和使用方面的許多問題。
SaaS(軟件即服務(wù)),是一個以軟件租用為主體概念的服務(wù)模式,用戶通過軟件服務(wù)商提供的網(wǎng)站可以了解到自己花多少錢,可以得到多少應(yīng)用功能的軟件服務(wù),并通過在線試用,確定在符合自己需求的基礎(chǔ)上,購買軟件服務(wù),并通過互聯(lián)網(wǎng)絡(luò)來在線使用這種服務(wù)。
首先,SaaS軟件服務(wù)模式是一種提倡軟件租用概念的軟件服務(wù)模式,該模式徹底排除了用戶獲得軟件使用許可證的可能性,即軟件系統(tǒng)的知識產(chǎn)權(quán)永遠(yuǎn)歸屬于軟件服務(wù)提供商。于是就形成了軟件使用者和軟件擁有者兩個角色的分離,而在傳統(tǒng)軟件應(yīng)用模式下幾乎是不區(qū)分這兩個角色的。
其次,SaaS軟件服務(wù)模式的目的是為降低使用系統(tǒng)的各項成本,這就意味著該模式所倡導(dǎo)的租用并不局限于傳統(tǒng)的物品租用范圍內(nèi),租用方式也絕對不是傳統(tǒng)意義上的獨(dú)占模式。在SaaS軟件服務(wù)模式中用戶租用的是軟件使用權(quán)、硬件使用權(quán)和軟硬件維護(hù)服務(wù),在租用方式上基本上遵循多個用戶共享軟件服務(wù)提供商提供的一整套資源體系。于是就形成了軟件使用者和軟件所處異地的局面[2]。
再次,SaaS軟件服務(wù)模式的運(yùn)作是基于一個軟件服務(wù)提供商為多家用戶提供主體結(jié)構(gòu)基本相同,略帶客戶特性化的服務(wù)。也就是說該服務(wù)模式的運(yùn)作形式是一對多的,服務(wù)內(nèi)容是基本相同的。這就意味著軟件服務(wù)提供商不必為不同的用戶提供不同的軟件系統(tǒng),或是提供相同軟件系統(tǒng)的不同的安裝實例。同時由于軟件服務(wù)提供商在運(yùn)作形式上處于“一對多”中的“一”,因此從管理和維護(hù)的資源及成本角度考慮,在不影響服務(wù)質(zhì)量的前提下,對于軟件服務(wù)提供商最佳的選擇是為不同用戶提供相同的軟件系統(tǒng)的相同安裝實例。于是就形成了不同群體的軟件使用者為了不同的工作目的共享同一個軟件系統(tǒng)安裝實例上邏輯運(yùn)算功能的局面,而在傳統(tǒng)軟件應(yīng)用模式下不同群體的軟件使用者幾乎不可能使用相同的軟件系統(tǒng)安裝實例。
最后,SaaS軟件服務(wù)模式下,對于用戶在使用軟件系統(tǒng)過程中產(chǎn)生的數(shù)據(jù)維護(hù)是由軟件服務(wù)提供商來完成的。不同的用戶可能會定義不同的數(shù)據(jù)結(jié)構(gòu),產(chǎn)生不同的數(shù)據(jù)內(nèi)容,作為軟件服務(wù)提供商來說,必須維護(hù)這些數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)。由于前面提到在SaaS軟件服務(wù)模式的運(yùn)作形式下,采用的是不同的用戶共享相同的軟件系統(tǒng)的相同安裝實例,這確實為軟件服務(wù)提供商維護(hù)用戶的數(shù)據(jù)帶來了便利,因為對一個軟件系統(tǒng)安裝實例的維護(hù)所需工作量要遠(yuǎn)遠(yuǎn)小于對多個軟件系統(tǒng)安裝實例的維護(hù)所需工作量,所以當(dāng)該軟件服務(wù)提供商的客戶規(guī)模達(dá)到一定數(shù)量時,這一優(yōu)勢將十分明顯。為滿足SaaS軟件服務(wù)模式所設(shè)計的軟件系統(tǒng)不得不考慮服務(wù)于多家用戶的不同數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)在一個軟件系統(tǒng)中共存的問題。
借鑒SaaS模式在Internet上的運(yùn)營模式,軍隊內(nèi)可指定SaaS軟件供應(yīng)商,在軍內(nèi)網(wǎng)上展開這種軟件運(yùn)營服務(wù),這將在軍隊信息化建設(shè)的深化過程中展現(xiàn)明顯優(yōu)勢。
1)發(fā)揮整體運(yùn)作的優(yōu)勢
大部分單位在信息化過程中形成了信息孤島,信息化資金短缺,原因就是缺乏整體運(yùn)作。而基于Saas的軍用軟件服務(wù)模式,恰恰能組織所有軍隊機(jī)關(guān)和部隊形成一個整體的信息服務(wù)平臺,形成一個完整的集成服務(wù)平臺,包括個人在內(nèi)的各個單位都可以以ASP的方式享受廉價的整體信息服務(wù)。這樣,廣大官兵和各部門的組合形成了集團(tuán)作用,使有限的資金發(fā)揮了最大的作用。
2)更易于集成和管理復(fù)雜性
通過提供針對基于完全不同的系統(tǒng)構(gòu)建現(xiàn)有信息化資源的服務(wù)規(guī)范,集成變得更加易于管理,因為復(fù)雜性是隔離的。當(dāng)為更多的用戶、部門共享協(xié)作提供價值鏈時,這會變得更加重要?;赟aaS的軟件系統(tǒng)開發(fā)模式為信息化起到了統(tǒng)一和標(biāo)準(zhǔn)化的作用,在降低用戶信息化成本的同時,以集中的方式為用戶提供優(yōu)質(zhì)服務(wù)以及全面更簡化的綜合信息服務(wù),這對于眾多落后地區(qū)單位的信息化建設(shè)發(fā)展來說是至關(guān)重要的。
隨著軍隊信息化水平的提高,軍隊主管部門和部隊都逐漸產(chǎn)生了深入的信息化管理需求,由于管理的復(fù)雜性,需要用到多種不同性質(zhì)的軟件進(jìn)行管理控制;同時由于各家軟件研制單位在不同領(lǐng)域各有擅長,就出現(xiàn)了多種軟件在不同部門并存的局面,當(dāng)前,各級部門都迫切需要對所有的數(shù)據(jù)資源和業(yè)務(wù)流程進(jìn)行整合和處理。
從當(dāng)前信息技術(shù)的發(fā)展來看,信息化系統(tǒng)的應(yīng)用構(gòu)造趨向于以一種通用的方式為各應(yīng)用組件提供數(shù)據(jù)及控制邏輯,直轄?wèi)?yīng)用軟件各部分的通信,從而達(dá)到軟件各組成部分協(xié)同工作的目的。在這種指導(dǎo)思想下,組件技術(shù)伴隨信息技術(shù)的發(fā)展近些年來進(jìn)展很快,已成為信息化軟件應(yīng)用開發(fā)技術(shù)的一個主流方向。信息系統(tǒng)建設(shè)分布式環(huán)境中面向?qū)ο蟮慕M件技術(shù)也得到充分發(fā)展,這些技術(shù)中最具有代表性的是SUN公司提出的EJB和J2EE。異構(gòu)系統(tǒng)間的連接,是當(dāng)前信息系統(tǒng)構(gòu)筑的最具前瞻性的重要課題。各個系統(tǒng)間不是孤立的、而是使其相互連接起來,這是最大限度享受由信息技術(shù)應(yīng)用所帶來的高效率、低成本實惠的前提。因此,基于SaaS的軍用軟件開發(fā)模式將采用“以SaaS模式開發(fā)軍隊異構(gòu)系統(tǒng)接入中間件”的技術(shù)形式來實現(xiàn)。軍隊異構(gòu)系統(tǒng)接入中間件是一個基于消息的系統(tǒng)集成框架中間件,可以快速、容易地實現(xiàn)對個人、軍隊各部門數(shù)以千計的信息化應(yīng)用服務(wù)的集成[3],通過SaaS集成代理提供一個標(biāo)準(zhǔn)化的、可重復(fù)的集成過程,縮短集成應(yīng)用的時間和成本?;赟aaS的軍隊異構(gòu)系統(tǒng)接入中間件的設(shè)計開發(fā)就是采用SaaS模式來統(tǒng)一部署實現(xiàn)異構(gòu)服務(wù)系統(tǒng)的集成中間件的開發(fā),將托管部署軟件開發(fā)技術(shù)的前瞻性和集成服務(wù)應(yīng)用的迫切性相融合,為用戶的信息化建設(shè)提供前瞻性的中間件產(chǎn)品,為參與價值鏈的各單元包括最終用戶發(fā)掘潛藏的服務(wù)價值。
具體實現(xiàn)上,將采用通過J2EE架構(gòu)來實現(xiàn)用戶不同異構(gòu)應(yīng)用軟件系統(tǒng)之間業(yè)務(wù)數(shù)據(jù)的傳輸和業(yè)務(wù)信息的重構(gòu)和銜接,如圖1所示:各業(yè)務(wù)信息系統(tǒng)間通過業(yè)務(wù)信息交互處理器的前、后置處理器和具有標(biāo)準(zhǔn)交互格式的文件(XML)的部署來實現(xiàn)各業(yè)務(wù)數(shù)據(jù)的交互。
圖1 業(yè)務(wù)信息交互處理器
處理器的設(shè)計參考了“JAVA是跨平臺的代碼,而XML是跨平臺的數(shù)據(jù)。”的思想[4]。
1)業(yè)務(wù)信息交互的實現(xiàn)
業(yè)務(wù)信息交互處理器通過HTTP使用SOAP(基于XML的協(xié)議),在異構(gòu)系統(tǒng)之間進(jìn)行通信。業(yè)務(wù)信息接口在業(yè)務(wù)信息交互處理器公共注冊中心或者目錄中發(fā)布,并在公共注冊中心按照所提供的不同業(yè)務(wù)信息進(jìn)行分類,業(yè)務(wù)信息消費(fèi)者(或客戶)根據(jù)不同的分類特征通過動態(tài)查詢業(yè)務(wù)信息來查找特定的業(yè)務(wù)信息。
業(yè)務(wù)信息交互處理器通過WSDL(WSDL的語義用XML來實現(xiàn))定義業(yè)務(wù)信息接口,采用UDDI協(xié)議與處理器注冊中心和業(yè)務(wù)信息接口進(jìn)行交互,如圖2所示,業(yè)務(wù)信息用戶通過動態(tài)方式向注冊中心查詢業(yè)務(wù)服務(wù)信息,如果業(yè)務(wù)信息存在,注冊中心就給業(yè)務(wù)信息用戶提供業(yè)務(wù)信息接口契約和業(yè)務(wù)信息的服務(wù)端點(diǎn)地址,以使業(yè)務(wù)信息用戶得到相應(yīng)的服務(wù)信息。
業(yè)務(wù)信息消費(fèi)者(業(yè)務(wù)信息消費(fèi)者可以包括基于Web的客戶、移動客戶或者使用.NET環(huán)境、Perl、C+或其他編程語言編寫的客戶)通過消息來消費(fèi)服務(wù)信息,接口契約是獨(dú)立于平臺和語言的,消息通常采用符合(XML)標(biāo)準(zhǔn)模式的(XML)文檔來構(gòu)造。
各業(yè)務(wù)信息系統(tǒng)間通過業(yè)務(wù)信息交互處理器與具有標(biāo)準(zhǔn)交換格式的XML部署聯(lián)系,通過XML簡化了數(shù)據(jù)交換及進(jìn)程間消息交換,將J2EE強(qiáng)大的系統(tǒng)架構(gòu)同(XML)高度靈活的數(shù)據(jù)管理相結(jié)合實現(xiàn)異構(gòu)業(yè)務(wù)信息系統(tǒng)的集成交互。
圖2 處理器業(yè)務(wù)信息交互實現(xiàn)過程
2)基于SaaS模式的代理集成
SaaS模式接入將原應(yīng)用系統(tǒng)的數(shù)據(jù)傳送到目的應(yīng)用系統(tǒng),系統(tǒng)設(shè)立了源適配器和目標(biāo)適配器。源適配器負(fù)責(zé)從源應(yīng)用系統(tǒng)讀取特定格式的數(shù)據(jù),轉(zhuǎn)換成服務(wù)消息,然后發(fā)送到集成代理,集成代理再把消息傳送到目標(biāo)適配器。目標(biāo)適配器收到消息后,把消息再轉(zhuǎn)換成目的應(yīng)用系統(tǒng)特定的格式數(shù)據(jù),寫給目的系統(tǒng),完成數(shù)據(jù)從源到目的的傳送。集成代理采用在線使用軟件的服務(wù)模式來設(shè)計(即SaaS模式),整個集成代理服務(wù)部署為托管服務(wù),通過軍隊內(nèi)部專網(wǎng)存取,把來自各網(wǎng)絡(luò)節(jié)點(diǎn)上的、不同數(shù)據(jù)源(數(shù)據(jù)庫、構(gòu)件庫、領(lǐng)域知識庫)的信息通過業(yè)務(wù)信息交互處理器轉(zhuǎn)換成XML數(shù)據(jù),存儲在虛擬集中存儲器中,用戶以SaaS(軟件以服務(wù)方式提供)模式通過DOM/SAX來獲取已經(jīng)轉(zhuǎn)換成XML格式的信息;同樣,用戶通過DOM/SAX接口提交的查詢命令,通過業(yè)務(wù)信息交互處理器轉(zhuǎn)換成本地數(shù)據(jù)源能夠識別的數(shù)據(jù)格式進(jìn)行查詢。用戶以SaaS(軟件以服務(wù)方式提供)模式通過業(yè)務(wù)信息交互處理器封裝體實現(xiàn)彼此之間的交互。
3)服務(wù)總線+服務(wù)構(gòu)件
為保證構(gòu)件功能獨(dú)立性和模塊化,服務(wù)構(gòu)件之間的信息交換都通過服務(wù)總線來進(jìn)行[5]。服務(wù)總線由通信總線和消息總線組成,消息總線是服務(wù)總線的消息表述,消息的表述采用標(biāo)準(zhǔn)的XML。
基于SaaS的軍隊異構(gòu)系統(tǒng)接入中間件采用最新最具前瞻性的SaaS模式,在技術(shù)架構(gòu)上具備創(chuàng)新意義的后發(fā)優(yōu)勢。在產(chǎn)品設(shè)計開發(fā)中不僅吸取國內(nèi)外同類產(chǎn)品的優(yōu)點(diǎn),更注重從軟件的發(fā)展趨勢出發(fā),適應(yīng)軟件異構(gòu)系統(tǒng)集成的現(xiàn)實需求,采用SaaS模式服務(wù)接入和SaaS模式異構(gòu)系統(tǒng)集成使得產(chǎn)品在部署、運(yùn)行和擴(kuò)展中更加友好高效,充分顯現(xiàn)這種技術(shù)產(chǎn)品的創(chuàng)新優(yōu)勢和前瞻性優(yōu)勢。
1)SaaS模式服務(wù)接入
在傳統(tǒng)的軟件應(yīng)用的開發(fā)方式當(dāng)中,開發(fā)人員常常為Server與接入端間的數(shù)據(jù)交互所困擾。為避免這些問題,通常大家使用類似創(chuàng)建隱含對象等方式傳遞附加信息,這種解決方法不但使用不便而且嚴(yán)重破壞了程序的結(jié)構(gòu),令代碼變得混亂難懂。基于SaaS的軍隊異構(gòu)系統(tǒng)接入中間件中的構(gòu)件為了解決這一問題將軟件部署為托管服務(wù),通過網(wǎng)絡(luò)存取,使中心Server服務(wù)端與應(yīng)用接入端的代碼形成統(tǒng)一整體,提高集成接入的執(zhí)行效率和可管理性。如圖3所示。
圖3 基于SaaS模式異構(gòu)系統(tǒng)接入對象狀態(tài)持續(xù)方式圖
根據(jù)執(zhí)行順序的不同,用中心Server服務(wù)端的代碼來創(chuàng)建和定義構(gòu)件,然后在應(yīng)用接入端使用這些構(gòu)件。對于某些構(gòu)件還可以將其狀態(tài)傳回中心Server服務(wù)端,以便作進(jìn)一步的處理。生命周期存在于中心Server服務(wù)端和應(yīng)用接入端,中心Server服務(wù)端的管理不僅涵蓋了普通介入方式的所有功能,而且它具有很強(qiáng)的擴(kuò)展功能,所有的對象都運(yùn)行在一種模式下面,即SaaS模式異構(gòu)系統(tǒng)接入,這樣增強(qiáng)了應(yīng)用接入端的數(shù)據(jù)處理能力。
2)基于SaaS模式的異構(gòu)系統(tǒng)集成
基于SaaS模式的異構(gòu)系統(tǒng)部署為托管服務(wù),通過網(wǎng)絡(luò)存取設(shè)立源解析器和目標(biāo)解析器,源解析器負(fù)責(zé)從源應(yīng)用系統(tǒng)讀取特定格式的數(shù)據(jù),轉(zhuǎn)換成標(biāo)準(zhǔn)服務(wù)消息,然后發(fā)送到服務(wù)代理,服務(wù)代理再把消息傳送到目標(biāo)解析器,目標(biāo)解析器收到消息后,把消息再轉(zhuǎn)換成目的應(yīng)用系統(tǒng)特定的格式數(shù)據(jù),寫給目的系統(tǒng),實現(xiàn)業(yè)務(wù)數(shù)據(jù)從源到目的的交互。如圖4所示。
圖4 基于SaaS模式連接的集成方式
綜合以上分析,基于SaaS的軍隊異構(gòu)系統(tǒng)接入中間件的開發(fā)應(yīng)用為用戶提供了靈活性和響應(yīng)能力,發(fā)揮整體運(yùn)作的優(yōu)勢,系統(tǒng)能組織所有單位和軍隊部門形成一個完整的集成服務(wù)平臺,為廣大個人和單位提供廉價的SaaS整體信息服務(wù),使軍隊各部門的組合形成了集團(tuán)作用,使有限的資金發(fā)揮了最大的作用,這對于軍隊信息化建設(shè)的發(fā)展來說是至關(guān)重要的。
作為比較薄弱的中國軍用軟件業(yè),軍隊?wèi)?yīng)該大力支持SaaS。首先SaaS能幫助中小型單位實現(xiàn)信息化。自建信息系統(tǒng)的模式對小單位來說成本太高,只有SaaS能使用戶根據(jù)需要,低成本且靈活地獲得信息化支持。其二,SaaS是大勢所趨。目前由于國內(nèi)軟件的低價環(huán)境,國外SaaS商沒有大舉進(jìn)入,但中國龐大的市場必然吸引國外成熟的SaaS廠商。一旦國外廠商大舉進(jìn)入并完成本地化,則這個領(lǐng)域又將丟失。其三,SaaS能夠培養(yǎng)出大的軟件服務(wù)商。軍隊管理部門可以做紅娘,促成軟件企業(yè)和軍隊的合作,通過強(qiáng)強(qiáng)聯(lián)手,更好地打開市場。
[1] 張美枝,高潤月,楊永平.基于SaaS模式下軟件設(shè)計方法的研究[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2007(12):169-170.
[2] 陳鵬,薛恒新.面向中小企業(yè)信息化的SaaS應(yīng)用研究[J].中國制造業(yè)信息化,2008(1):10-13.
[3] 昌中作,徐悅,戴鋼.基于SaaS模式公共服務(wù)平臺多用戶數(shù)據(jù)結(jié)構(gòu)的研究[J].計算機(jī)系統(tǒng)應(yīng)用,2008(2):7-11.
[4] 于珊珊.基于SaaS的教育異構(gòu)系統(tǒng)接入中間件的開發(fā)應(yīng)用研究[J].紅河學(xué)院學(xué)報,2007(5):29-33.
[5] 張水坤.SaaS模式的設(shè)計與研究[J].科技創(chuàng)業(yè),2007(11):188-188.