RPC和SOA、SOAP、REST的区别是什么?
REST 可以看着是 HTTP 协议的一种直接应用,默认基于 JSON 作为传输格式,使用简单,学习成本低效率高,但是安全性较低。
SOAP SOAP 是一种数据交换协议规范,是一种
轻量的
、简单的
、基于XML的
协议的规范。而SOAP可以看着是一个重量级的协议,基于XML、SOAP 在安全方面是通过使用 XML-Security 和 XML-Signature 两个规范组成了 WS-Security 来实现安全控制的,当前已经得到了各个厂商的支持 。它有什么优点?简单总结为:
易用
、灵活
、跨语言
、跨平台
。SOA面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
REST 和 SOAP、RPC 有何区别呢? 没什么太大区别,他们的本质都是提供可支持分布式的基础服务,最大的区别在于他们各自的的特点所带来的不同应用场景 。