面向校园的SOA架构移动信息服务系统设计
2012-09-29陈智翔吴黎明
陈智翔 吴黎明
(广东工业大学信息工程学院)
0 引言
目前,高校信息化建设不断发展,大多数高校都开发了用于教学管理的各种应用系统,例如:教务管理信息系统、学生选课系统、图书馆系统等。在这些系统中,师生与教务管理人员可以通过 Web网络服务进行信息交流与互动,用以辅助日常的教务管理工作。然而,这些正在使用的信息系统存在不足:数据分散在各个异构的应用系统,系统间信息的交互非常困难;数据比较孤立,形成很多信息孤岛,导致无法提供准确的个性化信息服务。例如教务管理部门在特殊信息发布或信息交流上比较被动,只能通过网上公告或层层转达;旧的管理模式严重偏离“以人为本”的理念。以学生为例,一些个性化较强的信息,诸如补考通知、考试安排、评优评选、学业预警等,教务管理部门无法为每个相关学生进行电话、短信通知,学生可能没有及时查看公告或邮件,致使工作延误或失去时机。
随着信息技术的迅猛发展,移动互联网催生的服务型校园移动信息系统将成为高校信息化建设的风向标[1-2]。针对目前信息系统面临的困境,整合现有业务和数据后,充分与移动终端结合,根据逻辑业务需求,将业务需求、业务流程和数据存储以服务的形式进行包装并发布到一个标准化、开放性的平台,可以达到既保留目前应用系统、又能适应业务变化及发展的目的。面向服务的体系结构(service-oriented architecture,SOA)以服务为核心,凭借其松耦合的特点,成为新一代软件体系结构的主流模型[3-7]。SOA是一个组件模型,它应用于程序的不同功能单元(称为服务),通过这些服务之间定义良好的接口和契约联系起来,接口是采用中立的方式进行定义的。它独立于实现服务的硬件平台、操作系统和编程语言。
基于SOA架构的校园移动信息服务系统,整合了目前的各种应用系统,在模块设计中使用松散耦合,使原有在校园系统中的服务,通过统一的方式进行交互,建立开放性的高校教学管理平台,并在移动终端开发相应的客户端应用程序,使师生、行政人员等能够实时了解相关学习、科研、教务信息,从而大大提高教学管理的效率。
1 系统设计
1.1 整体设计思想
基于SOA架构的校园移动服务信息系统总体设计思想是:结合成熟的移动互联网相关技术和服务,把原有校园应用系统接口进行整合,作为平台在服务器上提供给移动终端进行相关数据服务;并且为了满足师生、行政人员的使用,平台应根据用户终端设置,提供主动式信息实时查询和被动式信息推送提醒服务。
在校园移动服务信息系统中,用户既可通过电脑,也可以通过手机接入与系统交互,从而使系统具有更高的实时性、交互性,提高系统的智能化和人性化程度。将终端从电脑扩展到智能手机的新型教务管理系统,增加了终端和用户的数量,扩大了系统的覆盖和应用范围。教师与学生可以通过手机,及时将各种信息提交给系统,缩短了信息发布与接收的时间,提高了教学管理的效率。同时教务管理人员通过手机接入系统后台,可以实时地了解系统运行的情况,掌握系统最新的状态,确保系统的安全性。
首先整合现有应用系统,通过对已有校园应用系统进行接口开发或整合,并将相应接口统一接入移动信息系统,供移动信息系统在进行复杂信息处理时使用。例如发布补考或奖学金通知时,需要整合的相关系统有:发布通知信息的行政通知系统、查询教务成绩的教务成绩系统、学籍电子档案系统等。
校园移动服务信息系统与移动智能终端结合——整体架构为客户端/服务器模式。客户端在主流智能操作系统(IOS,Android,WP)上运行,通过客户端访问校园移动服务信息系统,并依靠移动智能终端定位等扩展系统平台功能,最大限度地满足用户随时随地进行校园咨询信息处理的需求。与移动终端通信的信息分为两种:一种是主动式实时信息,即用户在客户端主动发起的信息请求;另一种是被动式推送信息,即用户在客户端订阅相关信息后,可以在不打开情况下收到这类信息的提示通知。用户通过这两种信息可以完成与校园服务系统的所有业务交互。
在校园移动服务内部系统稳定可靠后,通过接入第三方平台来为更多校园服务提供个性化定制服务,例如相关云存储服务,满足资料表格等在线存入个人文档;第三方在线支付服务,直接在线支付校园相关费用。
1.2 服务类型和内容
校园移动服务信息系统的服务对象包括行政用户、教师用户和学生终端,其服务类型和功能分别如如表1、表2、表3所示。
1.3 组成模块及层次结构
校园移动服务信息系统平台主要由5部分组成:1) Web服务接口与移动终端服务接口,这些接口负责响应终端发出的数据请求;2) 业务处理核心,它根据数据请求类型调用原有校园系统进行数据处理;3) 平台数据库,负责存储信息系统的相关数据;4) 第三方数据接口,根据系统核心需要与第三方平台进行数据传输;5) 原有校园系统相应对接数据接口,以满足系统平台的不同类型服务。整体结构和层次结构如图1所示。
表1 行政人员终端服务类型及功能
表2 教师终端服务类型及功能
表3 学生终端服务类型及功能
1.4 跨信息系统服务
在基于SOA架构的服务系统的核心服务中,可以很方便地调用外部信息系统协同工作,完成用户的个性化信息服务。例如定制通知服务,当需要发布一条受众人群明确的通知时(以奖学金申请为例),行政人员在发出公告时,通过移动信息服务系统接口可以选择受众人群(如成绩系统中无挂科的学生);在原有系统发出公告的同时,向校园移动信息核心发出申请,核心先调用教务服务接口查询,然后再确定需要通知的人群,返回查询结果后在平台服务器端的通信服务模块加入标识,如用户上线或在线则通过被动推送方式推送到用户终端,并将相应文档转发入该用户的存储中心(如第三方云存储平台)。
图1 移动信息服务系统整体架构图
基于SOA的校园移动服务系统中,通过校园智能支付可以在终端用第三方支付平台(如支付宝)快捷完成校园内各类缴费服务,而不用到固定地点排队充值。用户在终端 APP上根据业务选择相应充值服务,APP自动调用第三方支付平台进行在线支付,支付完成后,支付平台将跳转到预先指定的信息平台URL链接,通过POST方式将支付信息作为参数回调信息平台,平台根据预先指定密钥解密参数,最终将支付信息录入相应校园系统完成充值服务。
平台整合前,原有系统各自独立,校园用户使用相关业务时需要单独进入系统进行处理,并不能很好地满足各类用户的需求。平台系统搭建后,在平台上实现个业务关联处理模块,校园原有系统都可以按照接口规范等接入平台,不仅能通过平台推送机制满足实时性信息需求,还能发挥出原有系统之间的业务关联性,且用户可随时随地使用智能终端就可完成原来耗时的业务服务。
2 移动终端与服务平台通信关键技术
在基于SOA架构的校园移动服务系统中,各模块功能可采用多种开发技术和框架完成。下面着重阐述该系统终端(以Android系统终端为例)与服务器端通信的实现。
所有的业务功能都是建立在移动终端与服务器通信之上的,与服务器交互的信息分为主动式实时信息和被动式推送信息。这两种信息的实现机制侧重点在于主动式信息强调用户在终端主动去获取,而被动式信息强调服务器在用户有信息时自动推送到用户终端,因此需要使用不同的实现技术完成该通信功能,通信整体结构图如图2所示。
图2 移动终端与服务平台通信图
2.1 主动式实时信息
主动式实时信息机制是当用户手动查询相关业务时后台自动调用。该方式采用HTTP的通信机制,交换的数据格式为 Json。客户端将请求信息打包成HTTP并传送给服务器端,服务器将请求信息发送至Servlet。Servlet根据客户端的具体请求进行后台数据库查询或原有系统模块处理,动态生成响应内容并将其传送给 Server,最后服务器端将该响应内容转换成Json格式返回到客户端。其主要流程如图3所示。
图3 主动式信息服务流程图
当需要从服务器上主动获取信息服务时,调用流程:
1) 从相应业务逻辑界面(如查询成绩界面), 调用主动获取模块中的发起请求方法;
2) 请求方法开始连接服务器,传递相应请求参数,以Android开发为例,代码如下:
HttpParams parms = new BasicHttpParams();
parms.setParameter("charset", HTTP.UTF_8);
HttpClient httpclient = new DefaultHttpClient(parms);
HttpPost httpPost = new HttpPost(uploadUrl);
httpPost.addHeader("charset", HTTP.UTF_8);
List
params.add(new BasicNameValuePair("title",title));
httpPost.setEntity(new
UrlEncodedFormEntity(params, HTTP.UTF_8));
//向服务器发出请求
HttpResponse httpResponse = httpclient.execute(httpPost);
3) 服务器端判断请求,调用相应服务模块,完成后返回结果;
4) 客户端接收结果,调用UI模块进行相关数据显示。
2.2 被动式推送信息
被动式推送信息采用的即时通信协议是 XMPP(可扩展消息处理现场协议)。XMPP是一种基于XML(可编程扩展语言),实现任意两个网络终端实时信息交换的通信协议。XMPP的基本网络结构包括Client、Server、Gateway,通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录、连接管理和信息的路由功能。基本的网络形式是单客户端通过 TCP/IP连接到单服务器,然后传输XML。
当终端注册以获取被动式推送消息时,终端与服务器的主要流程如图4所示。
图4 推送信息流程图
XMPP服务器之间、客户与服务器之间采用的是TCP连接。它提供一种面向连接可靠的字节流服务。TCP将用户数据打包构成报文段,当发送数据后启动一个定时器,等待对端数据确认,另一端对收到的数据进行确认。对失序的数据重新排序,并丢弃重复数据。但是GPRS网络对TCP链路存在一个限制,当链路在长时间无数据流量时,会自动降低此链路的优先级直至强制断开此链路,所以在应用中采用发送心跳的方式来维持此链路。
3 结论
传统的简单事务处理类型的信息系统无法适应不断发展的业务要求,科技发展促进教育信息化变革与进步,基于SOA架构的校园移动信息服务系统,是移动互联网与数字校园的紧密结合。本文分别从架构和实现上对该系统进行了阐述和分析,在评估我校现有校园系统资源后逐步搭建实现该服务系统。随着移动互联网时代的到来,高校信息化已从传统的管理方式向主动服务的模式转变,是学校与学生互动的一种新途径,是数字校园扩大外延服务的新尝试。
[1] 杨丽萍,王薇.基于手机平台的教学信息系统的研发[J].长春大学学报,2009,19(8):15-17.
[2] 苏长明.基于J2ME—J2EE的校园移动信息查询系统设计与实现[J].成都大学学报:自然科学版,2012,31(3):254-257.
[3] 林怀恭,聂瑞华,罗辉琼,等.基于 SOA 架构的服务集成技术的研究[J].计算机技术与发展,2009, 19(7): 141-144.
[4] 裘慧奇,陈世平,朱宇红,等.基于 SOA 的区域内高校校际间网上资源共享和协作服务模式研究[J].计算机应用研究,2011,28(1):192-194.
[5] 武装,李洪奇.一种分布式SOA体系结构的设计与实现[J].微计算机信息,2008,24(36):253-255.
[6] 魏东,陈晓江,房鼎益.基于SOA体系结构的软件开发方法研究[J].微电子学与计算机,2005,22(6):73-76.
[7] 曹晓叶,王知衍,许晓伟,等.基于 SOA 的企业应用集成研究与应用[J].微计算机信息,2007,23(36): 16-19.