`
yettie
  • 浏览: 195538 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

REST架构与SOAP WebService的比较

阅读更多

    一般客户端访问服务器端web服务通常可以由HTTPService、WebService、RemoteObject等方式来实现。通常实现web服务我们最容易想到的是SOAP协议的WebService,这在目前web服务中占有很重要的地位。随着REST思想的出现,目前很多公司开始使用REST风格的WebService。
     SOAP: 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
     REST: 即REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
     REST 与SOAP的比较:

  • 成熟度

     SOAP目前成熟,不同平台,开发语言之间通过SOAP来交互的web service都能够较好的互通。REST相对不太成熟,由于没有类似于SOAP的权威性协议作为规范,REST实现的各种服务风格不一,通用性不强。

  • 效率和易用性

     SOAP使用门槛高(学习成本高,开发难度大),由于SOAP由于各种需求不断扩充其本身协议的内容,在大并发下性能有所下降。REST 目前大量的Web 2.0网站使用,高效以及简洁易用。这种高效一方面源于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了Http最初的应用协议设计理念。REST 是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。

  • 安全性

     SOAP在安全方面是通过使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持。REST没有任何规范对于安全方面作说明。因此在考虑安全性上,SOAP要高于REST。
     总的来说,我认为REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。而SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。

分享到:
评论

相关推荐

    面向服务的架构SOA分为2种 SOAP即Webservice和REST

    面向服务的架构SOA分为2种 SOAP即Webservice和REST.zip

    SOAP webserivce 和 RESTful webservice 对比及区别

    基于REST的软件体系结构风格(Software Architecture Style)称之为面向资源体系架构(Resource-oriented Architecture,ROA)。按照REST原则设计的软件、体系结构,通常被称为“REST式的”(RESTful),在本文中...

    理解本真的REST架构风格

    本文是“深入探索REST”专栏系列深度内容中的第二篇,它将带您领略REST架构的起源、与Web的关系、REST架构的本质及特性,以及REST架构与其他架构风格之间的比较。在移动互联网、云计算迅猛发展的今天,作为一名Web...

    Asp.Net及相关技术介绍

    1.三种Web服务主流架构的历史演变与示例。(XML-RPC,SOAP,REST) 2. REST兴起与Asp.Net WebAPI介绍。 3. Asp.Net WebAPI与相关技术比较及SOA 。 4. 与WebAPI配合的前端JS开发框架介绍(Knockout与jQuery)。

    《iOS网络编程与云端应用最佳实践》源码

    云服务篇包括了第4章~第5章,介绍了客户端服务器结构网络通信两种具体实现方式:REST WebService和SOAP Web Service,以及iCloud编程。社交篇包括了第6章~第7章,介绍了Twitter、Facebook、新浪微博社交网络客户端...

    SOAPWebservice和RESTfulWebservice

    REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:1.网络上的所有事物都可以被抽象为资源(resource) 2.每一个资源...

    JAVA.WEB服务.构建与运行

    《Java Web服务:构建与运行》通过提供混合架构概述、完整的工作代码示例以及短而精确的编译、部署和执行应用程序的指示,采用明确实用的方法来处理这些技术。你将学习如何从头开始编写Web服务以及集成现有服务到你...

    ASP EXCEL导入SQL

     平台是一个多租赁用户的在线SaaS系统,因此会给平台带来大量的高并发的请求,361CRM平台是一个多层次的结构,而且采用了REST架构,REST天生就是分布式,因此通过物理部署就可以实现高并发带的负载均衡。...

    基于AXIS2/C的C语言库实现对提供RESTAPI的系统进行数据访问

    AXIS2/C是基于AXIS2架构且用C语言实现的WebService引擎。它支持SOAP协议,并且支持RESTful风格的WebService。本文介绍了AXIS2/C的运行环境搭建和参数配置。然后介绍了如何利用AXIS2/C提供的C语言库函数,实现标准...

    WCF4.0–-RESTfulWCFServices(二)

    在REST架构的WCF服务中,它不像一般的WCF服务绑定,有配套的安全模式,实现起来那么简单。RESTWCF服务只能在传输层加密,而一般的WCF服务可以在消息层加密。因此RESTWCF服务启用ASP.NET兼容模式后,它的安全是由ASP...

    Koala应用开发平台-其他

    向导式的服务发布一键无缝发布成war、EJB、webservice(SOAP/REST) 多种服务形式 基于RBAC3模型的权限子系统 监控子系统轻松协助你监控URL,方法,数据库,内存等状态 使用通用查询子系统轻松定制完成查询功能 基于IP...

Global site tag (gtag.js) - Google Analytics