- SOA(Service - Oriented - Architecture)是一种软件架构,它用于构建由一组松耦合,黑盒组件组成的商业应用。
- = 服务集合 + 服务连接
- = 服务注册中心 + 服务消费者 + 服务提供者
- 服务 = (良好定义 + 自包含 + 独立)的功能
- 它不是 企业级架构、web服务、中间件、C/S架构(不满足动态发现)、面向对象编程、分布式计算、大型机应用
- web 服务
- 发展:普通B/S模型 ------ SOAP的W3C标准服务模型 ------ RESTful基于JSON的无状态Web服务
- 是一种可编程的,基于标准的连接服务的机制
- 是可发布的、可定位的、可通过网络调用的
- 不绑定用户接口
- 不限制开发语言,但遵守一致的通行协议
- 可以来自多个开发者或者组织,不需要同时实现
- 特点:
- machine - to - machine交互,松耦合,互操作性,基于www,系统独立,平台独立,服务重用,降低成本
- 常见两种web服务:SOAP,REST
- 非WEB服务CORBA、DCOM、EDI
- SOA与Web Service 的异同:
- SOA是架构,属于高层设计概念;可以包含多种类型服务,包括web service,window service等;
- Web Service 代表一个可重用的业务功能,属于详细设计或者实现概念;是SOA的一部分,可以组装或被组装成其他服务,属于局部概念。
- SOAP
- 规范:
- UDDI:平台独立的描述,发现Web服务和服务提供商的方式
- WSDL:用于定义服务为一组网络终端
- SOAP:简单,轻量级的实现结构化信息交换机制
- XML:消息格式
- 概念;
- 简单对象访问协议,但并不简单也不是对象访问协议
- 规范:
- REST
- 代表Representational State Transfer,代表性状态转移
- 一组架构约束条件和原则
-
使用简单的HTTP协议和方法 :
-
GET:返回数据, 改变数据
-
POST:创建, 新,删除数据
-
PUT:替换引 的资源
-
PATCH:修改引 的资源
-
DELETE:删除引 的资源
-
-
-
SOAP vs REST
SOAP
RESTful
基于XML的消息协议
种架构 格
使 WSDL实现消费者和提供者的通信
使 XML或JSON收发数据
向服务的 - 通过RPC调 服务
向资源的 - 使 URI和 法(GET,PUT,POST, DELETE) 资源
持有状态的实现
完全 状态的
多种协议HTTP,SMTP,FTP等
只 持HTTP
属于分布式计算类型实现
属于Web类型(C/S)实现
很难实现前端Javascript调
容 实现( 多)前端Javascript访问
占 多的资源和带宽
很少的资源和带宽
只 持XML
持多种格式:纯 本,HTML,XML,推荐JSON
- 理查德森成熟度模型RMM
-
Level 0
• 只要使 HTTP作为远程交互机制
• RPC 格,和SOAP的区别只是消息格式 -
Level 1 - 资源
-
直接请求特定资源, 而不是发给服务终端
-
资源以URI的形式传递
-
资源可以有多级,即子资源
-
-
Level 2 - 动词
-
使用HTTP所有(合理 )的动词发送请求
-
分离安全(get)和 安全(post, put, delete)操作
-
使用合理的状态码表示响应状
-
-
Level 3 - 超媒体
-
满足HATEOAS (Hypertext As The Engine Of Application State)约束,RMM最高级
-
返回结果包含可以发现该资源更多动作的链接
-
用户可以用来“预测”下一步的行为
-
服务器增加或改变链接而不影响用户使用
-
-
Web Service
最新推荐文章于 2018-12-01 20:55:48 发布