張贊波
(廣東輕工職業(yè)技術學院計算機工程系,廣東 廣州 510300)
Web服務技術的案例教學
張贊波
(廣東輕工職業(yè)技術學院計算機工程系,廣東廣州510300)
Web服務在網絡通信和網絡數據傳輸中得到廣泛應用。在高職高專的應用開發(fā)課程中,我們以某市海關電子卡口系統(tǒng)的升級為案例,說明Web服務的原理與應用,并以該系統(tǒng)Web服務模塊的模擬程序作為實訓任務,引導學生進行Web服務開發(fā)的實踐,取得了良好的教學效果。
Web服務;教學設計;教學案例
Web服務是指為一些功能提供接口,使得它們可以被Web上的另外一些程序訪問和使用的一種技術[1]。同時,Web服務亦可以理解為能夠通過網絡使用的自包含的軟件模塊。Web服務是基于“軟件即為服務”的理念發(fā)展起來的新技術[1]。在應用服務提供商軟件模型中,應用服務提供商(Application Service Provider)將軟件以及相關的要素作為一個整體解決方案打包,提供給用戶作為一個服務來訂閱。相比于Web應用程序,Web服務具有更高的靈活性,具有更強的自我描述能力,為應用服務提供商提供了更靈活的解決方案。
Web服務技術可以作為分布計算的一個基礎,其核心功能可以理解為網絡上的數據傳輸。它能使運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數據或集成[2]。隨著互聯(lián)網的發(fā)展,企業(yè)網絡化的日漸成熟,為了降低成本和提高效率,企業(yè)與企業(yè)之間的集成日益增加,通過Web通信的需求不斷增長。而在單個企業(yè)的內部,系統(tǒng)和應用程序越來越多地使用分布式架構,多個模塊之間也經常需要通過互聯(lián)網連接,這同樣造成了Web通信的需求。借助傳統(tǒng)的通信協(xié)議,例如Socket編程等,能夠解決Web通信的部分問題。但是存在諸多的局限性,如難以解決跨平臺和通用性問題,在靈活性和可集成性方面也不如Web服務。因此基于Web服務的Web通信越來越受到重視并被廣泛應用。
在高職高專的應用開發(fā)教學中,我們指導學生開發(fā)多種類型的應用,包括桌面應用、Web應用和移動應用等。由于Web服務的重要性,我們也將Web服務的教學引入到.NET的課程中。主要通過實訓課上結合案例教學講解。
在高職計算機專業(yè)課程的教學中,我們堅持與企業(yè)的緊密聯(lián)系與合作。從專業(yè)方向的選擇、教學計劃的制定、課程的設置等方面,我們均參考相關企業(yè)近年的發(fā)展趨勢,以及其對人才技能的需求來進行。而授課內容的具體設計,我們也經常采用企業(yè)的一些實際項目作為理論或實踐教學的借鑒。對Web服務的教學,我們參考了廣州市某公司開發(fā)的某市海關電子通關系統(tǒng),采用其中的Web服務通信模塊,根據我們授課的需要對其進行一些修改以后,作為理論講解和實訓項目。
為使得其電子卡口系統(tǒng)兼容散貨業(yè)務,某市海關擬參照當前流行的技術規(guī)范,對海關總署電子卡口系統(tǒng)進行改造與升級。
升級后的海關電子卡口系統(tǒng)的網絡結構如圖1。系統(tǒng)分為“場所端卡口”和“海關端卡口”兩部分。場所端讀取通關車輛和貨物數據,送往海關端。海關端前臺通過卡口控制器采集數據以后,送往總關電子卡口管理服務器,通過服務器的業(yè)務邏輯進行判斷,最后決定是否放行,將相關的信息通過卡口控制器返回給電子欄桿。

圖1 電子卡口系統(tǒng)結構
“場所端卡口”和“海關端卡口”局域網之間物理隔離,相互不能直接訪問。兩部分卡口系統(tǒng)通過RS232串口通訊的方式進行信息交換。
前端采集和后臺卡口管理服務之間原來采用Socket通訊方式。根據系統(tǒng)升級的需求,采用Web Service方式取代Socket通訊實現前端采集和后臺卡口管理服務間的數據傳輸,見圖2。Web Service服務部署在總關電子卡口管理服務器上,實時響應各個現場前端采集的服務請求。

圖2 電子卡口系統(tǒng)升級示意圖
我們采用電子卡口系統(tǒng)的Web服務模塊作為教學案例。在理論教學中,我們介紹整個電子卡口系統(tǒng),并重點介紹Web服務模塊。結合這個實例來講解Web服務的原理及其應用。由于有實際案例,學生通過學習Web服務在整個電子卡口系統(tǒng)中所處的地位和所起的作用,能更深入理解Web服務的應用。
在實訓環(huán)節(jié)中,我們要求學生實現該Web服務。由于在課堂和實驗室中并不具備系統(tǒng)的硬件設備,所以我們的目標是以程序模擬電子卡口系統(tǒng)的Web服務數據傳輸模塊。該模塊由兩個部分組成,其中一部分為卡口管理服務器上Web服務的服務端,另一部分為卡口工控機中調用Web服務的軟件模塊。
在卡口管理服務器端實現Web服務。該Web服務接收采集服務發(fā)送來的數據,錄入數據庫,根據業(yè)務邏輯判斷是否放行,產生欄桿抬降信號,返回給采集服務。
在卡口工控機端,采用多線程模式模擬一個輸入模塊。以用戶輸入代替通過RS232串口通訊讀入的通關數據。當有數據輸入,該模塊調用服務器端的Web服務程序,通過該Web服務實現數據錄入總關數據庫和判斷是否放行的功能。通關的結果輸出到模擬程序的屏幕。
由于Web服務的數據可經過互聯(lián)網傳輸,對于安全性提出了需求。我們在實訓練習中參考原系統(tǒng)提出了以下的安全性需求:(1)對通過Web服務傳遞的前端采集數據及回執(zhí)數據應當采取必要的加密及壓縮處理。(2)對Web服務請求的合法性要做必要的判斷,過濾非法的Web服務調用(控制的方式可以考慮IP訪問控制、客戶端密鑰控制等一種或多種)。
在理論課上,結合海關電子卡口系統(tǒng),我們介紹了Web服務的原理及其應用。我們進一步設計了實訓任務,實現對電子卡口系統(tǒng)Web服務模塊的模擬。包括對Web服務的服務器端和系統(tǒng)前端數據采集模塊的模擬。在實訓中,學生以三至四人為一個小組,完成系統(tǒng)分析與設計的相關文檔,以及模擬程序開發(fā)。
由于有典型的案例,學生容易理解Web服務相關的抽象概念。同時,對Web服務的實際應用有更深刻的印象。在實訓過程中,大部分小組能夠順利完成模擬程序的開發(fā)、調試與測試。課程教學效果良好。
[1]M.P.Papazoglou,龔玲,張云濤譯.Web服務原理和技術[M].北京:機械工業(yè)出版社,2013.
[2]J.Bustos,K.Watson,侯彧譯..NET Web服務入門經典——C#編程篇[M].北京:清華大學出版社,2003.
Web Service Case Teaching
Zhang Zanbo
(Department of Computer Engineering,Guangdong Industry Polytechic,Guangzhou 510300,Guangdong)
Web service is widely used in network communication and network data transfer.In the application development courses of higher vocational college computer specialty,we use a customs electronic checkpost system as a case to illustrate the principle and application of Web Services.We further assign the task of simulating the Web services modules of the system for practical training.The teaching effect is good.
Web service;teaching design;teaching case
G424.2;G642.4
A
1008-6609(2016)06-0011-02
張贊波,男,廣東潮州人,博士,副教授,研究方向:圖論和算法。
國家留學基金,項目編號:201508440189;國家自然科學基金,項目編號:11471342;廣東省自然科學基金,項目編號:2016A030313829。