Web Service架构

     SOAP协议:简单对象访问协议,技术有助于实现大量异构程序和平台之间的互操作性,根据我有限的了解,SOAP是把成熟的基于HTTP的WEB技术与 XML的灵活性和可扩展性组合在了一起。比如我们.NET中的WEB服务,就是基于SOAP。soap采用xml,流量会大一点,速度也会比较 慢,soap可以通过tcp,udp,http协议来传送。这也是让人困惑的描述。一看这句话,就会感觉http怎么和tcp,udp协议并列了呢?难道 http还是属于传输层的协议?再加上http中文译名的问题,名字听上去像传输层,初学者又要开始头大了。事实上,http是应用层的协议,这一点可以 毫无怀疑。那么现在新的问题来了。soap和http都是应用层协议,怎么说soap能用http协议来传输呢?应用层的协议可以用应用层的协议传送 吗?soap将信息进行XML的序列化后,再用http协议的方式再打包进行传送,传送的方式还是tcp或者udp。做个比喻就好理解了。tcp 和 udp 都是公路,暂且把tcp认为是一般公路,udp高速公路,soap和http就都是汽车,那么soap和http都可以在tcp和udp上跑。说soap 可以通过http来传送,实际就是说soap是小轿车,http是装轿车的卡车,把soap的信息装到http里面,然后再运输,当然走的道路还是tcp 或udp。说soap可以通过http协议来传输,这句话不太准确,比较准确第说法是:soap信息可以通过http协议包装后通过tcp或udp传输。 REST架构对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法(Verb)。为 什么要学习web service?大多数对外接口会实现web service方法而不是http方法,如果你不会,那就没有办法对接。

web service相对http (post/get)有好处吗?1.接口中实现的方法和要求参数一目了然  2.不用担心大小写问题 3.不用担心中文urlencode问题4.代码中不用多次声明认证(账号,密码)参数 5.传递参数可以为数组,对象等...  

web service相对http(post/get)快吗?由于要进行xml解析,速度可能会有所降低。 

 web service 可以被http(post/get)替代吗?完全可以,而且现在的开放平台都是用的HTTP(post/get)实现的。SOAP会好于 restful 效率和易用性(REST更胜一筹) 成熟度(总的来说SOAP在成熟度上优于REST) 。SOAP是一种简单基于xml的轻量协议,用户web上交换结构化信息和类型信息。SOAP 的总体设计目标是使其尽量简单,并提供最低限度的功能。 该协议定义一个不包含应用程序或传输语义的消息传递框架。 因此,该协议是模块化的且高度可扩展。通过在标准传输协议之上传输,SOAP 可以使用 Internet 的现有开放式体系结构,并且容易被能够支持最基本的 Internet 标准的任意系统所接受。 可以将支持符合 SOAP 的 XML Web services 所必需的基础结构看作是一种非常简单且强大的基础结构,因为它向 Internet 的现有基础结构添加相对较少的内容,但仍然有助于对用 SOAP 生成的服务进行通用访问。SOAP 协议规范包括四个主要部分。第一部分定义用于封装数据的必需的可扩展信封。SOAP 信封定义 SOAP 消息,是 SOAP 消息处理程序之间的基本交换单位。这是该规范中唯一的一个必需部分。SOAP 协议规范的第二部分定义了可选的数据编码规则和一个统一模型,数据编码规则用来表示应用程序定义的数据和有向图,统一模型用来序列化非语法数据模型。第三 部分定义 RPC 样式(请求/响应)消息交换模式。 每个 SOAP 消息都是单向传输。虽然 SOAP 的根位于 RPC 中,但它并不局限于成为一种请求/响应机制。 XML Web services 通常组合 SOAP 消息以实现这类模式,,但对于 SOAP 而言消息交换模式并不是必需的,并且这一部分规范也是可选的。规范的第四部分定义 SOAP 与 HTTP 之间的绑定。但是,这部分也是可选的。 可以将 SOAP 与任何可以传输 SOAP 信封的传输协议或机制结合使用,其中包括 SMTP、FTP,甚至还包括软盘。

 


转载于:https://my.oschina.net/u/2397255/blog/598443

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值