基于ASP.NET Web API框架的校园一卡通手机客户端研究

2014-10-14 09:28:48韩立峰
计算机与现代化 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 功能设计

手机客户端在功能上分为基础模块、信息服务模块、管理端、缴费模块、一卡通模块等几大模块。基础模块的功能包括认证登录、应用更新、系统设置等。信息服务模块的功能包括平台通知、个人信息、留言板、重要信息推送等。管理端可以使系统管理员能够对功能菜单、权限、用户进行统一的管理。一卡通模块的功能包括账户信息、流水的查询,校园卡挂失、解挂、修改密码、关联银行卡向校园卡的转账等。缴费模块功能包括电费缴纳、网费缴纳、考试报名费缴纳等,也支持缴费记录的查询。图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.

猜你喜欢
校园卡服务端一卡通
移动支付在校园卡自助补换卡业务中的实现——以潍坊学院为例
高校中冒用他人校园卡法律定性问题研究
法制博览(2019年18期)2019-12-15 21:12:28
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
消费导刊(2018年8期)2018-05-25 13:19:48
浅谈拾卡后盗刷校园卡的行为定性
法制博览(2018年4期)2018-01-22 15:02:52
在Windows Server 2008上创建应用
基于“一卡通”开发的员工信息识别系统
电子制作(2016年19期)2016-08-24 07:49:44
向心加速度学习一卡通
向心加速度学习一卡通
一卡通为新农合基金加密
中国卫生(2014年2期)2014-11-12 13:00:18