?

基于ASP.NET Web API框架的校園一卡通手機客戶端研究

2014-10-14 09:28韓立峰
計算機與現代化 2014年9期
關鍵詞:校園卡服務端一卡通

韓立峰

(中國石油大學(華東)網絡及教育技術中心,山東 青島 266555)

0 引言

當今移動網絡技術飛速發展,智能手機迅速普及,手機成為必備工具。隨時隨地上網,充分利用碎片化時間獲取信息、處理事務,符合用戶的習慣。手機客戶端是接入移動互聯網的最佳方式[1],如果開發與“校園一卡通”深度融合的手機應用,將體系龐雜的“校園一卡通”應用轉化為手機上個性化、情景化的應用,將給校園卡師生用戶帶來極大的方便。

隨著2009年3G的啟動,我國移動互聯網進入高速發展階段,并迅速成為新的媒體傳播平臺、電子商務平臺和公眾娛樂平臺。移動互聯網既具有互聯網特征,又具備智能化和移動化特征,具有極強的生命力[2]。據易觀國際統計,截止2013年12月,中國移動互聯網網民達到6.52億[3];中國銀行業協會發布的報告,2013年移動支付金額達到9.64萬億[4]。智能手機的2大主流平臺是 iOS(iPhone)和 Android[5-6],手機客戶端大都基于這2個平臺開發。蘋果Apple Store目前有100萬余款iOS設備上的應用;Android作為開放平臺,其應用也接近這個數量。大眾非常熟悉的手機應用微信[7],用戶數已突破6億。

我校一卡通目前已廣泛應用于學校教學、管理、生活的方方面面,除了餐廳就餐、浴室洗浴、超市購物、宿舍門禁等傳統應用,還對各類校園應用進行了面向一卡通的集成[8],通過調用一卡通系統第三方接口,實現基于一卡通的身份認證和電子支付。目前與一卡通對接的應用系統有圖書管理、醫院管理、機房管理、大學生體測、刷卡采集照片、刷卡自助打印等,真正實現了“一卡在手,走遍校園”。同時也建設了一卡通網上服務平臺[9],除了傳統的通知公告、流水查詢、掛失解掛等功能,還提供了一卡通網上充值轉賬以及網上支付的功能,網絡計費、宿舍電費、四六級考試報名等系統通過調用服務平臺提供的Web-Servcie接口,就可實現基于一卡通的網上支付。如果利用移動互聯網技術,開發一卡通手機客戶端,將一卡通有關的個人業務移植到移動終端(如智能手機)上,將極大方便用戶的辦理,改善用戶的服務體驗。

1 校園一卡通手機客戶端的總體設計

1.1 建設目標

一卡通手機客戶端首先要實現與一卡通系統的交互,提供校園卡有關的各項服務功能,如流水查詢、掛失解掛、轉賬充值等;其次要與一卡通網上服務平臺通信,獲取服務平臺的通知公告、個人消息等;還要與網費、電費等繳費業務系統對接,實現手機移動支付的功能;最后要實現多終端的覆蓋,支持iOS、Android、其他手機系統使用WebApp訪問。

1.2 應用架構及部署方案

圖1 手機客戶端的應用架構

如圖1所示,手機客戶端系統包含手機服務端和手機端2部分。手機端安裝運行于用戶的智能手機,是用戶操作的界面;服務端負責業務處理,并將結果返回手機端。手機服務端處理一卡通有關的業務,需通過一卡通接口網關,調用一卡通有關接口實現相應功能,包括校園卡賬戶查詢、流水查詢、掛失解掛、銀行轉賬等。手機服務端還需要調用一卡通網上服務平臺提供的Web Service接口,獲取通知公告、個人消息等,展示在手機端。同時手機服務端還需要和網費、電費等收費系統進行對接,實現手機繳費的功能。

手機服務端作為手機客戶端的接口提供方,充當網關適配器的角色。手機服務端對客戶端提供規范的接口,同時與各個系統對接,集成各系統的數據和功能,在手機端上統一展現。一個客戶端App就可集成學校各系統應用,成為校園移動互聯網掌上門戶。

手機端采用Native開發模式,開發了Android系統手機客戶端和iOS系統手機客戶端,為主流手機提供優質的用戶體驗,同時開發WebApp[10]為其它系統手機提供對應的服務,覆蓋所有手機人群。

圖2是手機客戶端系統部署的拓撲圖,服務器部署在校園網上,包含一臺應用服務器、一臺數據庫服務器和一臺網關服務器,系統通過網關服務器與一卡通專網連接,完成與一卡通系統和一卡通網上服務平臺的通信。

圖2 手機客戶端系統拓撲圖

1.3 功能設計

手機客戶端在功能上分為基礎模塊、信息服務模塊、管理端、繳費模塊、一卡通模塊等幾大模塊?;A模塊的功能包括認證登錄、應用更新、系統設置等。信息服務模塊的功能包括平臺通知、個人信息、留言板、重要信息推送等。管理端可以使系統管理員能夠對功能菜單、權限、用戶進行統一的管理。一卡通模塊的功能包括賬戶信息、流水的查詢,校園卡掛失、解掛、修改密碼、關聯銀行卡向校園卡的轉賬等。繳費模塊功能包括電費繳納、網費繳納、考試報名費繳納等,也支持繳費記錄的查詢。圖3是手機客戶端的功能模塊圖。

圖3 手機客戶端功能模塊圖

2 校園一卡通手機客戶端的軟件實現

2.1 手機服務端實現

手機服務端程序基于.NET框架開發,采用了ASP.NET Web API[11-12]的模式,它是一種 REST[13-14]風格Web服務程序的新框架,用于創建連接瀏覽器、移動設備等多種客戶端的HTTP服務。在REST架構中,對于資源的操作通過 HTTP的 GET、POST、PUT、DELETE四種方法實現,簡單靈活,已經成為目前最主要的 Web服務設計模式。ASP.NET MVC 4[15-16]中包含了 Web API的模板,在 MVC 設計模式中,應用程序被分成3個核心組件即模型(Model)、視圖(View)、控制器(Controller),它們各自處理自己的任務。視圖是展現頁面,在MVC設計模式中,界面展示與業務邏輯分離;業務流程和數據的處理由模型部分完成;控制器負責用戶的交互,將視圖接收的請求交給模型處理,并將處理結果返回視圖。在Web API的框架中,應用程序包含模型和控制器部分,但沒有視圖,返回客戶端的是數據。

根據應用架構中所述,手機服務端需要完成2部分功能:1)調用一卡通系統及一卡通網上服務平臺的Web Service接口,實現校園卡有關的功能;2)封裝Web API接口,接受手機端的請求并將處理結果返回手機端。

2.1.1 手機服務端定義的模型

在手機服務端程序中,模型就是為需要操作的一卡通數據定義的類。ASP.NET Web API能夠自動序列化模型為JSON或者XML格式,然后將序列化的數據寫入HTTP響應信息體里,由客戶端解析得到相應數據。根據需要,筆者定義了卡信息模型CardInfo、流水信息模型TrjnInfo、卡消息模型CardNotice等,舉例說明如下:

2.1.2 手機服務端對一卡通WebService的調用

一卡通系統提供了一整套實現校園卡管理的Web Service接口,手機服務端程序對它們進行了引用,對應的代碼文件為SynCardService.cs。代碼文件中定義了若干方法,包括銀行卡向校園卡轉賬、修改查詢密碼、獲取校園卡信息等。手機服務端將在響應客戶端請求時,調用這些方法實現校園卡有關功能。

2.1.3 手機服務端定義的控制器及方法

控制器是程序中負責處理HTTP請求的部分,控制器中定義的方法用來匹配HTTP請求的方法。Web API中控制器繼承自ApiController類,對于每一個HTTP請求,ASP.NET Web API框架通過路由表決定由哪個控制器處理請求。路由表中的路由形如/api/{controller}/{action},{controller}對應控制器,{action}對應控制器方法。在手機服端程序里,定義了CardController和NoticeController兩個控制器,前者定義了與card信息查詢、流水查詢、轉賬等有關的方法,后者定義了與通知消息有關的方法。下面列舉CardController及其方法定義的代碼。

2.2 手機端實現

手機端向服務端發送HTTP請求,服務端返回JSON[17]格式的數據。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它基于JavaS-cript的一個子集,采用完全獨立的文本格式,是一種理想的數據交換語言。以Android客戶端為例,程序使用系統自帶工具類org.Json對JSON數據進行解析處理。按照ASP.NET Web API框架的約定,HTTP請求的 URL樣式為/api/{controller}/{action},{controller}用來匹配控制器名稱,{action}用來匹配方法名稱。以獲取“校園卡基本信息”為例,代碼如下:

3 應用

手機客戶端的統計分析功能可以對用戶數、業務量以及各功能的訪問量進行統計。如圖4所示,手機客戶端上線2個月以來,累計有690個用戶下載使用,成功轉賬筆數1260;各功能模塊的訪問量中,登錄總量6012次,當日流水查詢1668次,賬戶查詢3518次,校園卡掛失60次,修改密碼73次,通知公告592次。

圖4 使用情況統計

4 結束語

校園一卡通手機客戶端的應用,使校園卡應用從PC端擴展到了移動端。它與校園卡網上服務平臺一起構建了從網上充值、網上支付到移動充值、移動支付的完備的校園卡自助服務體系,極大地方便了用戶的業務辦理,提升了校園卡的應用水平。

[1]易觀國際.中國移動 SNS用戶調研報告2009[DB/OL]. http://www.doc88.com/p-18360796488.html,2014-06-27.

[2]趙慧玲.移動互聯網的現狀與發展方向探索[J].移動通信,2009(1):58-61.

[3]易觀智庫.2013年中國移動互聯網統計報告[DB/OL].http://www.eguan.cn/download/zt.php?tid=1979&rid=1988,2013-12-24.

[4]楊再平.2013年度中國銀行業服務改進情況報告[R].中國銀行業協會,2014-03-15.

[5]Developers A.What is Android[DB/OL].http://developer.android.com/guide/basics/what-is-android.html,2014-06-27.

[6]佘建偉,趙凱.Android 4高級編程[M].第3版.北京:清華大學出版社,2013.

[7]黃金萍,莊明浩,和菜頭.《微信》是如何飛起來的[J].計算機應用文摘,2012(7):48-49.

[8]韓立峰.基于校園一卡通的校園應用集成[J].信息技術,2011(12):104-106.

[9]韓立峰.校園一卡通網上自助服務平臺[J].科技信息,2012(29):130-131.

[10]陳勇.Web App現狀分析及展望[J].通信與信息技術,2012(4):77-78.

[11]MSDN Library.ASP.NET Web API參考[DB/OL].http://msdn.microsoft.com/zh-cn/library/hh833994(v=vs.108).aspx,2014-06-27.

[12]Jon Galloway,Phil Haack,Brad Wilson,et al.ASP.NET MVC 4高級編程[M].第4版.北京:清華大學出版社,2013.

[13]潘冰.面向資源的RESTfulWeb應用研究[J].微計算機應用,2010,31(7):38-43.

[14]楊濤,丁一鈞,劉峰,等.基于REST的C/S軟件體系結構研究[J].電腦編程技巧與維護,2012(22):4-5,19.

[15]林慶,朱翠苗,鄭廣成,等.基于ASP.NET的MVC設計模式的研究[J].計算機工程與設計,2008,29(1):167-169.

[16]周文紅.基于 ASP.NET MVC框架的 Web應用開發[J].計算機與現代化,2013(10):197-198.

[17]屈展,李嬋.JSON在Ajax數據交換中的應用研究[J].西安石油大學學報(自然科學版),2011,26(1):95-98.

猜你喜歡
校園卡服務端一卡通
移動支付在校園卡自助補換卡業務中的實現——以濰坊學院為例
高校中冒用他人校園卡法律定性問題研究
云存儲中基于相似性的客戶-服務端雙端數據去重方法
新時期《移動Web服務端開發》課程教學改革的研究
淺談拾卡后盜刷校園卡的行為定性
在Windows Server 2008上創建應用
基于“一卡通”開發的員工信息識別系統
公共交通一卡通TSM平臺研究
向心加速度學習一卡通
一卡通為新農合基金加密
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合