朱瑩芳, 孫 俊
(1.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫 214122; 2.江蘇信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,江蘇無錫 214101)
隨著經(jīng)濟(jì)全球化、信息化、網(wǎng)絡(luò)化迅猛發(fā)展,電子政務(wù)成為當(dāng)今世界許多國家和地區(qū)追求的目標(biāo)、關(guān)注的焦點(diǎn)和實(shí)踐的重要課題.實(shí)施電子政務(wù)[1],既是政府管理改革與創(chuàng)新的基本方向,也是帶動國民經(jīng)濟(jì)與社會信息化的根本力量.
藥品是廣大人民群眾防病治病、保護(hù)健康必不可少的特殊商品.藥品市場的混亂,不僅會影響醫(yī)藥事業(yè)的健康發(fā)展,還會給人民群眾的生命安全帶來很大威脅.同時(shí),我國加入WTO后,如何科學(xué)、規(guī)范地監(jiān)管藥品市場已經(jīng)成為迫在眉睫的問題.只有實(shí)現(xiàn)嚴(yán)格執(zhí)法與科學(xué)管理的統(tǒng)一,不斷增加監(jiān)管執(zhí)法的科技含量,實(shí)現(xiàn)科學(xué)的信息化管理,藥監(jiān)工作才能上層次、上水平,最大限度地發(fā)揮監(jiān)管執(zhí)法的效能.
建立高效的電子政務(wù)綜合信息系統(tǒng)是構(gòu)建現(xiàn)代藥監(jiān)信息管理平臺的重要手段,以前瞻的眼光來規(guī)劃構(gòu)建藥監(jiān)電子政務(wù)綜合信息系統(tǒng),才能為未來藥監(jiān)管理效率的提升打下堅(jiān)實(shí)的基礎(chǔ).電子政務(wù)綜合信息系統(tǒng)中的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)管系統(tǒng)是藥監(jiān)局工作人員對醫(yī)藥經(jīng)營企業(yè)GSP客戶端所上傳的數(shù)據(jù)進(jìn)行分析處理的系統(tǒng),它是整個(gè)電子政務(wù)系統(tǒng)的核心系統(tǒng),主要以B/S的形式在用戶面前展現(xiàn),該系統(tǒng)主要基于P2P技術(shù)實(shí)現(xiàn)數(shù)據(jù)的采集及基于Web service技術(shù)實(shí)現(xiàn)數(shù)據(jù)的查詢,本文主要研究Web service技術(shù)在遠(yuǎn)程網(wǎng)絡(luò)監(jiān)管中的重要性及實(shí)施過程.
Web Service采取簡單的、易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,通過 XML、SOAP、WSDL、UDDI等技術(shù)手段,完全屏蔽不同軟件平臺的差異,是一種跨平臺和具有高度可集成能力的技術(shù).無論是CORBA、DCOM還是EJB都可以通過這一種標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,全面解決教育資源的無序性、異構(gòu)性和封閉性等問題,實(shí)現(xiàn)了在當(dāng)前環(huán)境下最高的可集成性.Web Services使用面向服務(wù)的構(gòu)架,它包含三個(gè)參與者和三個(gè)基本操作:服務(wù)提供者、服務(wù)請求者和服務(wù)代理[2].首先,服務(wù)提供者將所能提供的服務(wù)接口用WSDL描述出來,然后使用UDDI在服務(wù)代理將這些服務(wù)接口進(jìn)行注冊;服務(wù)代理則使用UDDI注冊這些服務(wù)接口,并接受服務(wù)請求者的查詢;服務(wù)請求者通過使用UDDI在服務(wù)代理處查詢,得到所需的服務(wù)接口的描述文件,然后綁定到這些服務(wù),最終完成調(diào)用.參與者之間的三種操作都采用SOAP完成.
Web Service平臺由一系列協(xié)議組成,最基本的平臺是XML+HTTP,功能全面的平臺是XML+HTTP+SOAP+WSDL+UDDI.
對Web Service更精確的解釋:Web Services是建立可互操作的分布式應(yīng)用程序的新平臺.COM或DCOM建立過基于組件的分布式應(yīng)用程序開發(fā)已經(jīng)比較普遍.COM是一個(gè)非常好的組件技術(shù),但是也很容易舉出COM并不能滿足要求的情況.Web Service平臺是一套標(biāo)準(zhǔn),定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性.可以用任何一種語言,在任何平臺上寫WebService,只要可以通過Web Service標(biāo)準(zhǔn)對這些服務(wù)進(jìn)行查詢和訪問.
不管Web Service是用什么工具,什么語言寫出來的,只要用SOAP協(xié)議通過HTTP來調(diào)用它,總體結(jié)構(gòu)都應(yīng)如圖1所示.通常,用自己喜歡的語言 (如VB 6或者VB.NET)來構(gòu)建Web Service,然后用SOAP Toolkit或者.NET的內(nèi)建支持來把它暴露給Web客戶.于是,任何語言,任何平臺上的客戶都可以閱讀其WSDL文檔,以調(diào)用這個(gè)Web Service.客戶根據(jù)WSDL描述文檔,會生成一個(gè)SOAP請求消息.Web Service都是放在Web服務(wù)器 (如IIS)后面的,客戶生成的SOAP請求會被嵌入在一個(gè)HTTP POST請求中,發(fā)送到Web服務(wù)器來.Web服務(wù)器再把這些請求轉(zhuǎn)發(fā)給Web Service請求處理器.請求處理器的作用在于,解析收到的SOAP請求,調(diào)用 Web Service,然后再生成相應(yīng)的 SOAP應(yīng)答[3].Web服務(wù)器得到SOAP應(yīng)答后,會再通過HTTP應(yīng)答的方式把它送回到客戶端.
在 VisualStudio.net中創(chuàng)建解決方案“DZBWebService”,在此解決方案中創(chuàng)建項(xiàng)目DZBWebService,項(xiàng)目所包含文件如下圖1所示.
圖1 Web Service的創(chuàng)建
其中在TextWebSerice.asmx.cs文件中獲取網(wǎng)站上系統(tǒng)文章表“XT-TEXT”所有記錄的代碼如下:
///返回文章列表
Web Service服務(wù)創(chuàng)建完畢之后就是服務(wù)的部署,服務(wù)的部署方式和使用IIS或其他服務(wù)器組件發(fā)布Web的方法類似.
部署將有表1的目錄結(jié)構(gòu):
表1
Web服務(wù)發(fā)布將有表2的條目:
表2
把原先創(chuàng)建的.asmx文件及對應(yīng)的bin目錄下面的文件上傳到相應(yīng)站點(diǎn) (www.dzbsoft.com)后,部署完畢.供客戶端第三方調(diào)用WebService服務(wù)的引用名為com.dzbsoft.www.部署后可以在原網(wǎng)站提供WebService服務(wù),如圖2所示.
圖2 提供Web Service服務(wù)窗口
客戶端:取得服務(wù)端的服務(wù)描述文件WSDL,解析該文件的內(nèi)容,了解服務(wù)端的服務(wù)信息,以及調(diào)用方式.根據(jù)需要,生成恰當(dāng)?shù)腟OAP請求消息 (指定調(diào)用的方法,已經(jīng)調(diào)用的參數(shù)),發(fā)往服務(wù)端.等待服務(wù)端返回的SOAP回應(yīng)消息,解析得到返回值.服務(wù)端:生成服務(wù)描述文件,以供客戶端獲取.接收客戶端發(fā)來的SOAP請求消息,解析其中的方法調(diào)用和參數(shù)格式.根據(jù)WSDL和WSML的描述,調(diào)用相應(yīng)的COM對象來完成指定功能,并把返回值放入SOAP回應(yīng)消息返回給用戶[4].Web Service數(shù)據(jù)模型 (三種應(yīng)用技術(shù)標(biāo)準(zhǔn))如圖3所示.
圖3 Web Service數(shù)據(jù)模型
客戶端調(diào)用Web Service服務(wù)可以通過各種方式,本文通過一個(gè)典型的Windows窗體Form來進(jìn)行調(diào)用,Form中使用兩個(gè)控件Button及DataGridview,所有文件見圖4所示.
圖4 部署完畢后的Web Service服務(wù)
醫(yī)藥經(jīng)營企業(yè) (GSP)系統(tǒng)的數(shù)據(jù)采集及查詢時(shí)整個(gè)藥監(jiān)系統(tǒng)電子政務(wù)工作的核心工作,這些工作在遠(yuǎn)程網(wǎng)絡(luò)監(jiān)管系統(tǒng)中實(shí)現(xiàn),該系統(tǒng)是藥監(jiān)局工作人員對醫(yī)藥經(jīng)營企業(yè)GSP客戶端所上傳的數(shù)據(jù)進(jìn)行分析處理的系統(tǒng),系統(tǒng)流程見圖5所示.
圖5 GSP網(wǎng)絡(luò)監(jiān)管系統(tǒng)數(shù)據(jù)采集及處理流程
本文主要研究數(shù)據(jù)的處理過程,考慮到遠(yuǎn)程網(wǎng)絡(luò)管理系統(tǒng)的WebService實(shí)現(xiàn)具體如下:
1)服務(wù)提供者
開發(fā)并部署Web Service.用C#語言編寫查詢XML文件的class,以安裝并使用GSP軟件的藥店名稱作為查詢參數(shù),得出相應(yīng)藥店的藥品進(jìn)銷存及藥師等情況.提供服務(wù)描述文檔 (建立WSDL文件)將藥店查詢WebService部署到UDDI注冊中心.
2)服務(wù)調(diào)用者
調(diào)用藥店查詢WebService.調(diào)用功能處主要代碼如下[5]:
Try
'獲取從證后監(jiān)管傳過來的數(shù)據(jù)
If ModMaster.GetCount (“ SettingUser-BuMen ”,“UserId='”&User-id.ToString()&“'”) >0 Then
'獲取本部門名稱、部門縮寫、真實(shí)姓名
3)系統(tǒng)自動學(xué)習(xí)WebService
4)服務(wù)過程
首先,客戶端應(yīng)用程序通過網(wǎng)絡(luò)向UDDI查找WebService空間轉(zhuǎn)換服務(wù),如果存在,則返回WSDL文檔URL,緊接著客戶根據(jù)URL請求WSDL文檔資料,Web應(yīng)用服務(wù)器返回WSDL文檔,并定位WebService;客戶端通過網(wǎng)絡(luò)請求服務(wù)說明,閱讀WebService提供的接口說明,查看是否有需要的空間數(shù)據(jù)轉(zhuǎn)換服務(wù),最后,客戶端應(yīng)用程序通過HTTP、XML、SOAP協(xié)議向服務(wù)器請求WebService,服務(wù)器執(zhí)行WebService方法并返回響應(yīng)結(jié)果.
此處的Webservice服務(wù)對于滿足系統(tǒng)的數(shù)據(jù)處理中有著極其重要的作用,不僅在藥品網(wǎng)絡(luò)監(jiān)管系統(tǒng)中有著應(yīng)用,而且在其他系統(tǒng)中也有著比較重要的應(yīng)用.
基于Webservice技術(shù)所構(gòu)建的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)管系統(tǒng)已經(jīng)在某地市食品藥品監(jiān)督管理局投入運(yùn)行,并有效解決食品與藥品監(jiān)督管理局GSP數(shù)據(jù)采集及調(diào)用問題.
系統(tǒng)對于轄區(qū)內(nèi)藥店經(jīng)營的管理主要通過安裝在藥店客戶端軟件基于Webservice技術(shù)定期上傳的數(shù)據(jù)中抽取相關(guān)信息而完成對藥店銷售情況的管理,具有實(shí)用性和可擴(kuò)充性.
[1]張成福.中國政府信息化:發(fā)展、問題與前景 [R].國家信息化辦公室研究報(bào)告,2000.
[2]陸宵宏,華馳.藥監(jiān)系統(tǒng)電子政務(wù)系統(tǒng)的設(shè)計(jì)及其關(guān)鍵技術(shù)的研究 [J].硅谷,2009,(21).
[3]劉乃麗.精通ASP.NET2.0+SQL Server2005項(xiàng)目開發(fā)第二版 [M].北京:人民郵電出版社,2007:110-198.
[4]王玉標(biāo),文俊浩,趙瑞鋒,饒錫如.基于Web服務(wù)的異構(gòu)數(shù)據(jù)庫共享及同步機(jī)制 [J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(24):5774-5777.
[5]Zhao Gang,Yang Zong-ka,iYanKun.Design and Implementation of a Distributed Learning Resource Registry System[C].//The 4th International Conference on Computer and Information Technology,2004:333-338.