论文部分内容阅读
随着计算机应用的日益普及和其规模的不断增大,分布式计算已经得到了长足的发展。然而,随着近年来Internet在各个领域应用的普及和深化,人们迫切需要更大程度上实现Internet上跨平台、语言独立、松散耦合的异构应用的集成与交互,这就对分布式计算又提出了新的要求。Web服务作为一种新的技术应运而生,提出了面向服务的分布式计算模式。Web服务自诞生以来,作为一个新兴的力量,正在IT行业中如火如荼地展开,不断地冲击着互联网行业的发展,现在各大主流技术几乎无一不在关注着web服务的发展。并在自己公司的项目中实现Web服务技术。然而随着如基于soap的Web Service的发展,其不足之处也逐渐显现,主要是因其过于复杂的架构性,提升了开发及维护的难度。在这种情况下,REST式的Web Service作为一种轻量级的解决方案诞生了,它不再需要soap协议及SDK的支持,充分地利用http协议的分布式特性,可以使web服务的开发变得更加高效、简洁、可维护,虽然时间不长,但当前已越来越多的公司及部门在对其进行研究及实践,一些已经取得了相当大的进展。本课题---基于REST架构的Web Services的研究与设计-选择当前比较成熟的基于Java的restlet框架,研究在此框架的支持下如何实现基于C/S模式及B/S模式下的rest式web服务。最后,分别在以上两种模式下将rest式web服务与基于soap的web服务进行请求方式、开发结构等方面的比较,分析了它们的异同点及rest式web服务的优缺点。本论文的主要工作如下:(1)阐述了rest的概念和发展现状,分析了rest的基本原理、构成。重点介绍了rest式web服务的优势。(2)研究C/S模式下rest式web服务实现架构,并以搭建“基于三维股票数据的分布式可视化”为例,用axis框架实现基于soap的web服务对股票数据进行处理,同时,用restlet搭建rest式web服务,研究如何在客户端调用rest式web服务进行同样的股票处理,最后分析比较两种web服务的异同点及优缺点。(3)研究B/S模式下rest式web服务实现架构,并实现了基于MVC架构的“网上商城系统”,包括webwork、spring、ibatis、mysql以及辅助模板和脚本框架velocity与jquery。用restlet搭建rest式web服务,给现有的“网上商城系统”提供服务支持。在“网上商城系统”页面中,研究如何利用当前流行的js框架jquery实现对rest式web服务的Ajax异步服务请求进行数据处理及返回,从而高效地实现系统升级。最后对结果进行测试并与基于soap的web服务进行比较分析,得出二者的异同点及优缺点。基于上述对本文工作内容的总结,本文的特色在于:(1)搭建restlet框架环境,在其上研究并实现rest式web服务。(2)在C/S模式下,以可视化服务为例,研究基于soap的web服务以及rest式web服务的设计与实现的不同,并最后进行对比分析。(3)在B/S模式下,以“网上商城系统”为例,研究如何在当前web系统中提供异步的分布式rest式web服务支持,以最终达到系统快速高效升级。