張軍


摘 要:基于SOAP協議的Web Services已經成為網絡應用發展的主流,利用Web Services技術完成組織內部各業務系統異構數據的交換與共享也成為較主流的解決方案。基于此,設計了基于Web Services的數據交換平臺,文章對平臺系統的框架設計做了重點闡述,同時對平臺系統的功能以及具體實現方法做了說明。平臺系統使用Web Services實現對各個不同業務系統之間的數據進行交換與共享,有效提高了系統的擴展性和模塊化程度,同時降低了開發成本,提高了開發效率,對類似系統的建設具有示范及借鑒意義。
關鍵詞:Web Services;數據交換;數據共享
中圖分類號:TP315 文獻標識碼:A
Abstract:As web services based on SOAP protocol has become the mainstream of the development of network applications,the heterogeneous data exchange and sharing among internal business systems through Web Services technology has become a quite commonly adopted solution.A data exchange platform is designed based on Web Services.The paper elaborates on the framework of the platform system,and specifies the functions and the implementation methods of the platform system.Web Services technology is applied in the system to implement the data exchange and sharing among different business systems,which effectively improves the system expansibility and modularity,reduces the development cost,improves the development efficiency,and offers some reference to the construction of similar systems.
Keywords:web services;data exchange;data sharing
1 引言(Introduction)
隨著互聯網技術的發展,很多組織先后構建了滿足不同功能需求的業務管理系統,這些系統大多采用不同的開發技術和數據格式,這就形成了一個巨大的異構數據環境。隨著信息化程度的提高,各業務系統間就會存在各種協議交換和業務流程的關聯,當業務處理過程中所產生的數據不能進行統一的管理,就會出現數據遺漏、不同步、不統一、不實時等一系列問題[1]。
數據交換就是要實現在異構的網絡環境中,不同的操作平臺、不同地方和不同的數據結構,以統一的、標準的數據展現給終端使用者[2];解決各個業務系統間共享數據的一致、實時、安全、準確等問題。為企業提供全局的數據視圖和完善的數據權限管理,讓各種數據能夠互聯互通,從而產生更為完善的信息服務。本文以湖南鐵道職業技術學院數據中心數據交換平臺開發為背景,闡述了利用Web Services等技術實現數據共享與數據交換的基本方法、技術原理和思路。
2 系統設計(System design)
不同業務系統間要實現異構數據的交換主要面臨以下兩個關鍵問題,首先是怎么解決不同業務異構數據源所產生的數據轉換問題,其次是要解決不同業務系統之間的數據傳輸和交互問題。本文采用了Web Services技術來解決數據交換和互操作問題,以期實現多業務系統間異構數據的交流和共享。Web Services是利用SOAP協議傳輸標準的XML數據,采用這種方式使得系統具有良好的跨平臺性[3]。同時,Web Services也具有良好的復用性和擴展性,當組織部署了新的業務系統,需要與原有系統產生數據交換時,只需要在數據交換平臺配置好相關數據源,發布對應的Web Services接口即可,不需要對系統功能及數據庫進行任何的變動。
2.1 Web Services
Web Services采用基于XML協議格式來封裝數據用以在因特網上傳輸,使用SOAP協議來實現訪問服務。這兩項技術的使用使得Web Services具有良好的封裝性和松散耦合,對于使用者而言,只能看到服務的描述,對與調用者來說,Web Services實現的任何操作都是透明的。Web Services也同時具有標準的協議規范以及高度的可集成性等特點[4]。Web Services體系結構主要有服務請求者、服務注冊中心和服務提供者三種角色,交互主要是服務發布、服務查找和服務綁定三種操作。服務提供者完成Web Services的定義和服務的描述并將其發布至服務代理中心,服務請求者先從服務代理中心查找到相關服務的描述,然后根據服務描述完成與服務提供者的綁定,通過SOAP完成服務的調用[5]。圖1給出了Web Services的基本框架結構。
2.2 系統架構設計
數據交換中心采用Web Services技術進行數據操作的封裝,不會對原有業務系統的功能和業務操作產生任何影響,只是將業務系統需要公開共享的數據操作當作一種服務,包裝成Web Services,通過對Web Services的請求和調用來實現業務系統間對數據的交換和共享的需求。數據交換中心的總體結構是采用當前主流的三層B/S架構。B/S結構能夠很好的滿足當前網絡開放、互聯、信息隨處可見的需求,采用WWW瀏覽器技術簡化了客戶端,使用通用瀏覽器就可以實現原來專用客戶端軟件才能實現的強大功能。瀏覽器端僅處理一下簡單的數據展示和交互等相關功能,將系統主要的業務邏輯處理和數據操縱處理移至應用服務器,從而形成了典型的三層分布式框架結構,即展示層、邏輯處理層及數據庫訪問層。
數據交換中心不存儲各業務系統所提供的數據,只提供所發布的Web Services訪問接口和數據定義,用戶或其他業務系統只需要發出服務請求,數據交換中心就能夠根據請求的數據定義獲取數據再返回給數據請求者。當業務系統數據庫中的數據定義或是數據類別發生的變更,只需將相關的Web Services接口進行修改或是增刪,然后重新發布即可,無需對數據交換中心做任何改動,這就實現了系統的松散耦合性,增強了系統靈活性和擴展性。
平臺中數據請求角色(包括用戶和其他業務系統)通過Web Services來實現具體的數據請求操作,Web Services通過數據庫庫訪問層與業務系統目標數據庫完成數據交換,將處理后的數據返回給請求方。結合Web Services的工作原理和機制,圖2展示了三層分布式數據交換平臺的基本框架結構。
3 系統實現(System implementation)
根據前面對平臺系統的結構分析,數據交換平臺采用微軟的ASP.NET技術,使用的開發環境為Microsoft Visual Studio 2012,用C#語言來構造應用程序。為提升系統的界面友好性和交互效果,在平臺系統的應用表示層使用了大量的jQuery庫中相關插件,平臺系統邏輯處理層主要以Web服務的形式組織封裝,功能模塊都被封裝成Web Services發布,供表示層和其他需要數據交換的業務系統調用,大大提高了系統的模塊化程度,簡化了開發難度,提升了開發效率,而且使得系統具有良好的可擴展性和可維護性。下面我們以獲取科研管理系統相關科研數據為例,簡要說明一下Web Services的實現數據交換的過程。科研管理系統主要包括科研項目管理和科研成果管理兩大核心功能,其產生的科研數據和論文數據需要交付給人事管理系統作為師資職稱評定的依據。因篇幅有限,在此僅以獲取教師發表論文數據為例來說明服務的實現。下面提供了Web服務端和客戶端的關鍵代碼和實現過程。
數據訪問層主要采用ADO.NET組件來完成數據庫的連接,數據的檢索和更新操作。ADO.NET提供了多種對象模型來完成的數據源的不同訪問功能,本例使用了SqlDataAdapter對象完成與數據庫的交互。該對象通過Fill方法將數據源數據填充到DataSet或者DataTable中,填充完成后就與數據庫服務器的連接斷開。
上述代碼利用ADO.NET組件構建了一個數據訪問對象,從系統配置文檔中獲取目標數據庫的連接字符串,根據傳遞的參數創建數據查詢語句,然后將數據庫訪問字符串和查詢語句傳遞給數據庫操縱類,完成數據的查詢操作。再由Web Services將查詢結果返回給調用者。因篇幅有限,此處僅展示測試頁面,如圖3所示。
輸入相關參數,即可獲得響應,如圖4所示。
4 結論(Conclusion)
通過該系統的建設能夠全面滲透到組織內部的各項業務管理環節,能夠對各個業務系統構建一個溝通交互的橋梁,并能形成一個實時、高效的數據共享平臺和數據管理中心。通過實踐可以證明,Web Services等技術的應用能夠為信息化建設過程中各業務系統之間的數據共享、交互提供有效的解決方案,消除了信息孤島。該系統目前已經在湖南鐵道職業技術學院實施部署,完成了科研、人事、辦公系統以及資產等數據的交互與共享,系統運行穩定,滿足了各類用戶的需求,達到了數據共享交互的目的,同時對類似系統的建設具有示范及借鑒意義。
參考文獻(References)
[1] 王濤.數據共享與數據交換系統的設計與實現[D].大連:大連理工大學,2015.
[2] 劉嘉.基于XML和Web Services數據交換系統的設計與實現[D].廣州:華南農業大學,2016.
[3] Xiao WX,Liu Z.The Development of Web Service Composition Based on XML Security Models and AJAX Technology.International Journal of Advancements in Computing Technology,2012,4(19):83-90.
[4] 尚龍華,安毅生,張紹陽.基于Web服務的交通數據交換過程[J].計算機系統應用,2015,24(3):260-264.
[5] 郭曉陽.Web Services性能測試方法的設計和實現[D].北京:北京郵電大學,2010.
作者簡介:
張 軍(1984-),男,碩士,講師.研究領域:可信軟件,數據分析與處理.