转自:http://blog.csdn.net/zhaohuabing/article/details/39643127?utm_source=tuicool
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来说更容易为人阅读。
- SOAP接口是自解释的,采用WSDL进行描述,程序可以基于WSDL进行解释并自动生成SOAP调用代码;REST接口只能通过接口文档进行描述,难以做到程序解释接口定义。
- SOAP 采用HTTP作为传输层协议,对HTTP协议来说服务调用是透明的,防火墙上难以对SOAP进行细粒度的权限控制,也难以使用http的缓存机制提高效 率。而REST是标准的HTTP访问,可以充分利用HTTP协议提供的一些好处,例如可以在防火墙上较好地进行权限控制(最小粒度可以基于每个URL的 CRUD操作),也可以充分利用缓存提高响应速度和系统的吞吐效率。
- 由于REST是标准的HTTP访问,其适用性更广,web应用,移动应用都可以在不使用第三方库的情况下方便地使用REST接口构造应用程序。
- 对于移动程序而言,由于REST的有效负荷占比高于SOAP的XML封装,采用REST接口可以降低程序使用的带宽。
- 根据REST设计原则,接口是无状态的,因此可以简单地通过对服务器进行水平扩展提升服务能力。
对于WEB Service而言,SOAP和REST各有千秋,SOAP有完善的标准规范和自动化开发工具,REST则更简单,对移动应用更友好。Oracle SOA Suite提供了将SOAP转换为REST接口的快捷方法,可以为已有的SOAP接口提供REST形式的封装,为web service同时提供SOAP和REST接口,是一个综合了各方面优点的完善的解决方案。
相关推荐
什么是REST,符合REST的API叫RESTful 两种SOA接口实现:SOAP(WebService) vs REST
面向服务的架构SOA分为2种 SOAP即Webservice和REST.zip
SOA与REST是当前两种流行的技术架构风格。然而,二者却站在不同的层次看架构,SOA的角度偏向于战略;而REST的角度则偏向于战术。SOA给出了一组架构原则实现其战略目标,而REST则通过一系列约束实现其战术目标。 ...
服务中,契约的定义以及实现完全相同。为了使用用REST相同的协议,SOA服务端采用了wsHttpBinding协议。REST与SOA服务的消费者采用同一个客户端
ORACLE SOA 业务流程管理 与 Web 2.0:
SOA 在金融行业的应用一:业务流程管为切入点
When I rst heard about ... Not everything that claims to be RESTful actually is so, and often SOA is perceived as the architecture of WS-* style Web services and therefore seen as incompatible with REST.
面向服务架构(SOA)常常被奉为解决上述业务挑战的一种可行的解决方案。SOA 是一种通过使用和组装构建模块来概念化、设计和构建应用程序的方法,每个构建模块通常被表示为一个可重用的服务。目前使用的许多 SOA 方法...
soa soap 论文 soa soap 论文 soa soap 论文 soa soap 论文 soa soap 论文
然而,通过一种灵活的路线图去控制实施SOA,你可以在遇到这些挑战时很快的面对并解决它们。 SOA是一个重要的新的架构范例,它支持中间层解决方案的模块化实现。尤其适用于当多个根据不同技术开发的应用软件在不同...
SOAP调用webservice例子,一个用SOAP调用webservice的例子
SOA这个名词,几年前就经帯在网上看到戒者在一些讲座中听到,但自己真正比较“近距离”接触“SOA”,还是在去年的“中国IT精英年会”上,当时IBM大中华区的老总大谈IBM 的SOA,BEA公司(当时还没被Oracle 收购)也讲了很多...
SOA Using Java Web Services 英文版原文
Restful、SOAP、RPC、SOA、微服务之间
关于soap的文档。
《SOA与Java:用Java技术实现面向服务》的几位作者都是业界的领袖,ThomasErl更是SOA领域的领军,本书详细的介绍了使用Java技术实现SOA的方法,对于想要学习SOA的Java程序员,以及想要使用Java实现设计的SOA从业者...
种昂贵的单一产品,而是可以组合 SOA — 从不同服务中提取信息基础结构 — 从而创建业 决方案。 务解 SOA 的主要优势已家喻户晓:您可以通过组合应用程序来递增实施解决方案,以便节省大 量资金。通过向客户...
面向服务架构(SOA)中南大学SOA原理与技术 03 Web服务实现(共55页).pptx 面向服务架构(SOA)中南大学SOA原理与技术 04 REST基础(共44页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 05 REST API设计(共55...