摘 要:针对目前校园网中异构信息集成过于复杂的问题,本文提出基于REST架构的Web Services的校园异构信息系统集成方案.该方法根据REST设计原则,采用轻量的方式实现校园网异构信息的集成.实验结果表明,该方案相对于传统基于SOAP的Web Services,具有简单易用、伸缩性强的优势,具有良好的应用前景.
关键字: REST;异构;Web Services
中图分类号:TP393. 1 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.002
本文著录格式:[1]孙伟,郝爱语,张伟华,等.Restful Web Services在校园信息集成中的应用[J].软件,2013,34(8):5-6
0 引言
随着信息技术的发展,各种信息管理系统层出不穷,但不同管理系统往往是各自独立建设,所采用的技术标准、数据库架构、管理模式都存在着一些差异,这导致系统之间数据不兼容、彼此之间沟通困难,出现了所谓的“数据孤岛”问题.构建能够通过Web和移动设备访问现有异构管理系统的信息集成系统是目前的一项基础研究课题.传统的RMI、CORBA、DCOM 等中间件方式已经不能适应Inter发展的需要.Web Services技术的出现可以在一定程序上解决异构系统数据交流问题,但目前基于SOAP的Web Services虽然可以解决跨Inter的异构访问问题,但该技术需要进行写作,并且每个SOAP消息使用特定的命名方法,随着Inter上接口数量的增加,管理和调用接口变得比较复杂.
REST Web Services技术的出现很好地解决了这一问题,既能比较容易的实现异构系统之间调用,又能充分利用了HTTP协议,是一种新型的解决方案.本文在探讨REST Web Services技术特点和优势的基础之上,设计了基于REST Web Services的校园异构信息的集成方案.
1.REST风格的Web Services介绍
REST是表述性状态转移(Representational State Traner)的简称,2000年由Roy Fielding在其博士论文中首次提出[1],现在作为分布式系统设计的一种新型架构风格.在REST中,整个Web被看作一组资源的集合,资源由URI标识,对资源进行的操作由客户端指定的URI和HTTP协议动词的组合来实施,同时将资源和资源的表示分开,为构建可扩展、简单性、可移植和松耦合的Web程序提供了一个架构上的准则,REST这种基于资源的设计改变了传统的基于怎么写作的设计思想.
1.1应用范围
基于REST的 Web Services 的设计目标就是为了让Web应用之间调用实现得更好,更加统一和结构化,更能发挥HTTP的特性,现将其应用范围归纳如下[2]:
1) Web Services是无状态的;
2) 消费者能理解怎么写作提供都的约定,并能适应变化;
3) 占用带宽小,提供的链接可能更多;
4) 易融入已经运行的站点,怎么写作和页面可以很好地混合.
1.2设计准则
为了降低Web应用设计开发的复杂性,提高系统的可伸缩性,REST架构将遵循如下的设计准则[3]:
1) 将Web上所有事物抽象为通过URI来标识的资源:在Web上有各种各样的抽象资源组成,而且具体表现形式也千差万别,按REST风格设计时,将所有的事物看待为是通过URI来标识的资源,把这些资源通过URI形成一个个的向外部世界呈现,一个URI对应一个资源.
2) 将Web中的所有资源链接在一起:在任何可能的情况下使用链接方式指引可以被标识的资源.
3) 使用标准的HTTP方法对资源进行操作:REST中充分发掘HTTP自身功能,通过其标准的请求方法(GET、POST、PUT、DELETE等标准动作)来处理对任何资源的增删查改操作,这些操作在整个Web上都是一致的,使用相同的名称和相同的用法,使用起来非常容易.
4) 所有操作都是无状态的:按此标准,每一个来自客户端的请求必须包含所有必要的信息,不能从怎么写作器上获取任何与上下文相关的信息.
5) 资源的多重表述:根据使用环境的不同,针对不同的需求提供资源多重表述.
2.基于REST Web Services的学生管理系统设计
2.1集成系统的设计框架
校园异构管理系统主要涉及到教务管理系统、毕业设计管理系统、实习管理系统等,现使用Restful Web Services技术将多个系统进行集成.主要实现教师查询学生基本信息、查询学生成绩、学生查询个人成绩、查询各系统通知等功能.
对该集成系统的设计参照了面向资源架构的设计方法,在对系统数据确定的情况下进行了数据表的定义、资源划分、以名词/集合/个体的方式对URI进行命名,并以XML格式设计资源的表示方式.对于移动客户端界面的设计尽量简洁.现有各系统遵循按需要提供Restful Web Services接口,供Web应用程序和移动应用程序使用.系统的整体设计结构如图1所示.
2.2主要实现方法
实现基于Restful Web services接口的步骤大致如下:
1) 根据需求规划数据集,设计相应的数据表.
2) 将规划后的数据集划分为不同的资源.
3) 使用URI为每种资源命名,并根据用户的需求制定与资源相对应的HTTP标准操作.
4) 根据需求设计资源的状态表示,将资源的状态暴露给客户端,供客户端调用.(图1) 2.3 示例代码
Restful Web services工作原理就是向一个资源的URI发送GET、POST、PUT和DELETE进行获取、创建、修改、删除操作.下面以教师请求获得所有学生信息为例描述如何调用Restful Web services接口:
有关论文范文主题研究: | 关于资源的论文范文素材 | 大学生适用: | 本科论文、大学毕业论文 |
---|---|---|---|
相关参考文献下载数量: | 30 | 写作解决问题: | 毕业论文怎么写 |
毕业论文开题报告: | 论文模板、论文选题 | 职称论文适用: | 期刊目录、职称评中级 |
所属大学生专业类别: | 毕业论文怎么写 | 论文题目推荐度: | 优质选题 |
//创建一个http客户端
HttpClient stuCnt等于new DefaultHttpClient();
//创建一个GET请求
HttpGet httpGet等于new HttpGet("http://localhost /students");
//向怎么写作器发送请求并获取怎么写作器返回的结果
HttpResponse response等于stuCnt.execute(httpGet);
//返回结果可能放到InputStream,http Header中.
InputStream inputStream等于response.getEntity(). getContent ();
Header[] headers等于response.getAllHeaders();
通过解析怎么写作器返回的流,将它转为字符串,获取相应的数据.这样就实现了从Web或android客户端调用Restful Web Services对资源进行操作.
3.结论
利用Restful Web services实现新型异构信息集成系统,可以避免基于SOAP协议的Web Services复杂的协议集解析,更易于实现,更符合Web的本源,具有简单性、可寻址性以及缓存性等特性,怎么写作器的开销和维护成本更低,同时方便更多的怎么写作无缝地在桌面和手持式平台进行大规模部署.本文所设计的方案有效解决了平台相关性问题,降低了开发成本,具有良好的可扩展性和广阔的应用前景.