李桂菊
摘要:隨著異種計(jì)算環(huán)境的不斷增加,而且越來越復(fù)雜,面對系統(tǒng)之間互操作性問題,對系統(tǒng)能夠進(jìn)行通信和共享數(shù)據(jù)提出了更高的要求,從而在 Internet 環(huán)境下,實(shí)現(xiàn)信息的快速傳遞與共享。為解決此問題,在某省的ADC系統(tǒng)中,我們采用簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP),實(shí)現(xiàn)與各類業(yè)務(wù)系統(tǒng)的無縫集成。本文主要闡述SOAP協(xié)議在某省ADC平臺中的應(yīng)用。
關(guān)鍵詞:簡單對象訪問協(xié)議SOAP 應(yīng)用數(shù)據(jù)中心ADC 系統(tǒng)集成商SI
1 概述
隨著移動互聯(lián)網(wǎng)和智能終端的發(fā)展,企業(yè)對辦公信息化提出了新的需求,希望借助移動互聯(lián)網(wǎng)和智能終端實(shí)現(xiàn)內(nèi)部應(yīng)用系統(tǒng)的移動信息化,為企業(yè)在激烈的市場競爭中贏得先機(jī)。20世紀(jì)90年代,我國相繼啟動了以金關(guān)、金卡和金稅為代表的重大信息化應(yīng)用工程。黨的十六大進(jìn)一步作出了以信息化帶動工業(yè)化、以工業(yè)化促進(jìn)信息化的戰(zhàn)略部署。國家的信息化發(fā)展戰(zhàn)略為中國移動推動信息化指明了方向。某省移動公司結(jié)合自身優(yōu)勢,為不具備OA、郵件、ERP等信息化系統(tǒng)的客戶提供基于移動終端的托管式信息化應(yīng)用服務(wù),制定一套可行的行業(yè)解決方案,命名為ADC(Application Data Center,應(yīng)用數(shù)據(jù)中心)。提供包括企業(yè)宣傳、移動辦公、生產(chǎn)控制等在內(nèi)的專業(yè)服務(wù)。
2 ADC系統(tǒng)結(jié)構(gòu)
ADC平臺和SI(System Integrator,系統(tǒng)集成商)應(yīng)用系統(tǒng)共同組成ADC系統(tǒng)。通常情況下,ADC平臺作為運(yùn)營平臺為中小企業(yè)信息化應(yīng)用提供服務(wù),進(jìn)而支撐SI系統(tǒng)的接入、管理和運(yùn)營,對外連接行業(yè)網(wǎng)關(guān)、BOSS,以及網(wǎng)管系統(tǒng)等。SI為中國移動引入的合作伙伴,具有成熟的產(chǎn)品及技術(shù)能力,能夠提供各種類型的產(chǎn)品及方案。
ADC平臺通過業(yè)務(wù)系統(tǒng)接口層,實(shí)現(xiàn)業(yè)務(wù)開通關(guān)閉、用戶授權(quán)數(shù)據(jù)和計(jì)費(fèi)信息同步功能。由于SI應(yīng)用系統(tǒng)的異構(gòu)性在業(yè)務(wù)系統(tǒng)接口層中,我們采用簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)實(shí)現(xiàn)異構(gòu)計(jì)算機(jī)環(huán)境下的數(shù)據(jù)通信和信息共享。
3 SOAP的應(yīng)用
3.1 SOAP協(xié)議
SOAP(Simple Object Access Protocol),是簡單對象訪問協(xié)議,其特點(diǎn)是輕量、簡單、基于XML的協(xié)議,通常情況下在WEB上被用于交換結(jié)構(gòu)化和固化的信息。可以和現(xiàn)存的超文本傳輸協(xié)議(HTTP)、簡單郵件傳輸協(xié)議(SMTP)等多種因特網(wǎng)協(xié)議和格式進(jìn)行結(jié)合使用。支持從消息系統(tǒng)到遠(yuǎn)程過程調(diào)用(RPC)等大量的應(yīng)用程序。
SOAP協(xié)議主要包含:封裝、編碼規(guī)則、RPC三部分。封裝描述消息的具體內(nèi)容,由誰處理以及是否可選等;編碼規(guī)則對一種序列化的機(jī)制進(jìn)行了定義,通過編碼將程序?qū)ο筠D(zhuǎn)換成XML對象;RPC表示執(zhí)行遠(yuǎn)程調(diào)用(RPC,RemoteProcedureCall)的約定。三個部分作為SOAP一個整體定義,在功能上是相交的、彼此獨(dú)立的。信封和編碼規(guī)則是被定義在不同的XML命名空間(namespace)中,這樣使得定義更加簡單。
把SOAP與HTTP進(jìn)行綁定,對SOAP的樣式和分散的靈活性特點(diǎn)和HTTP豐富的特征庫優(yōu)點(diǎn)進(jìn)行整合。在HTTP上傳送SOAP,并不是說SOAP對現(xiàn)有的HTTP語義進(jìn)行覆蓋,而是HTTP上的SOAP語義會映射到HTTP語義上。將HTTP作為協(xié)議綁定使用時,RPC與HTTP之間隸屬請求與答應(yīng)的關(guān)系。然而,在RPC上使用SOAP,一方面不局限于HTTP協(xié)議綁定,另一方面也可以綁定到TCP和UDP協(xié)議上。
3.2 接口描述
在ADC系統(tǒng)中,我們通過采用WSDL(WebServicesDescriptionLanguage,Web服務(wù)描述語言)對接口進(jìn)行描述。WSDL作為一種XML語言,主要對Web服務(wù)的屬性進(jìn)行定義以及對其進(jìn)行調(diào)用。通常情況下,一個服務(wù)接口和一個服務(wù)實(shí)現(xiàn)文檔共同組成一個完整的WSDL服務(wù)描述。通過對Web服務(wù)的WSDL文檔進(jìn)行查閱,開發(fā)者可以知道Web提供了哪些方法,以及如何通過正確的參數(shù)對他們進(jìn)行調(diào)用。因?yàn)榉?wù)接口的完整描述在WSDL中已經(jīng)包含,所以,服務(wù)訪問的存根我們可以通過使用WSDL的創(chuàng)建進(jìn)行簡化,該存根為一段Java代碼,自動生成了訪問Web服務(wù)的類。
3.3 消息格式
通過對消息進(jìn)行SOAP封裝,其傳輸方向是從發(fā)送端到接收端。所有的SOAP消息都使用XML編碼。在系統(tǒng)中所描述的所有消息,是基于圖2所示的層次進(jìn)行封裝。
消息頭和消息體在xml中的表現(xiàn)形式如下:
3.4 消息完整性
消息完整性是指確保通信過程中消息的完整和真實(shí)可信。通過采用強(qiáng)有力的數(shù)字簽名技術(shù)、加密技術(shù)、公鑰基礎(chǔ)結(jié)構(gòu)等確保消息的完整性,進(jìn)而保證文檔的真實(shí)性、完整性和受認(rèn)可性。
通過數(shù)字簽名可以保證消息從端到端的完整性,一方面提供消息發(fā)件人的驗(yàn)證信息,另一方面在最終使用和處理消息時對簽名進(jìn)行驗(yàn)證。借助數(shù)字簽名對消息內(nèi)容進(jìn)行完整性檢查,如果修改原始內(nèi)容的某個字節(jié),那么驗(yàn)證簽名就會失敗。
3.5 消息安全性
為保證消息的不可閱讀性,采用DES加密。加密算法形如:Base64(DES(MD5(消息體)+消息體))。在ADC系統(tǒng)中,制定了DES加密算法規(guī)則。如:限制密鑰長度、加密模式、密文和明文的編碼轉(zhuǎn)換等。
4 實(shí)施效果
某省ADC系統(tǒng)建設(shè)運(yùn)營后,先后成功地接入企業(yè)郵箱、移動OA、農(nóng)信通、校訊通、行業(yè)手機(jī)報(bào)、G3商街等業(yè)務(wù)20多種,受眾用戶達(dá)幾百萬。企業(yè)充分利用移動智能終端的網(wǎng)絡(luò)優(yōu)勢,可以方便、快捷地處理事務(wù),提高了辦事效率。SOAP技術(shù)的引用,解決了系統(tǒng)之間的兼容問題,實(shí)現(xiàn)不同平臺、不同數(shù)據(jù)格式和多種連接方式的支持。在通信過程中加強(qiáng)企業(yè)信息的安全保障。
5 結(jié)論
基于SOAP的Web服務(wù)通過Internet協(xié)議和XML格式的SOAP來實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的訪問,具有跨平臺、跨語言的優(yōu)點(diǎn),但是沒有任何技術(shù)可以解決一切問題,SOAP技術(shù)也不例外,它不會取代其他分布式計(jì)算機(jī)技術(shù)(例如RMI、CORBA及DCOM)。當(dāng)前,Web服務(wù)的若干技術(shù)SOAP、WSDL以及UDDI都在不斷發(fā)展和完善中,基于SOAP的Web服務(wù)技術(shù)必將在應(yīng)用系統(tǒng)整合方面發(fā)揮越來越重要的作用。
參考文獻(xiàn):
[1]楊濤.SOAP:XML跨平臺WebService開發(fā)技術(shù)[M].機(jī)械工業(yè)出版社,2002.
[2]中國移動,ADC總體技術(shù)要求1.0.0[S].
[3]中國移動,ADC與SI應(yīng)用系統(tǒng)接口規(guī)范V1.0.0[S].