摘要:為實現農業信息系統之間信息資源的集成和共享,給出了一種利用Web服務實現農業信息共享的開發方案。詳細闡述了共享平臺的整體框架結構以及Web服務封裝實現方法。能有效整合農業信息網站內部的業務系統,方便快捷的實現農業信息的共享,并具有良好的可擴展性。
關鍵詞:Web服務;信息共享;安全模型
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)12-20ppp-0c
Design of Agricultural Information Sharing Platform Based on Web Servece
SHI Hong-tao
(Network Center,Qingdao Agricultural University,Qingdao 266109,China)
Abstract:In order to achieve resource integration and information exchange among all the agriculture information systems, provide a kind of development scheme which utilizes Web Service to realize agricultural information sharing. illustrate in detail the overall framework structure and implementation of Web Service package about the sharing platform, Furthermore. This framework can effectively conformity the interior business systems of agriculture information website, helps to realize agricultural information sharing securely and swiftly, and enjoys a good scalability.
Key words:Web Service;information sharing;security model
人口與經濟的增長,引起自然資源承載量過大,造成土地資源退化、水資源短缺和污染等自然資源危機。實踐證明,農業信息化和農業信息的共享與開發是合理配置自然資源、減輕自然資源承載量的重要的、有效途徑之一[1]。
目前我國農業信息化發展迅速,取得了卓越的成績[2]。然而,面對網絡環境下海量的農業信息資源,如何合理高效共享與開發利用這些資源顯得越來越重要。由于全國各地區農業信息化水平的發展不平衡,每個地區在建設農業信息網站時,會形成獨立的信息系統,這些信息系統在開發語言,部署平臺,通信協議以及數據格式等方面存在著較大差異,系統之間缺乏連通性和互操作性,信息資源不能及時共享利用,造成了資源的極大浪費[3]。因此,異構農業信息共享作為農業信息化發展首要問題,迫切需要獲得很好的解決。
要實現不同地區的不同類型農業網站之間農業信息的共享,就需要建立一種新的機制,讓不同應用上的異構消息能夠交互傳輸[4]。Web服務的出現為異構系統間的通訊提供了一個契機,Web服務是一種新的面向服務的體系架構(SOA)[5],各個農業信息站點能夠將與自己業務相關的應用接口發布到Internet上,并被其他信息站點通過一定的協議和標準進行檢索、調用,以完成基于Internet的互操作,它是實現基于互聯網的分布式異構系統應用集成時方便快捷的方案。由于Web服務具有完整封裝性、協議規范性、松散耦合性以及高度可集成性等優點,本文將利用Web服務技術,給出一種實現農業信息共享集成框架的實現方案。
1 基于Web服務的農業信息共享系統設計
1.1 整體框架設計
農業信息共享平臺整體框架結構如圖1所示。對于該平臺而言,農業網站內部事務不是它所要考慮的范疇,它主要涉及各農業網站之間信息共享。共享平臺中包括農業信息網站間的Web服務代理,虛擬數據中心和UDDI注冊庫。該信息共享平臺中可以存在多個數據中心,這些數據中心按照信息區域劃分,每個數據中心上可以與多個農業信息站點通過Web服務交互,從而讓他們能夠自由的共享信息而不必理會信息和系統的異構性。各個數據中心在UDDI注冊庫上均有詳細記錄,并可以通過Web服務相互交互。

1.1.1 信息代理
建立農業信息代理是構建農業信息共享平臺的前提,目前存在的農業信息站點內部會存在很多的遺留系統,信息代理是在各種遺留系統基礎上通過Web服務技術封裝建立的對外應用接口,這些接口通過WSDL語言進行統一描述,并在UDDI注冊庫中進行注冊,信息代理與數據中心之間通過UDDI注冊庫發現對方,使用SOAP消息動態按需的進行異構數據交換和遠端異構系統的互操作,實現跨平臺、跨地域的應用程序間的應用到應用的集成。在農業信息共享平臺中,信息代理既是服務提供方,也是服務請求方。它的主要功能包括:將本系統內的業務邏輯封裝成Web服務,向UDDI提交自身信息并發布服務,向其他信息站點查詢需要的Web服務并提交調用請求等等。
在信息共享平臺中,農業信息資源的更新按照引起信息更新對象的不同分為主動傳送和被動傳送兩種方式,由信息代理的不同組件進行。主動傳送方式是指當農業信息站點內容變更時,信息代理主動調用數據中心的Web服務,向其發送變更內容,從而達到信息資源共享。被動傳送方式是指在數據中心調用系統Web服務情況下,啟動內部服務,將更新的信息數據發送給調用方站點,從而達到信息資源共享。
信息代理包含的軟件組件有:服務查詢和調用模塊,信息格式轉換模塊,信息傳輸模塊,服務分類管理工具,服務安全模塊,代理屬性配置工具,日志管理模塊等。
1.1.2 數據中心
數據中心是平臺的核心部分,它既是提供服務協調,進行各種服務的規劃管理,集成各種Web服務的服務倉庫,同時也是存儲各種信息數據,進行數據深層開發,對外共享信息資源的數據系統。數據中心在信息共享模型中的角色是向其他數據中心提供信息數據,管理信息代理,向信息代理提供傳送各種異構消息的通道,提供用于信息檢索的Web應用程序。因為UDDI不能提供分布式查詢,也不提供信息的獲取和表示,所以我們依靠數據中心為平臺的用戶提供這些服務。例如,每個信息區域中所有信息代理位于同一個數據中心下,這將有助于提高信息檢索的效率和精度。因此,每個數據中心都是一個信息資源庫,各數據中心相互聯系,成為一個分布式的信息資源共享系統。
最終用戶在登陸某個數據中心的Web應用程序后,可以向數據中心輸入所需農業信息的相關查詢條件來檢索需要的農業信息數據。數據中心根據這些條件以及對用戶身份的判斷,首先搜索本地數據庫中符合條件的信息數據,同時索引出能夠提供該農業信息的所有相關數據中心以及相關Web服務,再向UDDI注冊庫進行明確的服務查詢。在獲得UDDI注冊庫對Web服務的定位后,向相應的一個或者多個數據中心請求實際的Web服務操作。當所有信息結果獲取后,數據中心按相應標準對結果進行信息的集成,例如形成一個標準XML文檔格式進行傳輸。
為了保證各數據中心信息的時效性和準確性,在信息更新的過程中通過兩種方式實現:1)當信息代理更新信息數據后會采用主動傳送方式向數據中心傳輸更新信息;2)數據中心采取定期對信息代理進行輪詢方式,此時信息代理會采用被動傳送方式進行信息的傳遞。由于信息代理、數據中心或物理網絡可能會出現故障,通過這兩種手段保證了當故障恢復后數據中心與信息代理之間仍能保持信息數據的一致性。
同時為了保證農業信息的可靠性,在選擇信息代理時我們需要選擇可靠的農業信息網站,只有被允許的信息代理才可以調用數據中心的Web服務更新數據,這一過程通過SOAP協議的身份認證的功能來實現,同時只有被選擇的信息代理,數據中心才會去輪詢它們。
數據中心所包含的組件有:信息區域管理模塊,服務查詢和調用模塊,用戶識別模塊,信息數據管理模塊,信息集成和分析模塊,數據傳輸模塊,查詢管理工具等等。
1.1.3 UDDI注冊庫
UDDI注冊庫用來注冊平臺上各個數據中心以及信息代理所提供的Web服務,在本系統平臺中我們為數據中心和信息代理架設專用的UDDI服務器。在系統中最主要的服務類別有信息更新傳遞服務和信息查詢獲取服務兩類。因為要求信息活動的自動化,因此這兩類服務的查找和定位要自動完成。為了保證信息代理和數據中心向UDDI發布服務,服務器上提供了服務自動發布模塊以供遠程調用;為了能自動查找和定位服務,服務器提供服務查找模塊;為了讓用戶刪除和修改自身提供的服務而給出的服務變量模塊;另外也提供服務管理工具等等。
1.2 Web服務封裝實現
農業信息網站在提供Web服務時,基于原功能模塊包裝成的Web服務稱為Web Service Wrapper。一個Web Service Wrapper是一個獨立的功能模塊。被Web服務器直接調用實現需求的是它,而并非原有的程序或系統。Web Service Wrapper實現了對遺留系統的封裝,隱藏了它們的復雜實現,同時也保證了它們的功能不受影響。當Web Service Wrapper收到調用它的 SOAP消息時,它將接受并解析這個SOAP消息,接著執行相應的Web Service方法(即原有應用程序暴露出來的某一個功能)。
開發或包裝Web服務十分方便,可以使用任何一個支持Web服務的開發工具,如.NET、Java、Delphi等。這里只給出了如何使用Visual Studio.NET實現將已有程序的功能包裝成一個Web Service Wrapper的方法。例如,農業信息網站系統中有一個統計成本的 Calculate_Sum(int GoodID)方法,根據商品編號查詢信息庫中該商品的單價及數量來計算價格總額,它屬Goods類,返回的是一個數據集。可以將其功能包裝成Web服務,過程如下:
首先在Visual Studio.NET中新建一個Web Service項目My WebService,然后將要用到的DLL通過\"添加引用\"導入到項目My WebService中。在MyWebService.asmx.cs文件中調用Calculate_Sum()方法,代碼如下:
[WebMethod]
Public DataSet MyCalculate_Sum(int GoodID)
{
DataSet MyDataSet=new DataSet();
Goods MyGood=new Goods();
MyDataSet= MyGood.Calculate_Sum(int GoodID);
return MyDataSet;
}
編譯后,VS.NET將自動生成相應的WSDL文件。至此就為一個Web服務方法得到了一個Web Service Wrapper。
2 結束語
基于XML的Web服務技術是在已有的網絡分布式技術上提出的新理念,主要是滿足基于網絡環境下分布式應用的松散耦合與集成,使農業信息網站可以方便快捷地集成現有的應用和部署新的應用。通過系統應用集成實現數據集成,可以實現數據的分布式部署,也可以實現數據的集中部署和集中管理,既可以保持同構系統內部的體系獨立完整,又能實現異構系統互相通信集成而構成整體的共享系統。
本文的創新在于將Web服務技術引入農業信息共享體系,針對農業信息化現狀,給出了適合農業信息實際情況的信息共享系統的開發方案,并給出了具體的系統結構和實現方法,對于農業信息共享系統研究與應用有一定的參考價值。
參考文獻:
[1]劉慧濤,李會龍,劉金銅,等,網絡農業信息資源共享與開發利用研究[J].農業工程學報,2005,21(6):105-109.
[2]Gudivada V N. Information retrieval on the World Wide Web[J]. IEEE InternetComputing, 1997,1(5):58-68.
[3]李云強,王玉松,徐艷.利用 Web Services 實現鐵路企業信息共享框架[J]. 微計算機信息,2006,9-3:50-51
[4]施佺.基于 Web Services 的分布式異構系統應用集成的研究[J].微計算機信息,2005,7- 3:136- 138
[5]吳文明,瞿裕忠,董逸生.Web服務及相關技術[J].計算機應用與軟件,2004,21(3):14-15
收稿日期:2008-03-27
基金項目:青島市科技局基金項目 (04-3-pt-04)
作者簡介:時鴻濤(1981-),男,陜西西安人,碩士研究生,計算機應用專業,研究方向為Web應用與計算機網絡。