webService 提供服务的方式

孤街醉人 提交于 2019-12-02 18:12:31

经常听到公司同事谈论resf,rpc,最近花时间了解了下 resf,rpc,soap这些都是 WebService提供服务的实现方法 随着应用的不断壮大,需要将服务独立出来,给客户端提供服务。目前常用的方法就是: RPC 所谓的远程过程调用 (面向方法) SOA 所谓的面向服务的架构(面向消息) REST 所谓的 Representational state transfer (面向资源) 如果说 RPC 是基于方法调用(method),那么 SOA 则是基于 消息, 基于方法调用通常会与特定的程序语言 耦合起来,而后者则与具体的实现语言无关, 所以在一定程度上得到大公司的支持。 RPC即远程过程调用,简单的说就是像调用本地服务(方法)一样调用服务器的服务(方法). 通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.

REST不是一种协议,它是一种架构,一种WebService如果能够满足REST的几个条件,则它通常称这个系统为Restful的 REST架构风格最重要的架构约束有6个:

客户-服务器(Client-Server) 通信只能由客户端单方面发起,表现为请求-响应的形式。

无状态(Stateless) 通信的会话状态(Session State)应该全部由客户端负责维护。

缓存(Cache) 响应内容可以在通信链的某处被缓存,以改善网络效率。

统一接口(Uniform Interface) 通信链的组件之间通过统一的接口相互通信,以提高交互的可见性。

分层系统(Layered System) 通过限制组件的行为(即,每个组件只能“看到”与其交互的紧邻层),将架构分解为若干等级的层。

按需代码(Code-On-Demand,可选) 支持通过下载并执行一些代码(例如Java Applet、Flash或JavaScript),对客户端的功能进行扩展。 HTTP 和REST HTTP是一种协议,而REST只是一种设计风格,具体的服务提供还是要通过HTTP协议进行传输 DUBBO和REST

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!