ROA、SOA、RPC与RPC区别与联系

1、ROA与SOA
  • ROA 即 Resource Oriented Architecture (面向资源架构),业务被抽象成资源
  • SOA 即 Service Oriented Architecture (面向服务架构),业务被抽象成服务
  • 区别:
    • ROA数据模型上的API包装器SOA功能模块上的API
    • ROA 用于提供CRUD操作SOA 用于在运行时链接模块
    • ROA 使 API 使用者避免更改数据模型SOA 允许直接替换模块,从而简化了部署和定制。
    • ROA(面向资源的体系结构)只是使用REST服务的SOA(基于服务的体系结构)的花哨名称。
  • SOA 优于ROA的主要优点是更成熟的工具支持,XML请求的类型安全性。
  • ROA 的主要优势在于易于实施设计敏捷性以及轻巧的事物处理方法
2、REST与RPC
  • RESTRPC分别对应着两种不同的风格,可以说:
    • REST 风格的服务通常被称为 ROA
    • RPC 风格的服务通常被称为 SOA
  • RPC 风格的服务
    • RPC 只能用服务本身提供的方法和接口与服务器进行交互
    • RPC 是一种面向操作的架构风格
    • 整个过程中,请求、响应和方法客户端都是不可见的,异构的客户端很难与服务器通信,也很难解析服务器的响应请求(Request 和 Response 外面都被包上了一层复杂的东西)
  • REST 风格的服务
  • REST 是一种面向资源的架构风格
    • 整个过程采用HTTP方法发送请求,数据采用标准格式,基于统一接口和通用载体,即使客户端和服务器采用不同的技术构建,也不会影响通信

理解可能不到位,有问题请指出。

参考

https://zhuanlan.zhihu.com/p/41758782
https://zhuanlan.zhihu.com/p/41758782

你可能感兴趣的:(课程学习,rpc,网络协议,网络)