`
yettie
  • 浏览: 196483 次
  • 性别: 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的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。

分享到:
评论

相关推荐

    REST WebService与SOAP WebService的比较.docx

    **REST (Representational State Transfer) WebService 和 SOAP (Simple Object Access Protocol) WebService 是两种不同的 Web Service 技术,它们在 SOA(Service-Oriented Architecture,面向服务架构)领域中...

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

    "rest(一种软件架构风格)_百度百科.url"和"SOA接口的两种常用实现比较:SOAP(WebService) vs REST(GET,POST).url"可能是链接到更详细的参考资料,它们提供了关于REST架构风格的深入介绍,以及SOAP和REST在实际应用...

    rest soap cxf webservice maven springmvc

    与REST相比,SOAP提供了更复杂的安全、事务和编排功能,但其复杂的协议和较大的开销使其在轻量级场景下不如REST受欢迎。 Apache CXF是一个全面的服务开发框架,支持REST和SOAP两种Web服务。CXF允许开发者使用Java...

    SOAP webserivce 和 RESTful webservice 对比及区别

    相反,REST(表述性状态转移)是一种轻量级的架构风格,它基于HTTP协议,强调资源的识别和操作。RESTful Web服务将资源作为核心,每个资源都有一个唯一的URI(统一资源标识符),并使用HTTP方法(GET、POST、PUT、...

    rest架构1

    RESTful Webservice 与 SOAP Webservice 的比较: * SOAP Webservice 是一种能够使应用程序在不同的平台使用不同的编程语言进行通讯的技术规范,它强调操作方法和操作对象的分离,有 WSDL 文件规范和 XSD 文件分别...

    什么是REST,符合REST的API叫RESTful 两种SOA接口实现:SOAP(WebService) vs REST

    文件`rest(一种软件架构风格)_百度百科.url`和`SOA接口的两种常用实现比较:SOAP(WebService) vs REST(GET,POST).url`分别指向了关于REST和SOAP/REST比较的参考资料,它们可以进一步深入理解这两种接口实现的区别...

    在同一个系统里用cxf 实现SOAP 协议和RESTful风格 两种类型的webservice接口

    REST是一种轻量级的架构风格,它利用HTTP协议的基本操作(GET、POST、PUT、DELETE等)来操作资源。在CXF中实现RESTful接口,我们需要: 1. 定义资源类:创建一个Java类,该类的方法对应于HTTP操作,使用JAX-RS注解...

    webService资料

    "REST WebService与SOAP WebService的比较.docx"文档对比了两种常见的Web Service风格:REST(Representational State Transfer)和SOAP(Simple Object Access Protocol)。REST强调的是资源的表述,使用HTTP方法...

    HTTP接口和WebService接口

    HTTP接口通常采用REST(Representational State Transfer)架构风格,通过HTTP方法(如GET、POST、PUT、DELETE等)来操作资源,具有良好的可扩展性和跨平台性。 WebService接口,也称为SOAP(Simple Object Access ...

    轻量级webservice 架构的研究

    ### 轻量级Web服务架构的研究 #### 1. 引言 随着Web服务的广泛应用,消息交换机制成为关注的重点。当前,SOAP(Simple Object Access...未来的工作将进一步优化REST架构,并探索其在不同应用场景下的适用性和扩展性。

    CXF-REST搭建WebService服务端demo

    3. **REST**: Representational State Transfer(表述性状态转移)是一种软件架构风格,常用于构建Web服务。它强调资源的识别和操作,通过HTTP方法(如GET、POST、PUT、DELETE)进行数据交换,通常使用JSON或XML...

    尚硅谷Webservice视频链接

    WebService主要分为两大类:SOAP(Simple Object Access Protocol)基于WebService和REST(Representational State Transfer)风格的WebService。 1. **SOAP WebService**: - SOAP是一种基于XML的协议,用于交换...

    webService

    总之,"webService接口app"涉及到的是移动应用通过WebService与服务器进行数据交换的技术。开发者需要了解WSDL、SOAP等概念,以及选择合适的WebService实现技术,如JAX-WS或RESTful。同时,"mServer"可能是实现这些...

    webservice实验报告和源代码

    REST是一种轻量级的架构风格,它强调资源的表述和状态转移。`CXF_REST_Project`可能是一个使用CXF框架开发的REST服务项目。REST服务通常通过HTTP方法(GET、POST、PUT、DELETE)来操作资源,且响应体通常是JSON或XML...

    cxf+spring发布webservice和restservice

    本项目“cxf+spring发布webservice和restservice”专注于利用Apache CXF框架与Spring框架结合,实现这两种服务的发布。Apache CXF是一个开源的、功能丰富的服务栈,它使得开发者能够轻松地构建和部署SOAP和RESTful ...

    WebService服务器端实例

    8. **RESTful WebService**:虽然标题提到的是传统的SOAP-based WebService,但值得一提的是REST(Representational State Transfer)风格的Web服务。RESTful服务更简洁,依赖HTTP方法(GET, POST, PUT, DELETE等)...

    动态调用webservice与复杂对象的序列化

    Web服务通常基于SOAP(简单对象访问协议)或REST(表述性状态转移)架构,用于不同系统之间的数据交换。动态调用意味着在运行时,程序能够根据需求创建并执行对Web服务的方法调用,而无需在编译时就已知具体的Web...

Global site tag (gtag.js) - Google Analytics