RESTful API的未来

REST是一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的web服务开始采用REST风格设计和实现。

有状态和无状态组件之间的区别

简单对象访问协议(SOAP)中的网络组件被称为模块,它是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息,SOAP能够使开发人员查找过程并绑定代码执行。 REST使系统组件能够表示一个要求访问的资源,其实现细节是真正的黑匣子。使用SOAP,不能假设远程组件是无状态的。而REST则不同,REST可以假设所有调用都是无状态的。

REST的这一属性使得其在云计算应用中非常有价值,因为它支持在无法通过缩放以适应负载变化的意外故障的情况下自由部署无状态组件。其背后的主要原因是它能够将任何请求重定向到组件的应用实例中。SOAP也可以这样构建,但不是强制性的。

这是REST成为Web服务首选协议的主要原因之一,但RESTful模式也适用于云服务。将API绑定到服务的过程是控制URL解码过程的技术,当应用程序通过URL熟悉组件或为服务器,并且原始组件实例失败时,可以通过更改与该URL相关联的IP地址将请求重定向到新的实例中。在这种情况下,不需要目录管理,只需要简单的算法就可以将URL指向负载均衡器来分配工作。

云计算和微服务的应用需求

由于微服务和云计算正在将RESTful API当做是通往未来的设计,开发人员和架构师必须解决其应用程序中的状态控制一致性,通过更松散的组件耦合来管理安全性,并创建有效的服务目录。

管理REST的状态可以通过两种方式完成:将状态传递给RESTful呼叫服务,并使状态由后端数据库维护。如果最终目标是获得符合REST的应用程序,如基于SOAP的应用程序,那么采取一致性的方式至关重要。除非无法访问后端状态数据库,否则后端状态管理是这种应用程序的最佳选择。如果客户端实例失败,客户端状态控制可能会导致整个组织出现问题。

安全措施

REST的实现存在大量的安全隐患,大多数REST用户通常认为任何应用程序的REST组件来自VPN或开放的Internet。为了确保REST的安全性,组织必须建立可部署组件的专用RFC 1918地址空间,在某些情况下,某些应用程序可能需要组件之间更广泛的集成,组织必须采用包括HTTPS的安全连接。

虽然REST有很多目录服务,如ProgrammableWeb,但这些服务主要关注公开的API。RESTful API正处于互联网行业的辩证阶段,实际上大多数公司都需要一个专用的API目录来访问RESTful API。 否则,将导致公司数据和合规性要求受损。

原文链接:https://www.cioreview.com/news/future-of-restful-api-for-developers-nid-25059-cid-111.html


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/19985.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于17-10-20
0