罗辉琼,梁卓明,何明发
(华南师范大学 网络中心,广东 广州510631)
随着移动智能终端的普及,移动互联网时代的大步迈进,高校用户对移动应用的需求越来越旺盛,校园移动平台的建设已经成为高校信息化建设的一大趋势。目前,越来越多的高校已推出了自己的官方移动应用。[1]华南师范大学为迎接“智慧校园”时代的到来,适时迈出了校园移动应用建设的步伐,于2013年着手建设华南师范大学校园移动开放服务平台(Internetmobile university,IMU)。
目前,业界开放平台(Open Platform)[2],如腾讯开放平台、百度框计算搜索开放平台等,其均是将各种不同的网络服务封装到一系列计算机易于识别的数据接口当中,并开放这些接口,由此第三方开发者可以基于开放平台的开放API(应用程序编程接口)开发各种应用、构造出一个宏大的生态圈,吸引更多的第三方开发者和独立软件提供商到该平台下发展,最终实现双赢目的。
华南师范大学IMU面向全社会开放其开发环境、数据接口、数据标准,全校师生、校友、企业和社会力量均可以基于该平台开发校园应用。一直以来,学校都有很多创业、创新的科研项目,学生团体也很活跃,成果丰富,但遗憾的是暂时还没有很好的把这些成果真正用到校园信息化这个层面上来。现在,华南师范大学IMU恰好为此提供了一个很好的平台,IMU正是希望能够通过全校性的开放共建,打造一个新型的智慧校园生态圈。
华南师范大学校园移动平台(IMU)的建设目标是建设一个统一、开放、可扩展的校园应用开放服务平台和开发部署环境,支撑学校目前乃至未来的各类移动应用。该平台具有跟数字校园应用系统进行数据对接的能力,系统对接采用松耦合的方式,具有灵活的扩展接口。
IMU从2003年初开始筹建,目前已完成一期建设,推出了校园门户、微华师、校园应用、学友圈等服务。一期建设推出的热门应用深受师生的欢迎,但跟建设目标的功能丰富、内容饱满还有一定的距离,迫切需要校内各部门、团体积极参与建设。IMU是一个开放性的平台,各部门各单位均可以申请成为开发者,直接在平台上创建应用,对接本单位的业务数据,对外提供数据查询。因此,IMU平台的定位是基于平等、开放、创新的互联网理念,帮助校内单位更有针对性地满足目标用户需求,为用户提供更多个性化、智能化的创新应用,提升端到端体验。
IMU的最终目标是开放共建智慧校园[3]生态,即希望能够通过全校性的开放共建,形成一个新型的智慧校园生态圈。业界开放平台之所以能够成功并吸引成千上万的开发者加入,是因为开放平台能够创建一个生态圈,生态圈里的每一个角色,都能在生态圈里面获取自己需要的资源。学校的开放平台同样希望通过开放的心态吸引众多的开发者一起共建华师的智慧校园生态圈。在这个生态圈里,用户是中心,通过数据整合、数据的横向流动及开发者的创新应用,提升用户的使用体验,而用户体验的提升又会进一步促进数据的流动,最终形成一种良性的循环。
IMU的建设是华南师范大学智慧校园的新起点,经过多年数字校园的建设,已为智慧校园大数据时代的到来作好了数据和服务的准备,同进也为IMU平台的开放奠定了基础。
首先,经过多年的信息化建设,校内各业务系统积累了稳定的业务运行数据;其次,伴随我校数字校园的深化建设,各基础应用数据都在不断增加;另外,随着信息化建设的深入发展,校内用户的信息化素养也在不断增高;再者,近年来智能终端的普及,使得数据采集工具进一步丰富。这些都为IMU的开放奠定了殷实的基础。IMU的基础就是以数据为核心,用户为基石,通过用户不断积累数据。
IMU为吸引众多开发者参与共建,其开发环境、接口及数据标准均对外开放。IMU含有丰富的接口,对外开放的资源有四种类型,最基本的服务是统一身份认证接口。
1)计算资源:云主机资源(通过华南师范大学信息化公共云平台提供支持)、高性能数据库(ORACLE、MYSQL、SQL SERVER)。
2)业务数据:通过分析业务运行数据,获取更多对学校管理有用的信息。例如一卡通数据、图书数据、网络运行数据。
3)个人数据:通过个人数据的接口开放,可以更好的展现个人风采。例如:科研数据、学业数据、自媒体数据(微博、空间等)。
4)消息接口:通过该接口可以向最终用户发送信息,比如失物寻找,如果有一卡通的话,可以直接通过一卡通号向用户发送信息。
统一身份认证接口是IMU对外开放资源中的核心服务。统一身份认证是为减少用户在使用校内各应用系统时输入多个帐号密码的不便而设计,统一身份认证服务使得用户只需记住一个帐号密码,在多个应用中登录一次就可访问所有资源。
IMU统一身份认证接口提供了两种验证方式:一种是采用Oauth 2.0协议标准[1,4],另外一种是采用Hessian调用远程登录接口。可根据实际情况采用其中一种来验证。在分析具体的认证流程前,首先定义角色:
1)统一身份认证服务器:用户帐户信息存放点。
2)用户:存放在服务提供方的受保护的资源拥有者。
3)应用服务器:要访问服务提供方资源的第三方应用,通常是网站(如教务系统、门户网站等)。
4)客户端:只指安装在手机或其他移动平台上的应用客户端软件。
(1)Oauth2.0认证方式
Oauth2.0认证方式适用于注册在统一身份认证服务器上的应用提供方。在安全性方面[5]通过两种方式进行安全保障:通过密钥限制应用提供方访问统一身份认证服务器;用户认证过程中无需对应用提供方暴露帐号和密码。Oauth2.0授权机制又按接入方式的不同有所区别。
1)网站接入认证
①用户向应用服务器请求登录。
②应用服务器返回参数(client_id(应用服务器唯一身份识别码),response_type(固定为code),redirect_url(接收结果地址))并跳转至统一身份认证服务器认证界面,如果用户已经在统一身份认证服务器登录,则进入第5步,否则进入第3步。
③统一身份认证服务器返回用户登录界面。
④用户凭帐号密码(account,password)登录。
⑤统一身份认证服务器返回结果至redirect_url(成功则返回code(访问授权码),失败则返回错误信息)。
⑥应用服务器凭client_id,client_secret(应用服务器密钥),grant_type(固定值为authorization_code),redirect_url,code(第5步所得)向统一身份认证服务器申请access_token(访问授权码)。
⑦统一身份认证服务器返回access_token至第8步提供的redirect_url。
⑧应用服务器凭access_token访问用户资源。
⑨统一身份认证服务器返回申请资源结果至应用服务器。
⑩应用服务器将登录结果返回至用户浏览器。
2)移动应用接入认证
①客户端调用统一身份认证服务器提供的SDK(软件开发工具包)请求授权。
②统一身份认证服务器返回结果。
③客户端向应用服务器传递code。
④应用服务器使用code向统一身份认证服务器申请access_token。
⑤统一身份认证服务器向应用服务器返回请求结果。
⑥应用服务器使用access_token向统一身份认证服务器请求用户信息。
⑦统一身份认证服务器返回用户信息。
⑧应用服务器向客户端返回验证结果。
(2)基于Hessian调用远程接口认证方式
基于hessian调用远程接口验证方式适用于校内可信任的应用服务提供方(如JAVA平台)。该认证方式在安全性方面通过两种方式进行安全保障:封装接口访问资源,以避免暴露远程接口的地址;服务器限定访问来源。
①用户向应用服务器请求登录。
②应用服务器调用远程接口,将用户帐号密码(account,password)提交至统一身份认证服务器进行认证。
③统一身份认证服务器将认证结果返回至应用服务器。
④应用服务器将结果返回至用户界面(客户端)。
IMU是一个开放的平台,所有有能力的个人与组织(如各部门单位、在校师生、校友或企业等)均可以申请成为开发者,在这个平台上开放建设移动应用,或者把已开发好的APP通过改造接入IMU大平台。IMU接入地址为:http://app.scnu.edu.cn。接入方式如图6所示。
其中,原生程序为通过插件方式加载(类似微信游戏中心)。WEBAPP方式为通过校园APP内嵌浏览器调用。IMU提供符合互联网业界标准的开放API、SDK,降低学习、使用的门槛,满足其在多种应用场合下的需要。其中开放化API接口定义为:接口文档公开化、接口实现多样化、接口实现标准化。开放化API接口共性特征:遵循互联网界流行的开放标准;简洁交互流程、轻量级调用方式;松耦合/独立/内聚的接口功能;普及度高的通用编程语言实现。例如WEPAPP开发有:HTML5、CSS3、JAVASCRIPT;原生方式开发有:Android、IOS、Windows Phone[6,7]。
用户接入平台项目须满足一定的要求,首先必须符合国家的相关法律法规;并可服务于我们华南师范大学的用户(包括师生校友等);具有一定的创新性;达到上线要求,无明显的BUG等。目前已有的定向项目如:校内点评、一卡通消费行为分析、日常维修申报、移动客户端上的视频会议功能等。用户接入项目首先登录app.scnu.edu.cn,下载申报书;收到确认后(获取AppKey),根据平台选择开发接口,进行接口调测;进而根据相关协定开发创建应用,接入校园移动平台。
华南师范大学移动应用平台IMU基于开放、共建、创新的理念,对外开放其开发环境和数据标准,并提供了丰富的接口和各种资源,吸引了众多校内开发者、部门单位积极参与移动应用开发。IMU帮助校内单位更有针对性地满足目标用户需求,为用户提供更多个性化、智能化的创新应用,提升了端到端的用户体验,最终打造了一个开放、合作、共赢的智慧校园生态圈。这在高校信息化建设中的移动应用开发之路具有一定的参考价值。
[1]王左利.校园移动平台:未来的主角[J].中国教育网络,2012(11):14-17.
[2]刘镝,张智江,张尼.基于国内开放平台的Oauth认证框架研究[J].信息通信技术,2011(6):43-46.
[3]吕倩.基于云计算及物联网构建智慧校园[J].计算机科学,2011(10).
[4]Hammer E.Beginner's Guide to OAuth[EB/OL].(2011-07-15).http://hueniverse.com/2007/10/beginnersguide-to-oauth-part-i-overview.
[5]朱蔚恒,周伟,龙舜等.开放平台解决方案及其安全策略研究[J].计算机工程,2012(6).
[6](美)凯瑞恩著,林星译.HTML5移动应用开发入门经典[M].人民邮电出版社,2013.3,22-86.
[7](美)康德尔,达西著,张魏,李卉译.Android移动应用开发从入门到精通[M].人民邮电出版社.2010-7-1,43-95.