经验丰富的企业架构师知道,在IT领域内没有灵丹妙药,也没有一个单一的解决方案能够满足每一个tee命令的需求标准,但是,当涉及到网络服务开发时,一种基于REST的开发方法越来越受人们的欢迎。REST可能并不是适用于每种情况的最好方法,但是,与网络开发中其他方法相比较,REST是最有可能协助组织列出最短清单的方法。实际上,即使在最具挑战性的情况下REST也能发挥其有效性。关键是,只需要开发人员正确使用REST就可以。
高效的RESTful技术应用
不用说,当这些应用程序中可以建立已证明的、有效的结构时,充分地利用REST方法来开发一个分布式架构就会变得容易些。分布式计算中,如果你想要了解RESTful开发过程,你就要在全球各地搜寻,找到这样的专家。这种情况下,TheServerSide与Jerome Lovell (@jlouvel)取得了联系,他是Restlet in Action合作者,也是Restlet结构的创始人。Lovell分享了几个获得最有效的RESTful网络开发独到的建议。
当要处理复杂业务时,其中包括几种资源的交易需要进行协调,网络开发人员经常会提出的一个问题就是,如何使用REST来完成任务。通过直截了当的解决方法建立一个简单的案例,Louvel提出了针对电子商务的建议。例如,为了在RESTful程序中加入传统的在线购物应用程序,架构师只需要将相关的业务事务分解到所有底层的组件中就可以。
在线电子商务系统中,顾客希望能够浏览产品、选择产品、查看和编辑购物车、输入付款和物流信息,然后作出最后的支付决定。用户完成交易后,只需要通过导航回到之前的步骤。从API角度考虑,这就意味着要通过URI将所有交易的重要部分转化为资源。最后,交易完成后,发送一个最终的HTTP请求,协调每个资源中的交易阶段。Louvel说:“只需要根据业务流程的复杂性,来查看一组或者多组资源中的交易。从技术上讲,这不存在任何阻碍。不需要把你习惯做的事情与RPC做映射,或者是在一个请求中加入过多的条件。”
使用API方法轻松转换成资源
设计RESTful API经常要放弃之前所学的东西。当开发人员试图叠加已有的知识和使用RPC的分布式计算时,就会遇到一些问题。问题就是,开发人员发现自己正制造更多的问题,而不是解决问题。当开发RESTful API时,Louvel建议不要采用通常的、传统的方法。我们要忘掉面向服务的、基于RPC的这方面知识。然后,你就会发现工作中不存在限制,你可以真正开始解决业务中出现的问题。此外,涉及RESTful结构开发的模块化意味着开发人员要具备更小、更敏捷的部分,当涉及有效的解决方案时,可以提供较好的灵活性。
Louvel针对Java开发人员提出的主要建议是:尽量遵从RESTful开发和设计中的规定,但是同时,只需使用其中需要的那部分。要把一切都看成是一种资源。使用来自HTTP协议的调用,尤其是使用GET、PUT、POSTandDELETE调用来有效地建立和更新资源。最后,第二套方案是,以RESTful方式来处理该问题。通过应用这些基本概念,开发人员得到大量的内置功能,与万维网相同,例如免费的缓存和自动压缩功能。
一旦开发团队有了这些基础知识后,会更上一层楼,并会以RESTful角度来看待问题。Louvel说:“尽量使用多媒体作为应用程序引擎。这是难以应用的原则,开发人员也在寻求一种更好的方法。”
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
如何创建成功的RESTful API设计
设计好的API是一项困难的任务,存在很多主观指标。哪怕是完全拥抱RESTfulAPI设计并对其问题域拥有完整视图的小型初创企业最终也会出现命名不一致、界面模糊以及无记录语义等问题。
-
API创建影响生产的六个方面
在API创建方面,简单性至关重要。AnyPresence的Vivek Gupta讨论了开发者可以从6个方面处理好API的创建问题,从而加速API生产。
-
RESTful API设计给开发人员带来怎样的未来?
在模块化应用世界里,最为持久的争论莫过于面向服务架构和表述性状态转移之争了。本文探讨这样的争论带来了什么及其背后的原因。
-
遗留应用现代化场景:如何正确使用RESTful API
企业正在使用RESTful API来现代化其基础架构的关键方面,但是该方案怎么才能工作呢?我们为此专门采访了OpenLegacy的Zeev Avidan。