[摘要] 本文提出一種在開放式環境下,用Web服務技術來實現適用于現代物流企業管理的分布式信息系統,并結合實例說明了其部分功能的實現方法和調用過程。該方案很好地滿足了現代物流企業業務分散處理的需求,提高了大型物流企業組建企業信息系統的效率和質量。
[關鍵詞] Web服務 物流信息系統 分布式
一、引言
現代物流管理是不同于運輸和物資管理等學科的新興學科,是關于運輸、倉儲、裝卸、搬運、包裝、配送、流通加工、物流信息等環節的綜合化、一體化,是一套全新的理論方法體系。隨著計算機及網絡技術的不斷發展使現代物流信息化已經成為我國經濟發展的新熱點。隨著物流信息化的不斷深入,現代物流企業使用的軟件及擁有的內部系統也越來越繁雜,如在線查詢系統、電子辦公系統、財務管理等。這些系統之間相互交叉,有著大量重復的信息和數據,但相互之間卻不能進行暢通的信息交流與共享。另外,企業之間的合作要求日益加劇,然而不同的企業往往擁有著異構的信息系統,導致企業間信息的交互和系統間的相互操作非常困難,從而出現了企業間電子商務發展的瓶頸。通過使用Web服務,現代物流企業能夠以前所未有的方式通過抽象和混合將自身的信息和事務組件化,很好地解決了系統集成問題,規范了現代物流企業內部的信息編碼,整合了各種應用系統中的數據。
二、引入Web服務的意義
我們知道,Web服務是用以支持聯網協同計算機進行交互的軟件系統,具有聯網計算機可以處理的格式化接口(通常WSDL)。其他系統按照規定方式以SOAP消息與Web服務進行交互,典型的是使用XML通過HTTP與其他Web相關標準相連。
Web服務正是被設計和用來促進跨平臺的程序對程序通信。它能夠為現代物流企業提供適應于Internet的應用。新架構下現代物流信息系統可以為異構系統提供服務,提高系統可擴展性,解決傳統物流信息系統的功能缺陷,將企業的資源管理擴展至整個Internet。
三、系統設計與實現
1.現代物流信息系統架構
如圖1所示,基于Web服務的現代物流信息系統包括以下組成部分:
(1)基本物流信息系統。用戶可以直接使用的軟件系統。該系統由B/S和C/S架構實現,以B/S為主,運行在大型物流企業的LAN或VPN上,其安全等網絡性能由企業網管負責維護。
(2)Web服務提供層。它是整個現代物流信息系統的基礎和核心,實現為企業用戶提供個性化服務所涉及的所有服務。一旦所有與業務邏輯有關的對象都在數據庫和業務邏輯層中正確地創建,Web服務就可以通過各種方式訪問這些業務邏輯,從而使得分布式應用程序可以透明地訪問業務邏輯,為各個同構或異構的系統進行交互,并為授權的系統提供服務。
(3)UDDI(統一描述發現和集成)注冊中心。很多Web服務需要發布到Internet上才能為用戶所獲取和使用。UDDI注冊中心接受Web服務的發布申請,并接受使用者的查詢。
(4)用戶認證模塊。它是Web服務安全保障的基礎。通過數字證書加密的HTTPS訪問和相關算法機制可以確保基于Web的系統足夠安全。
(5)請求響應代理。該模塊負責交互通信的雙向轉換,一邊是從HTTP/HTTPS請求中提取Web服務的SOAP消息,將其轉換為遠程過程調用(RPC)效用并執行它;一邊是將RPC調用轉換為符合WSDL文件描述的響應SOAP消息,并將這個消息包裝成HTTP/HTTPS響應。
2.數據表示層設計實現
數據表示層解決的是數據的表示方式的問題,也就是通常的O-RMap的問題。O-RMap通常的做法是將程序中的類映射到數據庫的一個或多個表上。在數據實體的表現上采用了DataSet,DataSet是微軟在ADO.NET中新提出的數據對象,同ADO的Recordset不同的是,它能夠容納多個記錄集。DataSet類似于一個內存數據庫,由多個DataTable組成,而一個DataTable又有多個Column。這樣的結構,使得它可以同數據庫很好地進行映射。
因此,在具體開發過程中我們進行了如下處理:
(1)核心類庫定義一個EntityData類,這個類繼承了DataSet,并添加了新的方法,用來作為所有實體類的框架類,定義各個實體類的一般結構,至于每個實體類具體的結構,在運行時刻確定。
(2)實體類的定義通過XML文件來確定,用于確定實體類的結構。
(3)實體對象的結構由一系列的類構造器在運行時刻,根據上述規范制定的XML來自動生成。
在實際的系統中,數據表示層采用這種設計模式具有以下優點:
(1)實體類定義XML文件可以通過工具來自動生成,顯著減輕了開發工作量。
(2)在執行查詢操作時,不論是返回一個實體,還是多個實體,數據的表現方式都一樣,都是EntityData,而不存在單個對象和數據集的表現方式不統一的問題。在修改實體類的定義時,如果修改的部分不涉及到業務邏輯的處理,只需要修改XML文件就可以了,不用修改其他程序和重新編譯。
3.Web服務的發布和調用
企業及其成員根據功能需要開發并完成Web服務的部署后,要將其統一注冊到企業UDDI注冊中心,注冊內容包括Web服務的訪問入口描述和他的WSDL文檔的訪問信息。
下面以普通物流服務中查詢貨物移交任務列表為例來簡單說明Web服務的調用(如圖2所示),前提是該Web服務已經在物流企業UDDI中心注冊。
當某用戶訪問企業信息系統并遞交查詢貨物移交任務的請求后,企業應用服務器經查詢UDDI注冊中心獲得符合需求的Web服務的訪問位置和綁定信息;此時,應用服務器通過一個Web服務的SOAP代理類來訪問該Web服務,這個代理類根據查到的WSDL文檔生成對應的代理對象;代理類把客戶的請求組成SOAP消息并向Web服務發送,該服務接到請求后調用GetList方法,依上述服務器端代碼所示依次通過數據庫連接connection和數據適配器adapter的Fill方法打開貨物移交列表Goods_Transfer并進行查詢,最后把結果加載到數據集DataSet中返回;企業服務器獲取結果數據集后通過GridBind操作綁定到相應控件上并將最終結果顯示給用戶。
這里,企業應用服務器扮演了服務請求者的角色,而企業內部Web服務和其他原有實體系統統一在Web服務提供層中扮演了服務提供者的角色,其中,若是原有的實體系統,首先需要將其封裝成WebService組件。
四、結論
為了實現現代物流企業的分布式應用系統,采用基于Web服務技術的分布式解決方案,其核心是實現與發布面向業務邏輯的Web服務,使Web服務的實現細節對用戶透明化,充分利用開放的網絡環境,大大減輕建立和部署分布式企業業務應用系統的工作量,使專業開發人員把精力集中在業務邏輯應用的開發上,從而提高軟件開發的效率和質量。在提高系統通信保密控制方面,可考慮通過在數字證書保證下的加密傳輸,用戶的認證和授權以及用戶和Web服務端間的數據完整性和機密性進行確保。總之,我們有理由相信Web服務有著美好的發展前景,在跨平臺數據共享的設計和開發中將發揮越來越重要的作用。
參考文獻:
[1]李會太:現代物流管理的八大核心思想[J].企業管理 , 2007,(03)
[2]陳傳波張道杰李濤:基于Web服務的企業應用集成模型研究[J].計算機工程與科學, 2004,(12)