SOA两个接口通常用于实现更:SOAP vs REST

    SOA协作架构异构系统,因此,一个跨操作系统的需求、跨语言的通用信息交换格公式。

SOAP和REST它们是基于消息正文文本,在跨平台方面相比二进制消息优点。因此,作为选择SOA实施通常用于界面。但SOAP和REST的特点和用途。

    SOAP:将HTTP协议作为传输层协议,本质是採用HTTP进行传输,使用XML封装消息内容的RPC调用。

REST:REST并非一种协议,仅仅是一种设计规范。该设计规范要求程序遵守HTTP协议最初设计的初衷。使用HTTP的GET/PUT/DELTET/POST对资源进行操作。REST接口是以URI资源为基础,对资源进行CRUD操作的接口。


SOAP和REST的对照:

  • SOAP相对REST来说较为重量级。因为採用XML格式的消息体。消息的有效负荷占比較REST经常使用的JSON少,只是XML消息的优点是较JSON来说更easy为人阅读。
  • SOAP接口是自解释的,採用WSDL进行描写叙述,程序能够基于WSDL进行解释并自己主动生成SOAP调用代码;REST接口仅仅能通过接口文档进行描写叙述,难以做到程序解释接口定义。
  • SOAP採用HTTP作为传输层协议。对HTTP协议来说服务调用是透明的,防火墙上难以对SOAP进行细粒度的权限控制,也难以使用http的缓存机制提高效率。

    而REST是标准的HTTP訪问,能够充分利用HTTP协议提供的一些优点。比如能够在防火墙上较好地进行权限控制(最小粒度能够基于每一个URL的CRUD操作),也能够充分利用缓存提高响应速度和系统的吞吐效率。

  • 因为REST是标准的HTTP訪问。其适用性更广,web应用。移动应用都能够在不使用第三方库的情况下方便地使用REST接口构造应用程序。
  • 对于移动程序而言,因为REST的有效负荷占比高于SOAP的XML封装,採用REST接口能够减少程序使用的带宽。
  • 依据REST设计原则,接口是无状态的。因此能够简单地通过对server进行水平扩展提升服务能力。

对于WEB Service而言,SOAP和REST各有千秋。SOAP有完好的标准规范和自己主动化开发工具,REST则更简单。对移动应用更友好。Oracle SOA Suite提供了将SOAP转换为REST接口的快捷方法,能够为已有的SOAP接口提供REST形式的封装,为web service同一时候提供SOAP和REST接口。是多方面的优势良好的解决方案组合。


版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/blfshiye/p/4712950.html