专注app软件定制开发Restful与webService区别

文章目录

REST专注app软件定制开发是一种架构风格,专注app软件定制开发其核心是面向资源;底层是SOAP协议,专注app软件定制开发主要核心是面向活动。

1. 相关概念

1.1

SOAP(Simple Object Access Protocol,专注app软件定制开发简单对象访问协议):专注app软件定制开发是一种基于XML的协议,专注app软件定制开发可以和现存的许多因特专注app软件定制开发网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于“通用”传输协议是 SOAP的一个优点。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP提供了一系列的标准,如WSRM(WS-Reliable Messaging)形式化契约确保可靠性与安全性,确保异步处理与调用;WS-Security、WS-Transactions和WS-Coordination等标准提供了上下文信息与对话状态管理。

1.2 REST

REST(Representational State Transfer,描述性状态转移):REST是一种轻量级的Web Service架构风格,其实现和操作比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST架构对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST架构尤其适用于完全无状态的CRUD(Create、Read、Update、Delete,创建、读取、更新、删除)操作。

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

3. 区别:

3.1 REST

REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。

REST提出设计概念和准则为:

  1. 网络上的所有事物都可以被抽象为资源(resource)
  2. 每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识
  3. 所有的操作都是无状态的

REST简化开发,其架构遵循CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建,获取,更新和删除就可以完成相关的操作和处理。您可以通过统一资源标识符(Universal Resource Identifier,URI)来识别和定位资源,并且针对这些资源而执行的操作是通过 HTTP 规范定义的。其核心操作只有GET,PUT,POST,DELETE

由于REST强制所有的操作都必须是stateless的,这就没有上下文的约束,如果做分布式,集群都不需要考虑上下文和会话保持的问题。极大的提高系统的可伸缩性

3.2 SOAP

SOAP偏向于面向活动,有严格的规范和标准,包括安全,事务等各个方面的内容。

SOAP强调操作方法和操作对象的分离,有WSDL文件规范和XSD文件分别对其定义。

而REST强调面向资源,只要我们要操作的对象可以抽象为资源即可以使用REST架构风格。

3.3 如何选择

  • 如何确定使用REST:

    • 若本身只是简单的CRUD业务操作,那么抽象资源就比较容易。
    • 而对于复杂的业务活动抽象资源并不是一个简单的事情,比如校验用户等级,转账,事务处理等。
  • 如何确定使用SOAP:

    • 若有严格的规范和标准定义要求,且前期需要指导多个业务系统集成和开发的时,因SOAP风格有清晰的规范标准定义,SOAP更适合。

一句话:简单数据操作,无事务处理,开发和调用简单使用REST架构风格较好。

4. 比较

4.1 成熟度

总的来说SOAP在成熟度上优于REST
SOAP对于异构环境服务发布和调用,以及厂商的支持都已经达到了较为成熟的情况。

REST国外很多大网站都发布了自己的开发API,很多都提供了SOAP和REST两种Web Service,

但是由于REST只是一种基于Http协议实现资源操作的思想,因此各个网站的REST实现都自有一套。

REST实现的各种协议仅仅只能算是私有协议,当然需要遵循REST的思想。

4.2 效率和易用性

REST更胜一筹
SOAP协议对于消息体和消息头都有定义,同时消息头的可扩展性为各种互联网的标准提供了扩展的基础,

WS-*系列就是较为成功的规范。但是也由于SOAP由于各种需求不断扩充其本身协议的内容,导致在SOAP

处理方面的性能有所下降。同时在易用性方面以及学习成本上也有所增加。

REST被人们的重视,其实很大一方面也是因为其高效以及简洁易用的特性。

这种高效一方面源于其面向资源接口设计以及操作抽象简化了开发者的不良设计,

同时也最大限度的利用了Http最初的应用协议设计理念。

同时,REST很好的融合当前Web2.0的很多前端技术来提高开发效率。

例如:很多大型网站开放的REST风格的API都会有多种返回形式(XML,JSON,RSS,ATOM)等形式。

4.3 安全性

SOAP在安全方面使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的,

当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持。

REST 开放REST风格API的网站主要分成两种:

一种是自定义了安全信息封装在消息中,

另外一种就是靠硬件SSL来保障,这只能够保证点到点的安全,如果是需要多点传输的话SSL就无能为力了。

安全这块其实也是一个很大的问题。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发