基于WCF数据服务的大学教务管理系统开放平台的构建

2012-04-29 00:44王文海
电脑知识与技术 2012年30期
关键词:开放平台

王文海

摘要:WCF 数据服务使用具象状态传输 (REST) 的语义,利用开放式数据协议 (OData)公开和使用数据。通过这种方式,可以从支持 OData 的任何客户端访问这些服务。基于WCF数据服务构建大学教务管理系统开放平台,可以全面提升整个系统适应变化的能力,满足广大师生员工的多样化需求。

关键词:开放平台;大学教务管理系统;OData协议;oAuth协议

中图分类号:TP311.52文献标识码:A文章编号:1009-3044(2012)30-7164-03

目前,大学普遍采用教务网络管理信息系统来收集、组织、管理有关教务活动的信息。这可以提升管理效率、提高管理水平。然而,作为功能与UI/UX固化的封闭式系统,无论最初的设计多么精细、全面,随着时间的推移,也会不可避免地出现不能满足教职员工和大学生们日益多样的需求的弊病。按通常的思路,解决的方法主要是是购买或开发部署新系统。这种解决办法虽有可行性,但也有不少不足之处。姑且不论成本因素、终端设备的日益多样性、师生员工需求的多样性等方面,只就周期方面而言,目前的新系统部署步伐恐难与广大师生的需求变化相契合、相同步。要化解这种有限的自身能力与不断变化的用户需求之间的矛盾,引入外部创新是另一种有效的思路,其重要的一种方式就是构建教务管理系统开放平台。通过构建开放平台,实现以大学人才资源为依托的、真正以教职员工和大学生们为中心的有效服务型管理系统。

1 开放平台概述及其意义

开放平台(Open Platform),通常是指在软件业和网络中,软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能,或使用该软件系统的资源,而不需要更改该软件系统的源代码[1]。对开放平台而言,开放是根本,平台是基础。开放平台就是提供一个开发者可以在其上以应用形式施展才华的舞台。

自2007 年Facebook 开放应用平台及2008 年Google 发布开放平台战略以来,互联网企业已普遍接受了开放平台。开放平台之中,根据所服务的主体不同,也将开放平台分为两类,一类是中心化开放平台,以Facebook、百度等为代表的开放平台,平台所提供的API主要是针对自身的网站提供应用开发接口,与之对接的应用只为自身网站服务;还有一种是分布式开放平台,以Google提出的开放标准为代表,这类平台在提供一个标准API后,即可将平台上的多个应用推向所有支持该标准的网站[2]。

开放平台中,开放API是目前最常见的开放形式。企业将自身的数据、服务封装并以应用程序编程接口的形式公开,第三方开发者可以通过开放的接口从平台获取需要的功能或内容并将对应的服务提供给自己的终端用户。很多国内企业已经选择这种形式与越来越多的第三方应用合作。

开放平台带来了整个互联网生产方式的变革,原来的独立网站式的小作坊生产走向基于开放平台的大规模协作,无数身居幕后的开发者、服务提供商、内容提供商走到台前,直接参与到开放平台的运作中,带出新的开发者经济时代,为整个互联网以及移动互联网行业的长足发展注入新动力[3]。

大学教务管理系统开放平台的构建,为广大教职员工以及大学生们提供了一个学习交流、展现风采、提升自我的大舞台,可以更充分地利用大学的人才优势,实现从吃“套餐”到吃“自助餐”,甚至是吃“自助炊”的转变,较好地解决“众口难调”的问题,促成教务管理系统应用的定制与微定制、创新与微创新,不断进化,推动形成丰富多彩的校园生态系统。

2 WCF数据服务概述

WCF数据服务使用开放式数据协议(OData)创建和使用数据服务,它可以将数据公开为通过URI进行寻址的资源。这就能够以具象状态传输(REST)方式来访问和更改数据,也就是以标准HTTP谓词GET、PUT、POST和DELETE作为资源的通用接口,通过它们访问资源。WCF数据服务具有以下基本特点:

1) 以资源形式对数据进行寻址。OData将数据公开为可通过URI寻址的资源。在OData中,实体资源地址的形式为包含实体类型实例的实体集。

2) 可互操作的数据访问。OData是基于标准Internet协议构建的,从而使数据服务能够与不使用.NETFramework的应用程序进行互操作。可以从任何可分析和访问通过标准HTTP协议传输的数据的客户端访问这些服务。

3 ) WCF数据服务与ADO.NET实体框架相集成,可以方便地创建公开关系数据的数据服务

4) 自定义业务逻辑。使用WCF数据服务,可以轻松通过服务操作和侦听器将自定义业务逻辑添加到数据服务[4]。服务操作是在可通过URI(采用与数据资源相同的形式)进行寻址的服务器上定义的方法。利用侦听器,可以将自定义应用程序逻辑集成到数据服务对请求或响应消息的处理中。在指定的实体集上执行查询、插入、更新或删除操作时,将调用相应的侦听器。然后,侦听器可能会更改数据、执行授权策略或者甚至终止操作。

3 大学教务管理系统开放平台技术架构

大学教务管理系统开放平台的体系结构如下图所示。其中,业务规则集中到WCF数据服务层,该层充当客户端和教务管理数据源之间的中间层。而数据服务提供程序提供与数据存储层的交互,并可以适应不同的数据存储技术。基于OData的WCF数据服务是REST式架构,具有RESTful架构的优点。

4 大学教务管理系统开放平台的开放内容

大学教务管理系统开放平台是在继续提供传统基础服务、主体服务的基础上,提供一个开放性平台,通过这个平台,将基本的、主要的教务管理业务及相关数据提供给教职员工和大学生们以及校内各部门,方便其依自己的需要进行定制开发,实现自身工作所需的特殊功能。对于继续提供的传统业务,此处不需要再行赘述。对于开放平台,此处做一简要的分析。

大学教务管理系统开放平台应提供开放教务数据、开放业务内容、开放校内接入标准等开放内容。

4.1 开放教务数据

以Open API形式开放教务数据,也就是将教务管理系统的可公开、应公开或可有限公开的数据开放,让教职员工、大学生们或校内其它部门根据已有的数据进行二次开发,满足自己的特殊需求。为安全和隐私保护的目的,其中部分数据采取认证后授权开放的方式对外提供。

大学教务管理系统与师生们关系最紧密的数据应包括教学生信息、教师信息、班级信息、课程信息、教学计划、考试成绩、课表安排、考试安排、新闻公告、网上评教等。

1) 学生信息API。该类API提供了学生基本信息查询、修改、补充等功能。主要功能是查询学生信息,也针对学生个人和相关部门及人员提供学生信息的添加、修改、删除等授权开放功能。

2) 教师信息API。该类API提供了教师基本信息查询、修改、补充等功能。主要功能是查询教师信息,也针对教师个人和相关部门提供教师信息的添加、修改、删除等授权开放功能,以保证教师信息的准确、及时和全面。

3) 班级信息API。该类API提供了班级基本信息查询、修改等功能。主要功能是查询班级信息,也针对相关部门及人员提供班级信息的补充、修改、删除等授权开放功能。

4)课程信息API。该类API提供了课程基本信息查询、修改、补充等功能。主要功能是查询课程信息,也针对相关部门及人员提供课程信息的添加、修改、删除等授权开放功能。

5) 成绩信息API。该类API提供了成绩基本信息查询、录入、修改等功能。主要功能是查询成绩信息,也针对教师个人和相关部门及人员提供成绩信息的修改、删除等严格授权开放功能。

6) 课表信息API。该类API提供了课表基本信息查询、调整、安排等功能。主要功能是查询课表信息,也针对相关部门及人员提供课表信息的调整、安排等授权开放功能。

7) 评教信息API。该类API提供了评教基本信息查询、评教、修改等功能。主要功能是查询评教信息,也针对学生个人和相关部门及人员提供评教信息的录入、添加、修改、删除等授权开放功能。

还可以根据实际情况提供教学计划、教务通知等类的API。

4.2开放教务账号

通过开放教务账号,既可以保证校内第三方应用对开放平台的安全访问,也可以作为统一登录账号,实现校内单点登录,以便于校内各类资源的访问,免除多个账号带来的麻烦和安全等诸多问题。

1)授权式账号开放,可访问开放平台资源

授权式账号开放的具体实现应遵循开放授权协议。开放授权协议(oAuth)是一个开放标准,是允许用户安全使用第三方应用的验证授权系统。使用oAuth登陆不需要在第三方程序输入密码,只需要点击相应的链接到网站首页对此第三方应用进行授权,即可等同于在第三方应用登陆了网站。

授权后的http通信中不再传输用户信息而是以数字签名和访问令牌(Access Token)取代,即使截到数据包,也无法还原出用户的登录信息[5]。这是oAuth 最大的优点,也是它得以逐渐成为现在通用的授权标准的原因。

oAuth对用户来说方便、安全;对第三方网站和应用来说,oAuth 可以使它们能够得到用户基本信息外的其他信息资料和账户部分使用权限;对各类平台来说,oAuth 可以完美的解决用户的账户安全和开发者授权的平衡问题。因此 oAuth 协议确定后就获得了包括国外Twitter、Facebook和Google等认可,之后在国内也得到了有效跟进。

目前互联网很多服务(如Open Platform)、很多公司(如Google,Yahoo,Microsoft等)都提供了oAuth认证服务,这也表明oAuth标准已逐渐成为开放资源授权的标准。

2) 登录式账号开放,不授权,不可访问开放平台资源

与大学内各类应用系统相比较,教务管理系统的账号数据应该是最为全面完整的,如果计入系统的历史数据的话,就更是如此。因此,基于教务账号实现单点登录最具“先天优势”。

登录式账号开放功能可通过扩展oAuth实现,与授权方式基本相同,主要差别是不须授予开放平台资源访问权。当然,也可以采用其它方式实现登录式账号开放。

4.3开放业务活动

部分教务管理业务活动可以考虑开放,如教学管理中的教学研究、实践教学、学术活动等,具体形式上,可以采用接受信息反馈、共享部门资源、允许符合标准的子站接入等。

5 结束语

基于WCF数据服务构建的大学教务管理系统开放平台,具有灵活性强、伸缩性好、兼容度大等特性,它既可以全面提升整个系统适应变化的能力,也能够更好地服务于广大师生员工,并促进形成良好的校园生态系统。

参考文献:

[1] 开放平台[EB/OL].[2012-08-31].http://baike.baidu.com/view/4039572.htm.

[2] 开放平台知多少:盘点国内各大主流开放平台[EB/OL].[2011-06-01].http://www.chinaz.com /news/2011/0601/185286 .shtml.

[3] 马琳,宋俊德,宋美娜.开放平台:运营模式与技术架构研究综述[J].电信科学,2012(6):125.

[4] WCF数据服务概述[EB/OL].[2012-10-16].http://msdn.microsoft.com/zh-cn/library/cc668794 (v=vs.103).aspx.

[5] OAuth认证协议原理分析及使用方法[EB/OL].[2011-07-25].http://blog.csdn.net/21aspnet/ article/details/6632233.

猜你喜欢
开放平台
基于百度地图开放平台的导航电子地图课程实践教学研究
基于在线开放平台的混合式课堂教学模式构建与实践
腾讯安全应急响应开放平台正式上线
基于AliGenie语音开放平台的传统家居智联网解决方案
搭建开放平台 收获真情实感——谈《品德与生活》教学中开放式教学的实施
仪表技能实训仿真教学系统的开发
中职会计教学模式的转变分析
云计算开放平台的知识产权问题研究
基于网络开放平台提升高校学生生活事务管理有效性:上海高校“易班”平台实践应用的思考
互联网再掀淘金热创业机会转向开放平台