




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁波工程学院本科毕业设计论文 1 毕 业 设 计(论 文) 设计(论文)题目: 基于 Restful 的 Web 服务组合技术研究 学 院 名 称: 电子与信息工程学院 专 业: 计算机科学与技术 班 级: 计科 071 姓 名: 学 号 07401010114 指 导 教 师: 职 称 讲师 定稿日期: 2011 年 5 月 20 日 宁波工程学院本科毕业设计论文 2 基于 Restful 的 Web 服务组合技术研究 摘要 Web 服务组合通过重用已有的 Web 服务满足用户高质量的应用需 求,是面向服务架构研究的热点问题。近年来 Web 服务的理论和技 术取得了长足的发展,使得利用 Web 服务组合来满足应用的需求成 为可能。然而随着如基于 soap 的 Web 服务组合的发展,其不足之处 也逐渐显现,主要是它的结构过于复杂,提升了开发及维护的难度。 在这种情况下,轻量级的基于 Restful 的 Web 服务组合诞生了,它不 需要 soap 协议及 SDK 的支持,使 Web 服务组合更加高效、简洁、可 维护。该文对当前 Web 服务组合的研究现状进行了综述,分析了 Restful 的概念和实现框架。 关键词:Web 服务, Restful, 服务组合 宁波工程学院本科毕业设计论文 3 STUDY OF WEB SERVICE COMPOSITION BASED ON RESTFUL ABSTRACT Web service composition , as a new technology to fulfill the uses requirements using existing ones, has become a pop topic in the research of Service Oriented Architecture(SOA).In recent years, the theory and technology of Web services has made great progress, its possible to use composition of Web service to meet the needs of the application. However, with the development of Web services such as soap, its shortcomings are also gradually appearing, mainly its structure is too complex to develop and maintain. In this case, the lightweight Web service composition based on Restful is born; it does not need soap Agreement and the SDK support, so that Web service composition is more efficient, simple and can be maintained. This essay studies the current status of Web service composition, analyzes the concept of Restful and implementation framework. Key Words: Web service, Restful, service composition 宁波工程学院本科毕业设计论文 4 目录目录 摘要摘要.2 ABSTRACT .3 目录目录.4 第第 1 章章绪论绪论.6 1.11.1Web 服务的研究背景服务的研究背景 .6 6 1.21.2Web 服务组合存在的问题服务组合存在的问题 .7 7 1.2.1 Web服务组合的挑选问题.7 1.2.2 Web服务组合能力问题.7 1.2.3 Web服务组合的验证问题.7 1.31.3Web 服务组合问题分析及研究目的服务组合问题分析及研究目的.8 8 1.3.1 问题分析.8 1.3.2 研究目的.9 1.41.4论文结构论文结构.9 9 第第 2 章章Web 服务组合的综述服务组合的综述.11 2.12.1Web 服务组合的基本概念服务组合的基本概念 .1111 2.1.1 Web服务简介.11 2.1.2 Web服务组合的目的、特点和要求.11 2.1.3 Web服务组合的分类.13 2.22.2Web 服务组合的工作原理服务组合的工作原理 .1313 2.32.3Web 服务组合的关键技术服务组合的关键技术 .1515 2.3.1 XML.15 2.3.2 WSDL.15 2.3.3 SOAP .16 2.3.4 UDDI.16 第第 3 章章REST 及其及其 Web 服务相关理论和技术服务相关理论和技术.17 3.13.1RESTREST 的产生及定义的产生及定义 .1717 宁波工程学院本科毕业设计论文 5 3.1.1 REST的产生.17 3.1.2 REST的简介.17 3.1.3 资源、标识及表示.18 3.1.4 REST的设计准则.19 3.23.2REST 风格的面向资源的架构风格的面向资源的架构 .2020 3.2.1 资源.20 3.2.2 面向资源架构的特性.20 3.33.3Restful Web 服务优势分析服务优势分析 .2222 第第 4 章章基于基于 REST 架构风格的架构风格的 Web 服务设计服务设计.24 4.14.1方案的设计原则方案的设计原则.2424 4.24.2框架的设计及解决方案框架的设计及解决方案.2424 4.2.1 URI.24 4.2.2 Restful Web Services的设计.25 4.2.3 框架的实现.27 第第 5 章章总结与展望总结与展望.29 5.15.1总结总结.2929 5.25.2展望展望.2929 致谢致谢.31 作品使用说明书作品使用说明书.32 宁波工程学院本科毕业设计论文 6 第第 1 1 章章 绪论绪论 1.11.1WebWeb 服务的研究背景服务的研究背景 Web 服务技术遵循面向服务架构1(SOA: Service-Oriented Architecture)将 网络上的成员划分为 Web 服务的需求者、提供者和中介者三种角色。并且以各 项基于 XML2的标准协议达成异构平台间的整合,利用简单对象访问协议 (SOAP) 3执行、发布和查询服务,以 Web 服务4描述语言(WSDL) 5描述服 务的应用程序接口,并且通过统一描述发现与整合规范(UDDI) 6为服务需求者 和提供者提供代理机制。 近年来,通过许多已存在的 Web 服务的协同组合产生一个新的 Web 服务以 达成新目的的行为被称之为 Web 服务组合,产生的新的组合服务可以作为构成 其它组合服务的一个基础服务。通过 Web 服务组合可以实现出具备更多新的功 能更有价值的企业流程,通过基础 Web 服务的组合可以创造出更多更有价值的 企业应用服务。目前有很多的企业组织都将它们的核心服务包装成 Web 服务的 形式放在网络上供服务需求者使用,例 Google 的搜寻服务 Amazon 的书籍查询 服务等。如此通过面向服务架构中介机制的透明化特性,Web 服务组合便可以跨 越企业组织将各个不同企业所提供的 Web 服务加以组合创造出新的更有价值的 Web 服务。 从 Web 服务组合使用者的观点来看,Web 服务组合的需求规范可以划分为面 向过程的规范7 (POS; Process Oriented Specification)和面向接口的规范8 (IOS;Interface Oriented Specification)两种。POS 规范包含许多抽象化的 Web 服 务组件(以服务的功能为基础并不需要实际指定由哪一个服务负责执行)配合企业 应用逻辑以工作流程的概念描述这些 Web 服务间的协同关系;IOS 规范只需要 Web 服务组合使用者针对所需求的 Web 服务组合提供输入和输出的信息,至于 Web 服务组合中要包含那些 Web 服务组件,要以什么样的结构组合这些服务, 都是服务设计者的问题,使用者并不需要知道。 这两种 Web 服务组合需求规范必须以不同的方法来达成,采用 POS 规范的 Web 服务组合最好是由企业逻辑模型配合工作流程的规划来实现 Web 服务的组 宁波工程学院本科毕业设计论文 7 合协同;而采用 IOS 规范的 Web 服务组合则需通过自动化程序组合方法的使用 来达成 Web 服务的组合协同。就 Web 服务组合发展来看,采用 POS 规范也就是 利用工作流程的概念来规划 Web 服务的组合协同仍然是目前最通用的方法,许 多的 Web 服务汇编语言例如 BPEL4WS, WSFL9, WSCL, XLANG, BPML,BPSS, WSCI10、WF-XML, JDF, PIPS 等也都采用工作流程的概念作为 协同 Web 服务组合运作的方法。 1.21.2WebWeb 服务组合存在的问题服务组合存在的问题 1.2.1 Web 服务组合的挑选问题 由于在 Web 服务的架构下,通过 UDDI 中介机制每个服务提供方都可以让 中介者注册服务,因此在进行 Web 服务组合时,对于相同的目的效果可能有许 多的 Web 服务都可以达成,也就是组合的方式有很多,所以 Web 服务在组合是 要进行挑选。而对 Web 服务组合而言,就不单单只是一个 Web 服务的挑选问题, 因为随着参加组合的 Web 服务数量的增多,有许多的研究从出现的排列组合可 行方案就会以倍数成长。从 Web 服务的质量上着手,所谓的 Web 服务质量指的 是 Web 服务的执行时间、可靠度、价格等的非功能特性,通过这些非功能特性 的评估,让开发者有选择的依据。 1.2.2 Web 服务组合能力问题 Web 服务要彼此组合必须输出结果与输入参数的数据类型能够互相配合,并 且数据代表的意义要相同,否则 Web 服务组合执行的结果就会出问题,而这样 的特性被称之为 Web 服务的组合能力11。现在一般是在组合时通过语意描述的 比对来判断 Web 服务的组合能力。 1.2.3 Web 服务组合的验证问题 Web 服务组合可以通过组合平台的设计或者程序撰写的方式来开发,无论哪 种,在设计 Web 服务组合的流程时都有可能发生流程设计的问题例如:死锁、 不可达性等。这些问题在 Web 服务组合的设计阶段不容易看出来,要等到 Web 服务组合执行时才会发生,但这时很可能已经产生了很多无法弥补的错误。因此 宁波工程学院本科毕业设计论文 8 在 Web 服务组合实际执行前必须对 Web 服务组合的流程进行验证。 1.31.3WebWeb 服务组合问题分析及研究目的服务组合问题分析及研究目的 1.3.1 问题分析 在设计 Web 服务组合定义时,Web 服务组合开发者通过 Web 服务组合平台 或以程序撰写方式所设计出来的 Web 服务组合流程,则可能发生流程设计上的 错误,例如:死锁、不可达性等,这些错误在 Web 服务组合的定义设计时很难 发现,然而在执行阶段这些错误就会造成 Web 服务组合的执行结果输出错误、 Web 服务组合中的某个成员服务重复执行等严重后果。再者,开发者所设计定义 的 Web 服务组合流程经常会出现过于繁杂且不必要的流程设计,这些多余的流 程设计就会导致 Web 服务组合的效率低下,影响速度,Web 服务组合的质量也 就下降了。所以本课题的研究归为以下两个方面: 1在 Web 服务组合执行前发现 Web 服务组合存在的流程设计错误。 要在 Web 服务组合实际执行前验证 Web 服务组合的流程设计是否存在问题, 可以运用模型化工具将 Web 服务组合加以建模,然后进行流程状态推演的仿真 分析,从而发现流程设计的问题。因此本课题采用 Restful 状态思想进行建模将 Web 服务组合流程加以模型化,主要是验证以下两个问题: 死锁 在 Web 服务组合的执行过程中,若由于流程设计的错误造成输出输入数据 的相互占据导致某个成员服务一直无法获得数据的输入以启动服务的执行,则称 该 Web 服务组合发生死锁问题。 可达性 由于 Web 服务组合仍然被视为一个 Web 服务,因此它必须具备一个接收输 入参数和一个传送输出参数的位置。无论在 Web 服务组合执行的过程中,数据 通过流程的设计如何移转,当 Web 服务组合执行结束时,输出的数据要到达传 送输出参数的位置,代表 Web 服务组合顺利完成并产生结果准备输出,并且除 了输出参数的位置以外其它的成员服务不应该还拥有相关资料,否则代表该成员 服务还未执行或执行完的结果还未输出。满足以上条件的 Web 服务组合称之为 具备可达性特性,反之则称该组合服务为不可达性。 宁波工程学院本科毕业设计论文 9 2如何消除繁杂的不必要的流程设计。 对于繁杂且不必要的流程设计可以通过适当的流程简化转换,而达到消除多 余流程设计的效果,通过一些新的组合方法的选择可以使原有的设计更加的简便, 并且不影响原有的功能。 1.3.2 研究目的 根据以上的研究问题可以发现,Web 服务组合在实际执行前若未经过验证将 可能发生死锁、不可达性等问题,这些流程设计问题必须通过建模工具的模拟分 析否则将难以在 Web 服务组合的设计阶段发现。并且 Web 服务组合开发者的 Web 服务组合流程设计可能过于繁杂而不够简单明了,就会造成 Web 服务组合 的执行效率很低。为解决以上的问题,本课题提出一个基于 Restful 的 Web 服务 组合方法,以达成以下两项目的: 确保 Web 服务组合流程设计的正确性 Web 服务组合实际执行时发生 Web 服务互相等待输入消息就会产生死锁问 题,就会造成 Web 服务组合使用客户的不满,为了避免这个问题,本课题提出 一个基于 Restful 模型化 Web 服务组合的 Web 服务组合的流程,通过 Restful 状 态模拟分析,提前发现 Web 服务组合的错误设计所造成的死锁、不可达性等问 题,以确保 Web 服务组合流程设计的正确性。 改善 Web 服务组合的执行效率 本课题将多个流程简化规则应用在 Web 服务组合的简化上,这些简化规则 可以在不影响 Web 服务组合原有功能的前提下,转换 Web 服务组合流程中过于 繁杂且不必要的流程设计。通过 Web 服务组合流程的简化将可以减少由于繁杂 的流程设计所造成的时间浪费达到大大提升 Web 服务组合执行效率的效果。而 基于 REST 的 Web 服务组合就能够解决这个问题,利用 REST 的简洁性能够很 大的提升组合的效率。 1.41.4论文结构论文结构 本论文结构共分为五章,分别描述如下: 第一章、绪论:绪论部份描述本课题的研究背景、研究问题和研究目的并且 宁波工程学院本科毕业设计论文 10 说明本论文的结构分布。 第二章、Web 服务组合的综述:本章为相关技术的概述。主要目的是为本课 题所做工作提供相关的基础知识。综述 Web 服务组合的基本概念以及 Web 服务 组合的研究现状。 第三章、REST 及其 Web 服务相关理论和技术:提出了基于 REST 思想的 Web 服务组合的模型,总体介绍了 REST 的思想和技术理念。 第四章、基于 REST 架构风格的 Web 服务设计:介绍了基于 REST 思想的 Web 服务的具体案例及其实现。 第五章、总结与展望:总结自己的论文。 宁波工程学院本科毕业设计论文 11 第第 2 2 章章 WebWeb 服务组合的综述服务组合的综述 2.12.1WebWeb 服务组合的基本概念服务组合的基本概念 2.1.1 Web 服务简介 Web 服务是一种新的应用程序。它是自我描述、模块化的应用程序,可以在 Web 之间进行发表、定位和调用。Web 服务它的功能可以是简单的请求也可以 是复杂的商业过程。一旦确定了一个新的 Web 服务,其它的应用程序或者其它 的 Web 服务也可以发现和调用这个的服务,也就是进行组合。 Web 服务可以看作是一个软件接口,它描述的是一组可以在网络上通过标准 的 XML 消息传递或访问的操作。描述要执行的操作或者与另一个 Web 服务进行 数据交换都是通过 XML 语言的协议来实现的。 Web 服务所使用的 XML 可以用与平台无关的方式来描述任何的数据,这样 便于在系统件进行数据交换。而且,Web 服务可以在比较抽象的层面上运行,还 可以动态地重新评估、修改或处理数据。所以,从技术层面上讲,Web 服务可以 更方便地处理数据,并且使得软件更自由地进行信息交换。 Web 服务是由服务描述和服务实现两部分组成的。服务描述(Service Descript ion)用于描述服务调用的接口信息等,如服务的数据类型、操作、绑定信息、网 络位置等。此外还可以方便服务请求者发现和利用已分类的数据或者其他的元数 据。服务及服务描述的实现,是一个软件模块,部署在可以通过网络访问的服务 平台上,供用户使用。 2.1.2 Web 服务组合的目的、特点和要求 Web 服务组合,是指从互联网中选取相对简单、可用的 Web 服务并将它们 重新组合成新的服务的技术。组合后的新服务被称为复合服务;用于组合复合服 务的子服务称之为构件服务。Web 服务组合是一个新兴的研究领域,很多研究人 员在组件技术和工作流技术等领域已经做出了大量的研究。通过软件重用和工作 流的业务协同处理,人们可以迅速构造满足客户需求的新的功能更好的应用系统 宁波工程学院本科毕业设计论文 12 。 Web 服务组合的目的是利用一组相关的服务来共同完成某一个功能过程,实 现一定的用户目标。服务组合的实现主要要解决以下问题: 1灵活性支持。服务是动态、多变的,所以要求服务组合要高度灵活。由 于为了完成某一过程而涉及的服务处于不断变化中,不断有新的服务加入,同时 也要淘汰一些服务;一些服务的形式也是不断变化的,所以服务组合需要灵活的 选择和使用。 2客户化。服务组合的目的是为了满足客户的需求,因此服务组合的方式 要易于用户使用的。实际应用中客户与服务提供者处于不同的环境,它们之间的 背景可能存在较大的差异。因此,为了适应客户的需求,需要提供一种良好的组 合方式 ,使得客户可以不必了解服务提供者和服务的细节,就可以方便有效地 使用相关的服务。 3可靠性保障。由于 Web 服务组合处于一个快速、多变的环境中,因此需 要对协同过程提供可靠性保障,这样就不会因为其中的某个服务的异常而中断全 部,同时确保服务组合执行的事务性,这样可以保障电子商务过程的完整、安全 有效的执行。 与传统的工作流集成相比,服务组合有以下特点: 1服务的空间更大。服务提供商是遍及因特网的,服务是动态更新的,新 服务可能不断的加入,服务的具体能力也是不断完善的。 2可能有多个服务提供商提供类似的服务,这些服务可能在某些和功能没 关的方面存在差异,比如服务的质量、价格等;对于不同地域的用户来说,同一 个服务可以提供不同的服务质量。 3服务组合能够根据客户的需求动态调整,并且根据客户的需求选择不同 的具体服务。 4基于因特网的服务组合要考虑比传统工作流集成更多的因素,比如安全 、数据格式转换等。 Web 服务组合必须满足一定的要求,这些要求也成为了 Web 服务组合中的研究 难点。它们主要包括: 1能够动态地发现一些满足需求的基本服务。 2对于发现的与服务组合相关的各种服务组件和基本服务,定义它们的逻 辑和时序关系,来实现自动化的 Web 服务组合。 宁波工程学院本科毕业设计论文 13 3能够对复合服务进行安全控制和事务处理。 4保持语义信息,验证和测试复合服务,确保 Web 服务执行的正确性。W eb 服务组合应该具有高可用性,高可靠性和高度自适应性。 2.1.3 Web 服务组合的分类 在 Web 服务组合中,存在构件服务和复合服务两种形式,构件服务是一种 可以直接调用、不依赖其它服务的服务。复合服务就是将构件服务或者其它复合 服务组合起来完成一个复杂功能的服务。通常意义上讲,Web 服务组合可以分为 两类:静态组合和动态组合。 在静态组合中,复合服务在设计阶段就被定义。组合过程对于服务请求者来 说是看不到的;服务请求者可以像调用构件服务那样调用复合服务。比如一个天 气预报查询系统,它应该包括天气的查询,地区的查询。由于这项复合服务的使 用频率比较高,服务提供者若将这两个服务先集成在一起更符合应用的需要。 动态组合是指在运行时刻选择和调用所需服务然后将它们组合为一个复合服 务的过程。例如一个商务旅行管理系统,它通过与机票管理、酒店管理、线路管 理、租车管理等系统的协作为客户安排旅行事宜。像这样的一个复合服务不可能 事先就把它所需的构件服务和它们之间的工作流定义好,而是应该根据特定的情 况进行交互。 将一个服务设计成动态的还是静态的,这取决于复合服务的性质及其应用的 范围。如果复合服务本身是希望与合作伙伴之间有一个比较固定的关系,并且它 的构件服务不怎么进行改动,那么静态组合就比较合适。相对地,动态组合适用 于那些特定复合服务用的较少,同时它的构件服务也不十分稳定的情况。不过, 动态组合可以更好地利用构件服务的当前状况,并根据实时参数在运行时进行优 化。 2.22.2WebWeb 服务组合的工作原理服务组合的工作原理 Web 服务主要是基于服务的消费者、注册中心及提供者三者之间进行交互。 交互操作一起对 Web 服务软件模块提供功能服务,下图 2-1 就是 Web 服务的这 种面向服务的体系结构 SOA ( Service-Oriented Architecture)的结构图。 宁波工程学院本科毕业设计论文 14 图 2-1 SOA 体系结构 从图 2-1 中可知 SOA 三角色之间存在发布、查询和绑定三种类型的操作, 每个操作完成对应的功能: 发布,就是服务提供者将其服务在注册中心进行注册,以访问接口的形式让 用户知道自己的功能。查询,服务查询也可以称作服务发现,就是在服务提供者 在注册中心中注册完自己的服务后,服务的消费者就可以在注册中心去查询到自 己需要的服务。绑定,服务消费者在注册中心查询到了自己需要的服务后,与提 供此服务的服务提供者进行绑定来请求相关的服务。 Web 服务三角色之间的三种相互操作的互操作性是通过协议栈来实现的。和 网络的分层结构相似,协议栈上层是根据它的下层所提供的功能来建立的。一种 简单形式的协议栈包括 HTTP,SOAP 及 WSDL,对于这种协议栈的 SOA 体系结 构如下图 2-2 所示: 图 2-2 基于协议栈的 SOA 体系结构 宁波工程学院本科毕业设计论文 15 2.32.3WebWeb 服务组合的关键技术服务组合的关键技术 2.3.1 XML XML(Extensible Markup Language)是一套定义语义标记的规则。同时,也 是一种对其它的标记语言进行定义的句法语言,而其它的标记语言是与某种特定 领域相关的,也是语义的、结构化的。XML 是以 SGML 为基础发展起来的,相 当于它的一个简化子集,不仅集成了从 SGML 那里继承的丰富功能之外,而且 集成了 HTML 语言所具备的易用性特性。它对数据结构的定义是开放式的和自 描述式的。XML 给应用程序及用户提供组织化的数据是一种友好的、可操作的 方式。 XML 有如下几个方面的特点: 在网络数据交换中,XML 是作为一种统一格式。XML 一开始是一种文 档描述语言,是一种数据交换格式,所以说,XML 本身就是一种基于 S GML 的符号语言。同时,对于互联网上的数据交互而言,XML 也是一 种不错的解决方案,所以除了作为一种专门的文档描述语言外,还广泛 应用于互联网中很多领域的数据交换。 XML 对数据描述而言功能非常强大。XML 可以解决文本传输过程出现 的文字代码不同引起的阅读问题,所以相比其它的以文本形式的数据描 述语言来说,XML 语言可以做到让数据以文本的形式在不同的平台之间 进行交互。 XML 是一种元语言。正因为 XML 可以作为一种元语言,所以可以用它 来定义其它的新的语言,同时也因为它是元语言,所以也就可以成为当 前很多的应用的基础描述语言。 2.3.2 WSDL WSDL 是指 Web 服务描述语言(Web service Description Language),是程序 员描述 Web Service 的手段。WSDL 是用 XML Schema 来定义的,能够对多种语 言实现的服务接口进行描述。它将 Web 服务定义为网络端点的集合,使用类型 、端口等元素来描述服务的接口。请求者就可以知道服务需要哪些数据类型、传 输协议等,这样就实现了对 Web 服务的调用。 宁波工程学院本科毕业设计论文 16 随着通信协议及消息格式的标准化,以结构化的方式来对通信信息进行描述 也已经成为可能,同时也越来越重要。WSDL 利用 XML 同一种通信端点集合来 描述网络服务,它能够支持网络上的信息交换。WSDL 文档以网络端点或网络端 口的集合方式来对服务进行定义。从端点和消息的抽象定义可以知道,它已经脱 离了具体的数据格式和通常的网络部署。 2.3.3 SOAP SOAP 是指简单对象访问协议(Simple Object Access Protocol),是应用于 Web 之上的一种简单的轻量级协议12,其目的是为了实现以基于 XML 的方式来对结 构化及类型信息进行交换,提供了一种在应用程序与 Web 服务之间的通信手段 ,这样就实现在异构平台之间实现互操作性。SOAP 的设计目标就是简单并使功 能最少化。由于在此协议上定义了一个对消息进行处理的框架,此框架的定义之 中没有包含任何传输语义或应用程序。这样就使协议本身是模块化的,还可以进 行更好的可扩展。 在当前标准的网络协议之上,本协议能够很容易地被那些支持标准的 Interne t 协议的系统所理解。所以,基于 SOAP 的 Web 服务虽在其结构上十分地简单, 但在功能却很强大,这源于其设计的简单化。 SOAP 协议主要由多个部分组成。可扩展信封是第一部分,是封装数据所必 需的。信封对 SOAP 消息进行了定义,也是消息之间交互的基本单位。 2.3.4 UDDI UDDI 指统一描述、发现和集成协议13(Universal Description,Discovery an d Integration) ,可以为 Web Service 提供宿主。它是 Web 服务的关键技术,可以 提供服务的发布与查询 14。 UDDI 是以实现全球统一目录为目标的,对公共的 Web 服务进行维护。缺少 UDDI 的话,Web 服务对于服务提供者来说就无法发布,也就无法来对相应的 W eb 服务进行查找,就实现不了远程的 Web 服务调用。所以,有了 UDDI,Web 服务提供者就可以通过 UDDI 来注册自己已有的 Web 服务,服务请求者可以通 过 UDDI 查找所需要的 Web 服务。 宁波工程学院本科毕业设计论文 17 第第 3 3 章章 RESTREST 及其及其 WebWeb 服务相关理论和技术服务相关理论和技术 3.13.1RESTREST 的产生及定义的产生及定义 3.1.1 REST 的产生 REST 的概念是 2000 年在 Roy Fielding15,16在其博士论文Architectural Style s and the Design of Network-based Software Architectures中首次提出的。当时他 提出的 REST 概念并没有得到太多的关注与认知。但是 Web 服务技术的发展, REST 现在已经受到极大的关注,并已经出现在很多支持 REST 理念的框架。 在 REST 之前,Web 应用大部分都是基于 B/S 模式来进行开发的。B/S 架构 模式包括一些基本规范:客户-服务器、无状态性及缓存。这些规范的制定使得 其部署十分地便捷,所以一直以来很受欢迎。但随着应用地开展,其在用户体验 方面的不足也表现出来了。REST 理念的引入正好改善了这种状况。 3.1.2 REST 的简介 REST 在以上原有的 B/S 规范(客户-服务器、无状态性及缓存)的基础上新增 了另外三个规范:统一接口,分层系统和按需代码。 统一接口:就是指 REST 通过统一的链接接口对相应资源进行操作。这里的 资源是指 REST 将网络上所有的信息都可以看作是某种资源。这样既有了更好的 解藕性,也使系统更加地简化,进而使系统具有更高的可重用性及交互性。RES T 以 URI 来确定资源,其充分地发挥了 HTTP 本身具备的分布式特性,将 HTTP 提供的四种基本方法(GET, POST, PUT 及 DELETE)分别对应资源的操作(查询 、创建、修改及删除)。 分层系统:可以使系统本身的各层之间具有更好的独立性,降低了系统的复 杂性。通过良好的封装就能使新的功能服务与旧的功能服务之间免受影响,从而 达到更好的可伸缩性。 按需代码:这是 REST 的一个可选的规范约束,其允许在客户端进行功能的 扩展。 宁波工程学院本科毕业设计论文 18 从以上介绍易知,REST 其本身只是一种针对分布式超媒体系统设计的一种 架构风格,并不是一种标准。Web 架构其实就是各种规范的集合,新的架构就是 在原规范基础上加入新的规范,REST 也是这样。REST 就是原有的 Web 规范的 基础上增加了三个新的规范所形成的一种新型的架构风格。 3.1.3 资源、标识及表示 “资源”在 REST 的架构中是一个很关键的概念。换句话说,理解了资源也 就理解了 REST。资源主要是由三个元素组成17的: Nouns。对于网络上的 URI 来说,其就是表示不同种类的资源,如一首非常 流行的摇滚音乐,一部备受好评的电影,又或是一张非常精美的图片,再或 是一篇很搞笑的网页小说故事等等,这一切都是资源,尽管这些资源存放的 不尽相同。这里的 Nouns 其实就是指 URI,指的是与唯一资源相关联的 URI 地址。理论上来讲,一个资源对应一个 URI,用多个 URI 来同时表示唯一一 个资源是不合理的。 Content Types。由上文可知,URI 即代表着资源的地址,而 REST 里面的资 源都有它特有的概念,而不单单只是表示如 TXT 或 XML 等这样的一个文件 。同一个资源因为可能存在多种不同的表现形式,所以也就可能存在多个 U RI 指向同一个资源的不同的表现形式,但是都是指向同一个资源本身的情况 。这种不同的资源表现形式就是这里的 content Types。也就是说,这里的 Co ntent Types 与资源文件既相关又有不同,代表着资源的一种表现形式,一个 资源可以有多种表现形式,多种表现形式可以用来表示同一个资源。 Verbs。就是提的对资源的操作方式。众所周知,对于数据库而言,对数据的 处理只有四个基本动作,即经典的 CURD(GET、POST、PUT 及 DELETE), 分别对应数据库数据的一种操作(查询、创建、修改及删除)。我们对数据处 理的所有操作,不管是简单的还是复杂的,都是由这四个基本操作所组成的 。其实,对于上文提到的资源的操作也是一样的,对于 Web 应用而言,每个 URI 其实都指向一个资源,所以通过 URI 所产生的 HTTP 请求的各种操作也 是基于以上四种基本操作的。即网络本身就可以看作一个超大的资源数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园防火安全培训记录课件
- 2025中国联合网络通信有限公司河南省分公司校园招聘(79个岗位)笔试题库历年考点版附带答案详解
- 2025中国电信北京公司春季校园招聘笔试题库历年考点版附带答案详解版
- 2025年教育科技行业AI教育技术应用前景报告
- 2025年儿科常见疾病诊疗实战模拟试卷答案及解析
- 2025年物联网行业智能硬件与智慧城市发展研究报告
- 2025年金融科技行业跨境支付安全风险评估报告
- 2025年健康产业行业健康管理服务数字化发展报告
- 2025年旅游行业智慧旅游平台发展方向研究报告
- 谁摘的红果多课件
- 劳动课冰箱清洁课件
- 2025年公共基础知识考试试题及参考答案详解
- 建筑设计数字化协同工作方案
- 新入行员工安全教育培训课件
- 原生家庭探索课件
- 人教版音乐八年级上册-《学习项目二探索旋律结构的规律》-课堂教学设计
- 《中国人民站起来了》课件 (共50张)2025-2026学年统编版高中语文选择性必修上册
- 中国企业供应链金融白皮书(2025)-清华五道口
- 医院常用消毒液的使用及配置方法
- 2022英威腾MH600交流伺服驱动说明书手册
- 分期支付欠薪协议书范本
评论
0/150
提交评论