文档章节

关于Web Service和Rest Service理解

大侠柳云枫
 大侠柳云枫
发布于 2014/04/17 16:42
字数 1349
阅读 290
收藏 3

什么是WebService?

且看百度百科是如何定义:

Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

从定义中可以了解, WebService 主要具备三大特点:平台独立性,松耦合、自包含,分布式互操作。

首先,能称为Web Service的应用,具备平台独立性,所谓平台独立性,在Windows、Linux、Unix平台等等都可以使用,是大家遵守的行业标准或者是某些事实标准,有些虽然不是行业标准,但大家都这么做,也都支持,也就慢慢变成事实了。

那什么不是通用的解决方案呢?如:Windows平台的COM/DCOM技术,只能局限于某个平台,一旦脱离该平台就不可以使用。

基次,具备Web Service应用程序,是松耦合的,自包含的。所谓松耦合,即模块之间的依赖型和制约比较小,更改一个模块不会比较大的影响其他模块,说白了,不用关心模块内部是如何实现的,给你标准的接口,你用大家都用的技术与我互通即可。关于自包含的理解,指在组件重用时不需要包含其他的可重用组件,自己搞掂一切,呵呵。

再次,分布式互操作性,这点大家非常好理解,开发出来的应用,要具备与其它系统之间的互操作,现在系统都不是孤立的,开放出来的接口,可以在任意平台上可调用,不具有依赖性。

Web Service标准

早期,软件巨头们定义的Web Service标准,主要由三部分构成: SOAP,WSDL,UDDI。

SOAP 即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。这里需要注意,SOAP是可以在其他协议上,不仅是HTTP, 可以基于SMTP,消息队列等。

WSDL 是web Service描述语言 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

UDDI 基本没有实现,这种想法也不现实。可以理解UDDI是个Web Service公共仓库,服务写好注册到UDDI中,以便是其他系统方便调用。

Rest Service

随着互联网技术的兴起,XML越来越令人诟病,XML的数据包越来重,SOAP协议方便性和灵活性都有欠缺,尤其兴起的Web2.0发展,由Yahoo、Google 和 Facebook等大型互联网公司的倡导,REST代表性状态传输(Representational State Transfer,REST)在 Web 领域已经得到了广泛的接受,是基于 SOAP 和 Web 服务描述语言(Web Services Description Language,WSDL)的 Web 服务的更为简单的替代方法。如GOOGLE 这些提供者弃用或放弃了基于 SOAP 和 WSDL 的接口,而采用了更易于使用、面向资源的模型来公开其服务。

Rest 服务定义:

即REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

Rest Service特点:

  • 客户端和服务器结构
  • 连接协议具有无状态性
  • 能够利用Cache机制增进性能
  • 层次化的系统
  • 随需代码

Rest Service 相比Web Service建议的标准更轻量级,甚到用Javascript都可以调用,使用方更方便、高效、简单。REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建)、Read(读取)、Update(更新)和Delete(删除)就可以完成对其操作和处理。

Web Service与Rest Service 区别

REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转变着其状态,所谓表征状态转移(Representational State Transfer)。

Rest Service具备Web Service的所有特点:平台独立、松耦合、互操作性。并且,Rest 更轻量级,更简单。可以这么说吧,Rest Service 是Web Service的一种实现,并不是说Rest是Web service替代。

本文转载自:http://my.oschina.net/lilw/blog/170518

大侠柳云枫

大侠柳云枫

粉丝 10
博文 58
码字总数 2831
作品 0
长沙
程序员
私信 提问
关于Web Service和Rest Service理解

什么是WebService? 且看百度百科是如何定义: Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用...

小李飞刀008
2013/10/22
19.1K
1
什么是REST?

本文是从 What is REST? 这篇文章翻译而来。 让我来给你们做一个非常简单的,适用的解释。 REST 是一套用来创建Web Service的方法。 REST式的Web Service的主旨是让事情尽量的简单化。 REST...

红薯
2011/06/02
1K
8
10 个技巧让你的 RESTful Web 服务更加实用

提示:随着RESTful Web services的流行程度不断地上升,开发人员需要知道如何避免开发中的陷阱以及让开发出来的Web service达到自己能做到的最好程度。 过去的几年里,我们看到RESTful Web s...

坦诚相待
2012/04/09
6.1K
3
与Java Web Service相关的若干概念(JAX-WS,JAX-RS)

l JWS: 是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做 JWS(全称就是 java webservice)。没错,jws指的就是 javawebservice l Jws含有的技术 1. JAX-WS 2. JAX-RS 3. JAX...

豆豆4997
2014/04/09
92
0
ArcGIS Server 9.3 beta 体验二 -- 开发路线

AGS 9.3无论是从开发角度,还是开发方式和9.2相比都改进、丰富了不少,也兼容9.2ADF应用,通过Web Mapping Application Migration Utility可以将9.2模板应用程序升级到9.3环境中。这里我们先...

文艺小青年
2017/08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部