概念吓死人的webservice

前倾提要:这是我七拼八凑,自己用手打出来的头一篇了!都是别人的想法,我抄袭的,我坦白,我这只是总结一下觉得有用的

本来题目想叫(1)REST API 和WebService(2)REST 样式和 SOAP 样式 (3) SOAP Webservice和RESTful Webservice

我感觉就是概念,可能理解不深入,rest方式,restful风格,称谓太多了。

简单说   WebService 就是一个服务 ,别的程序能访问并使用这项在线服务。(提供服务和wsdl,调用解析你来搞)
api  就相当于一个别人编译好的类,你直接引用后使用(提供接口和服务,调用返回简单点)

引用有。。。很多,暂不列了

一 认知

常见的两种Web Service处理方式为:a.      基于WSDL/SOAP的方式b.      Rest方式方式a是比较正统的,客户端调用必须先取得WSDL文件,然后生成调用的API才可以使用。它不是我要说的重点,基本调用流程如下:

方式b是Rest方式,Rest的Web Service的设计原则是基于CRUD,其支持四种操作分别为:GET – 获取信息/请求信息内容,绝大多数浏览器获取信息时使用该方式。POST – 增加信息内容,显示以前的信息内容,可以看作是insert操作PUT – 更新信息内容,相当与updateDELETE – 删除信息内容可以看作是delete

Rest方式更加简单便捷,如果从设计原则上看HTTP协议本身已经是最Restful风格的协议了HTTP协议很好的支持了CRUD的操作。正是因为如此,WEB2.0以来, 基于Restful的Web Service越来越多的成为首选。

二 rest是啥玩意
(1)认知Restful 风格的兴起,要感谢互联网巨头Google,Facebook等他们提供大量基于Restful风格的web服务,从谷歌地图天气预报到翻译,国内的互联网巨头腾讯,新浪微博也发布自己的web服务,吸引更多的开发者加入他们的阵营。Rest除了满足基本的CRUD设计原则之外,还要遵循如下约定:1.      资源操作可以通过描述来实现即Representation2.      消息本身是无状态与自我描述(传输支持XML与JSON)3.      可以发送与接受多个Representation

Rest风格(Restful Style)架构原则:1.      客户服务器方式2.      无状态协议传输3.      支持缓存4.      统一接口定义5.      分层系统设计这样发布了Rest的Web服务API其改变不会影响到客户端程序与实现。如果你的系统不能适用Rest风格的架构怎么办,重新设计一个新的架构,扩展Rest风格架构。但是这个世界上绝大数的系统与应用要做的事情就是CRUD。(2) 有啥好处呢
Rest消息详解:1.      跟我们现在知道的HTTP URI没有什么分别,Google静态地图就是一个很好的例子         只是URL加上不同参数就可以fetch不同的地图内容。2.      可以支持任何类型的数据传输,这点与基于XML与JSON的信息传输有点同,后者         更希望传输文本内容与结构化文本内容3.      SOAP与XML-RPC有严格的消息格式限制,rest没有消息格式要求。客户端调用方         便啊!

Rest风格Web服务的好处,显然易见一个好处就是简化了客户端的调用,不再像WSDL那般麻烦。从而减低第三方开发者的学习成本,减短了学习曲线。有利于服务推广与普及,吸引更多用户数量从而带来潜在的商业利益。

在软件即服务(SaaS - Software As A Service)与软件即平台(PasS-Platform As A Service)中有着重要的地位与应用。这正是那些互联网巨头对Rest风格感兴趣的原因之一。
Rest可以用在任何系统设计中,从本质是上Rest不是一种技术,而是一种架构原则,当然可以用来架构非WEB的系统。系统越大风格越要象Rest方式如此才是一个成功的架构。

三 比较一下,主要还是rest火一点,拉出来66
从基本原理层次上说,REST 样式和 SOAP 样式 Web Service的区别取决于应用程序是面向资源的还是面向活动的。例如,在传统的WebService中,一个获得天气预报的webservice会暴露一个WebMethod:string GetCityWether(string city)。而RESTful WebService暴露的不是方法,而是对象(资源),通过Http GET, PUT, POST 或者 DELETE来对请求的资源进行操作。在 REST 的定义中,一个 Web Service总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。所以我理解为rest架构定义的webservice实际上定义了一个借口的规范。  REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。REST的思想归结以下有如下几个关键点:

1.面向资源的接口设计

所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,并非是REST的思想。

2.抽象操作为基础的CRUD

这点很简单,Http中的get,put,www.hbbz08.com post,delete分别对应了read,update,create,delete四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。      

3.Http是应用协议而非传输协议

这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定义SOAP协议。

4.无状态,自包含

这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。

四   好,看完基础了,在深入一下,看看别人写的,更好比如http://www.cnblogs.com/thiaoqueen/p/7143797.html   http://www.cnblogs.com/anruy/p/5946741.html
				
时间: 2024-08-23 18:44:38

概念吓死人的webservice的相关文章

深入理解Web Service

SOA和Web Service 首先明白SOA和Web Service的关系: * SOA面向服务架构,用于大型分布式系统的一个概念: * Web Service是实现SOA的方式之一,不是所有的SOA都是基于Web service的: * 但Webservice确实为最主流的SOA实现方式,有的人甚至把SOA等同于Webservice.不可否认,正是Webservice的成功才造就了SOA这个概念的成功: Webservice Webservice有三个基础标准: 1.WSDL: Web服务定

周鸿祎:需格外注意的五点用户体验

技术人员出身的产品经理非常有潜力,因为他懂技术,跟技术人员能更好的挑选技术方案.但我看到很多技术人员在做产品中犯的一个共同错误,太想要把自己的技术展现给用户,把先进的技术概念给用户. 这就是忘了从用户角度出发,用户到今天,特别是体验时代,什么叫体验时代?在电脑还是即刻时代的时候,电脑越复杂越好,能够输入复杂的指令,但是当一个产业,比如今天苹果都成了街机,电脑已经成了标配情况下,电脑从专家时代进入到大众时代,这时候体验就变得更加重要,用户甚至都不知道苹果用了什么CPU,很多拿苹果的白富美.高富帅不

周鸿祎:如何做好产品经理

我刚才来的时候,会议主办方跟我讲,今天来交流的很多人是设计师.产品经理,据说还有 50 位公司的高管,我今天希望跟大家有一个交流,对很多公司高管来讲,我其实有一个建议,过去这种公司分工特别明确,做一个产品好像变成一个生产线,有人负责策划,称为产品经理,有人负责项目实施,称为项目经理,还有专门做 UE,我后来没搞清 UX 和 UE 怎么区分,曾经有一个大公司跟我讲半天,UX 是用户体验,UE 做 UED,分的非常细,我听了半天,这两个角色至少从我的从业生涯来说,我觉得很难区分,最后可能还有负责做研

软件的复杂性与构造定律

快看!看!深入研究自然,你就会明白一切. - 爱因斯坦 复杂性是被低估的.复杂越高,开发人员会感到不安.对其的理解认知负荷代价就越高,我们就更不快乐.真正的挑战是在构建我们的系统时要保持其有序以及工程师的生产方式.对于这一点,一个简单的物理规律可以帮助我们:构造定律 the Constructal Law. 当我们拥有臃肿大量的组件和类时,其中每一个又由大量的职责行为功能组成,我们不会在系统层面去思考,相反,我们只是将大量脂肪性质类进行组群,从外表看,你是无法找出这个系统做什么用的,这个系统代表

WebService 概念和工作原理(一)

今天我们一起来学习WebService.它到底是干啥用的? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 一:Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技

Webservice简单概念

一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),

转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念

http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 发表于 1年前 阅读 1422 收藏 28 点赞 0 评论 0 摘要: 在这之前一定要好好理解一下接口的含义,我觉得在这一类中接口理解成规则很恰当 在这之前一定要好好理解一下接口的含义,我觉得在这一类中接口理解成规则很恰当.         http接口:基于HTTP协议的开发接口.这个并不能排除没

【黑马Android】(14)webservice概念/调用/wsdl接口

webservice 的概念 webservice 就是一个应用程序,它提供一种通过web方式访问的api. 解决两个系统或者(应用程序)之间的远程调用..... 调用是跨语言,跨平台... webservice 最基本的组成部分就是客户端,服务端... MyServerSocket.java package cn.itcast.server; import java.io.IOException; import java.io.InputStream; import java.net.Serv

WebService一些概念

1.WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 2.我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单调用了一下服务器上的一段代码而已. 3.学习WebService可以将你的服务(一段代码)发布到互联网上让别人去调用,也可以调用别人机器上发布的WebServ