REST软件架构的REST与CRUD(资源操作)

作者&投稿:荡苇 (若有异议请与网页底部的电邮联系)
REST软件架构的REST与AJAX技术~

尽管AJAX技术的出现才不到两年时间,但是AJAX技术遵循了REST的一些重要原则。AJAX技术充分利用了HTTP来获取网络资源并且实现了HTTP没有的对于异步数据进行传输的功能。AJAX技术还使得软件更好地实现分布性功能,在一个企业内只要一个人下载了AJAX引擎,其它企业内部的人员,就可以共享该资源了。AJAX技术遵守REST准则的应用程序中简单和可伸缩的架构,凡是采用AJAX技术的页面简洁而又丰富,一个页面表现了丰富多彩的形态。AJAX技术还使用了一种不同于XML格式的JSON文件格式,这个意义在哪里呢?在REST软件架构下我们不能对于XML文件进行序列化处理,这样程序员必须要使用自己的XML绑定框架。而以序列化的JavaScript对象为基础的JSON已经获得了广泛认可,它被认为能以远比XML更好的方式来序列化和传输简单数据结构,而且它更简洁。这对REST是一个极大贡献和补充。当前的网络应用软件还违背了REST的“无状态服务器”约束。REST服务器只知道自己的状态。REST不关心客户端的状态,客户端的状态自己来管理,这是AJAX技术的应用之地。通过AJAX技术,可以发挥有状态网络客户机的优势。而REST的服务器关心的是从所有网络客户端发送到服务器操作的顺序。这样使得互联网这样一个巨大的网络得到有序的管理。

尽管在Java语言世界中网络服务是以SOAP技术为主,但是REST将是是网络服务的另一选择,并且是真正意义上的网络服务。基于REST思想的网络服务不久的将来也会成为是网络服务的主流技术。REST不仅仅把HTTP作为自己的数据运输协议,而且也作为直接进行数据处理的工具。而当前的网络服务技术都需要使用其它手段来完成数据处理工作,它们完全独立于HTTP协议来进行的,这样增加了大量的复杂软件架构设计工作。REST的思想充分利用了现有的HTTP技术的网络能力。在德国电视台上曾经出现过一个这样的五十万欧元智力题:如何实现网络服务才能充分利用现有的HTTP协议?该问题给出了四个答案:去问微软;WSDL2.0/SOAP1.2;WS-Transfer;根本没有。这个问题告诉我们HTTP并不是一个简单的数据传来传去的协议,而是一个聪明的会表现自己的协议,这也许是REST = Representational State Transfer的真正含义。实际上现在很多大公司已经采用了REST技术作为网络服务,如Google、Amazon等。在Java语言中重要的两个以SOAP技术开始的网络服务框架XFire和Axis也把REST作为自己的另一种选择。它们的新的项目分别是Apache CXF 和Axis2 。Java语言也制定关于REST网络服务规范:JAX-RS: Java API for RESTful Web Services (JSR 311)。相信还会出现更多与REST相关的激动人心的信息。

REST软件架构使用了CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建(Create)、获取(Read)、更新(Update)和销毁(DELETE),就可以组合成其他无数的操作。其实世界万物都是遵循这一规律:生、变、见、灭。这个原则是源自于我们对于数据库表的数据操作:insert(生)、select(见)、update(变)和delete(灭),所以有时候CRUD也写作为RUDI(read update delete insert)。这四个操作是最基本的操作,即无法再细分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。




如何制作app软件?
前端开发整体完成后,继续进行的是服务端开发。服务端开发包括架构设计、数据库设计、业务功能实现及接口封装、管理后台的开发等。服务端开发就像房子的地基,它是APP的底层框架,直接影响到APP的稳定性和可塑性,占有重要的地位。06 代码测试 当APP的所有功能开发完成后,软件测试工程师就会对整个APP进行测试...

怎样才能把手机软件制作成apk格式?
前端开发整体完成后,继续进行的是服务端开发。服务端开发包括架构设计、数据库设计、业务功能实现及接口封装、管理后台的开发等。服务端开发就像房子的地基,它是APP的底层框架,直接影响到APP的稳定性和可塑性,占有重要的地位。06 代码测试 当APP的所有功能开发完成后,软件测试工程师就会对整个APP进行测试...

如何开发app
前端开发整体完成后,继续进行的是服务端开发。服务端开发包括架构设计、数据库设计、业务功能实现及接口封装、管理后台的开发等。服务端开发就像房子的地基,它是APP的底层框架,直接影响到APP的稳定性和可塑性,占有重要的地位。06 代码测试 当APP的所有功能开发完成后,软件测试工程师就会对整个APP进行测试...

app源代码如何做软件源代码怎么做成app软件
将软件源代码转化为APP软件的过程通常包括以下步骤:1、确定目标平台:确定你要将应用发布到哪个平台,如iOS、Android或Windows等,不同的平台需要使用不同的开发工具和语言。2、选择开发工具:根据目标平台选择合适的开发工具,例如,如果你选择开发iOS应用,可以使用Xcode开发环境;如果你选择开发Android应用,...

苹果机与PC机的历史!
1987年8月11日,苹果主席Sculley在MacWorld上推出第一个广泛使用的超文本软件HyperCard ...IBM微电脑技术总设计师埃斯特利奇(Don Estridge)负责整个跳棋计划的执行,他的天才和辛勤工作直接导致了...因开放标准而受到兼容机困扰的IBM,在Model 50以及更高配置的PS\/2产品系列中,引进了微通道架构(Micro...

有没有可以制作app的工具?
前端开发整体完成后,继续进行的是服务端开发。服务端开发包括架构设计、数据库设计、业务功能实现及接口封装、管理后台的开发等。服务端开发就像房子的地基,它是APP的底层框架,直接影响到APP的稳定性和可塑性,占有重要的地位。06 代码测试 当APP的所有功能开发完成后,软件测试工程师就会对整个APP进行测试...

合阳县18612835443: rest是什么意思 -
昔冯通脉:rest(一种软件架构风格)REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.它是一种针对网络应用的设计和开发方式,可以降低开发的复...

合阳县18612835443: 什么是REST API -
昔冯通脉: 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制.拓展内容: 原则条件:REST 指的是...

合阳县18612835443: 怎样用通俗的语言解释什么叫 REST,以及什么是 RESTful -
昔冯通脉: REST (REpresentation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一.REST 指的是一组架构约束条件和原则.满足这些约束条件和...

合阳县18612835443: REST思想及与MVC的关系 -
昔冯通脉: 表述性状态转移(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性.目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现.例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的.

合阳县18612835443: RESTful API 怎么实现用户权限控制 -
昔冯通脉: Representational State Transfer,简称REST,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.REST比较重要的点是资源和状态转换,所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息.它可以...

合阳县18612835443: 如何实现真正的REST风格? -
昔冯通脉: SocialSite的REST API最近因Roy Fielding称其不符合REST风格而受到批评.Roy说,它是众多自称符合REST风格而实则不然的系统之一. OpenSocial的REST API是RPC式的,而且是公然宣誓其RPC本性.它在如此多的方面存在耦合,所以...

合阳县18612835443: java使用restful格式有什么好处 -
昔冯通脉: 好处:1.REST规范:强调HTTP应当以资源为中心,并且规范了资源URI的风格;2.规范了HTTP请求动作(PUT,POST等)的使用,具有对应的语义;3.遵循REST规范的Web应用将会获得下面好处: a.URL具有很强可读性的,具有自描述性; b.资源描述与视图的松耦合; c.可提供OpenAPI,便于第三方系统集成,提高互操作性; d.如果提供无状态的服务接口,可提高应用的水平扩展性;

合阳县18612835443: 什么是soa roa 谈谈两种技术的原理及适用场景 -
昔冯通脉: 本真REST当然是对面向资源架构的一种实现,而并非一种纯粹的技术决策.所以当讨论本真REST时,真正应该讨论的问题是:其基础支撑——面向资源的架构(ROA)——是否真的适合作为你的SOA实现.为正确评估该问题,让我们首先回...

合阳县18612835443: 怎样用通俗的语言解释REST,以及RESTful -
昔冯通脉: 0. REST不是"rest"这个单词,而是几个单词缩写.但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);1. REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词.“资源”是REST架构或者说整个网络处理的核心

合阳县18612835443: Java应用开发中代码生成工具的作用是什么?
昔冯通脉: 近来,随着各种代码生成工具的不断涌现(如SpringSource的Spring Roo、Skyway ... 是否有相应的社区呢?软件的质量如何(未解决的缺陷、最终用户的博客以及架构性...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网