周 凱 朵云峰
[摘 要]本文分析了Web Services技術(shù)在解決異構(gòu)系統(tǒng)集成中的優(yōu)勢(shì),在此基礎(chǔ)上開(kāi)發(fā)了一個(gè)基于Web Services技術(shù)的市級(jí)農(nóng)情信息調(diào)度系統(tǒng),并對(duì)該系統(tǒng)進(jìn)行了詳細(xì)的介紹。
[關(guān)鍵詞]Web Services 農(nóng)情 信息調(diào)度
作者簡(jiǎn)介:周凱(1963-),男,副教授,研究方向:計(jì)算機(jī)軟件開(kāi)發(fā)研究與教學(xué)。
一、引言
農(nóng)情信息調(diào)度是對(duì)當(dāng)?shù)剞r(nóng)情信息收集、整理、分析、發(fā)布,對(duì)上級(jí)管理部門準(zhǔn)確反映各地政策落實(shí)、工作進(jìn)展、生產(chǎn)動(dòng)態(tài)、形勢(shì)預(yù)測(cè)等重要行情、民情和災(zāi)情,對(duì)下級(jí)部門提供政策、生產(chǎn)、市場(chǎng)、品種、技術(shù)、經(jīng)驗(yàn)等信息服務(wù)。開(kāi)發(fā)適應(yīng)農(nóng)業(yè)生產(chǎn)的市級(jí)農(nóng)情信息調(diào)度系統(tǒng),提供準(zhǔn)確、快捷、靈活的采集手段和強(qiáng)大的查詢功能,實(shí)現(xiàn)農(nóng)業(yè)信息統(tǒng)計(jì)、生產(chǎn)報(bào)表、防災(zāi)減災(zāi)信息化管理和信息共享,提高農(nóng)情信息管理的實(shí)效性和可靠性,顯得至關(guān)重要。
二、關(guān)鍵技術(shù)
(一)Web Services技術(shù)
Web Services技術(shù)是為解決在Internet環(huán)境下,松散耦合的Web Services之間進(jìn)行相互調(diào)用、互相集成而設(shè)計(jì)的技術(shù)框架。主要包括用于進(jìn)行服務(wù)描述的Web Services描述語(yǔ)言(WSDL);用于服務(wù)調(diào)用的簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP);用于用戶服務(wù)的發(fā)布和集成的統(tǒng)一描述、發(fā)現(xiàn)和集成規(guī)范(UDDI)以及XML(可擴(kuò)展標(biāo)記語(yǔ)言)。Web Services體系結(jié)構(gòu)主要由三種角色和三種操作組成。角色主要有服務(wù)提供者、服務(wù)注冊(cè)中心、服務(wù)請(qǐng)求者。操作主要有發(fā)布/取消發(fā)布、查找、綁定。這些角色和操作一起作用于Web Services構(gòu)件、Web Services軟件模塊及其描述。在典型情況下,服務(wù)提供者提供可以通過(guò)網(wǎng)絡(luò)訪問(wèn)的軟件模塊。服務(wù)提供者定義Web服務(wù)的服務(wù)描述,并把它發(fā)布到服務(wù)請(qǐng)求者或服務(wù)注冊(cè)中心。服務(wù)請(qǐng)求者使用查找操作從本地或服務(wù)注冊(cè)中心搜索服務(wù)描述,然后使用服務(wù)描述與服務(wù)提供者進(jìn)行綁定,并調(diào)用相應(yīng)的Web Services實(shí)現(xiàn)。
(二)數(shù)據(jù)訪問(wèn)技術(shù)
通過(guò) NET Framework 數(shù)據(jù)提供程序?qū)?SQL Server、ODBC、Oracle 和 XML 等數(shù)據(jù)源以及通過(guò) OLEDB 和 XML 公開(kāi)的數(shù)據(jù)源提供一致性的訪問(wèn),同時(shí),.NET下的數(shù)據(jù)提供程序全面支持分布式的通信應(yīng)用。數(shù)據(jù)共享使用者應(yīng)用程序可以使用 ADO.NET 連接到的數(shù)據(jù)源,并檢索、處理和更新所包含的數(shù)據(jù)。
配合NET Framework 提供的數(shù)據(jù)庫(kù)連接,Data-Set XML 文檔類型與后端管理的數(shù)據(jù)結(jié)構(gòu)之間提供了一種映射機(jī)制,將不同數(shù)據(jù)庫(kù)中的字段映射到各個(gè)元素和屬性類型,或者將XML 文檔中的各個(gè)元素及屬性映射到指定的數(shù)據(jù)庫(kù)字段,實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換。作為Data-Set 固有的序列化格式,XML 和XML構(gòu)架則為遠(yuǎn)程客戶端之間來(lái)回傳輸Data-Set 內(nèi)容提供一種方便的格式,使得Data-Set 成為層間數(shù)據(jù)移動(dòng)的媒介,方便異構(gòu)系統(tǒng)間的數(shù)據(jù)傳遞。
(三)安全控制技術(shù)
農(nóng)情信息調(diào)度不是開(kāi)發(fā)類似網(wǎng)絡(luò)支付平臺(tái)或者是在線銀行,系統(tǒng)內(nèi)傳遞的數(shù)據(jù)只需要不讓“外人”看到,不需要“預(yù)防抵賴”這樣的保證。因此,農(nóng)業(yè)信息調(diào)度系統(tǒng)的安全,主要是指保密性、完整性、授權(quán)三個(gè)方面。
Web Services 體系結(jié)構(gòu)在最常用的傳輸協(xié)議 HTTP 上使用 XML/SOAP,因此,它允許以純文本形式交換信息。但是第三方可以很輕松地截取并解釋這些信息。但.NET 環(huán)境下的 Web Services 由 IIS 提供,在系統(tǒng)環(huán)境下,可以使用 IIS 的內(nèi)置安全特性。支持 HTTP 的 SSL 能夠?yàn)?HTTP 中傳輸?shù)臄?shù)據(jù)提供保密性和完整性。通過(guò)啟用客戶端 X.509 證書(在 SSL 協(xié)議中是否使用客戶端證書是可選的)可以提供預(yù)防抵賴服務(wù)。一旦啟用 SSL,通過(guò)相關(guān)連接發(fā)送的所有數(shù)據(jù)都將加密并使用簽名。IIS 提供基本身份驗(yàn)證、摘要式身份驗(yàn)證、集成 Windows 身份驗(yàn)證 (NTLM/Kerberos) 、 X.509 證書等多種身份驗(yàn)證機(jī)制。對(duì)于提供 Web服務(wù)的特定目錄,可以啟用其中任何一種身份驗(yàn)證機(jī)制,相應(yīng)地客戶也可以提交相應(yīng)證書,并通過(guò) IIS 驗(yàn)證。同時(shí),IIS 中需禁用匿名訪問(wèn)。
三、系統(tǒng)架構(gòu)
基于Web Services架構(gòu)的市級(jí)農(nóng)情信息調(diào)度系統(tǒng)設(shè)計(jì)開(kāi)發(fā)思想如下:
(一)系統(tǒng)所有數(shù)據(jù)存儲(chǔ)在市級(jí)服務(wù)器上(包括縣、鄉(xiāng)級(jí)),由市級(jí)人員統(tǒng)一管理。(二)系統(tǒng)對(duì)外的主要接口以Web Services的方式提供。(三)系統(tǒng)客戶端以windows form應(yīng)用程序表現(xiàn)給用戶,以Web Services訪問(wèn)者運(yùn)行于工作站上,成為系統(tǒng)的一部分。(四)應(yīng)用程序服務(wù)器是一個(gè)邏輯單元,與Web Services服務(wù)器位于同一個(gè)物理機(jī)器上,這個(gè)邏輯單元提供市級(jí)局域網(wǎng)內(nèi)容管理使用。(五)系統(tǒng)自頂向下共分為四個(gè)功能層。系統(tǒng)各層功能描述如下:
1.應(yīng)用層:是系統(tǒng)的最頂層,為外部用戶提供統(tǒng)一的查詢接口,具體表現(xiàn)為windows form應(yīng)用程序,或是Web瀏覽器。
2.業(yè)務(wù)層:是業(yè)務(wù)邏輯的表現(xiàn)層,以可遠(yuǎn)程調(diào)用的對(duì)象或組件的形式存在于服務(wù)器上。
3.邏輯無(wú)關(guān)層:這個(gè)層次的劃分,類似于RUP中的中間件層。該層的內(nèi)容表現(xiàn)形式與業(yè)務(wù)層相同,但與業(yè)務(wù)邏輯無(wú)關(guān)。
4.?dāng)?shù)據(jù)層:該層內(nèi)容最直接的表現(xiàn)形式就是數(shù)據(jù)庫(kù)系統(tǒng),如SQL Server、Oracle等。
四、系統(tǒng)功能
市級(jí)單位農(nóng)情調(diào)度工作采用市、縣、鄉(xiāng)分級(jí)管理模式,市級(jí)部門向所屬下級(jí)部門下達(dá)任務(wù),審核并匯總報(bào)數(shù)據(jù),向省級(jí)部門上報(bào)數(shù)據(jù)。
市級(jí)農(nóng)情信息調(diào)度系統(tǒng)主要8個(gè)管理模塊完成。系統(tǒng)各管理模塊的功能描述如下:
(一)組織管理模塊。管理本級(jí)部門和人員,可以在權(quán)限范圍內(nèi)進(jìn)行增、刪、改操作。(二)權(quán)限管理模塊。頂級(jí)管理部門可以分配下級(jí)部門所擁有的權(quán)限,也可以在自己的權(quán)限范圍內(nèi)允許用戶調(diào)整本級(jí)其他人員的權(quán)限。(三)系統(tǒng)管理模塊。提供系統(tǒng)參數(shù)設(shè)置入口,比如IP地址、端口號(hào)等,還包括本級(jí)系統(tǒng)運(yùn)行方式等。(四)發(fā)文管理模塊。上級(jí)可以向下級(jí)發(fā)送文字材料,下級(jí)按照上級(jí)的要求上報(bào)文字材料。(五)統(tǒng)計(jì)分析模塊。對(duì)通訊數(shù)據(jù)、任務(wù)調(diào)查數(shù)據(jù)、發(fā)文數(shù)據(jù)、上報(bào)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。(六)通訊模塊。提供系統(tǒng)內(nèi)部外部人員互動(dòng)信息、通訊簿管理、通訊組管理以及消息管理功能。(七)任務(wù)管理模塊。利用統(tǒng)計(jì)分析模塊對(duì)調(diào)查任務(wù)進(jìn)行各種統(tǒng)計(jì)分析,支持節(jié)點(diǎn)維護(hù)任務(wù)。(八)系統(tǒng)更新模塊。新的程序版本產(chǎn)生,只需要在總服務(wù)器上發(fā)布程序,其他終端登陸時(shí),自動(dòng)檢測(cè)更新,并下載自動(dòng)安裝。
五、結(jié)束語(yǔ)
Web Services技術(shù)在解決異構(gòu)數(shù)據(jù)庫(kù)統(tǒng)一調(diào)度方面提供了完善的解決方案?;赪eb Services技術(shù)的市級(jí)農(nóng)情信息調(diào)度系統(tǒng),實(shí)現(xiàn)了農(nóng)業(yè)信息統(tǒng)計(jì)、生產(chǎn)報(bào)表、防災(zāi)減災(zāi)信息化管理和信息共享,為現(xiàn)代農(nóng)業(yè)生產(chǎn)條件下,農(nóng)業(yè)管理部門決策提供了科學(xué)的依據(jù)。
參考文獻(xiàn)
[1]柴曉,梁宇奇, Web Services技術(shù)、架構(gòu)和應(yīng)用[M]電子工業(yè)出版社2003
[2]丁月華,楊敏,基于XML的異構(gòu)數(shù)據(jù)源集成與交換的實(shí)現(xiàn)[J]計(jì)算機(jī)應(yīng)用與軟件2006
[3]李安渝,Web Services技術(shù)與實(shí)現(xiàn)[M]國(guó)防工業(yè)出版社2003