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