(1)规定了数据格式
(2)对服务没有任何技术限定,自由灵活,更符合为服务理念。
(3)现今热门的REST风格/RESTful风格,就可通过Http合同来实现。
恳求形式:post/get/put/delete等。
传输的数据格式(通常而言):JSON
2、rpc插口:远程过程调用(类似的还有RMI),基于TCP。
自定义数据式,基于原生TCP通讯,速率快,效率高。
现今热门的dubbo框架,就是RPC的典型代表。
rpc有几个特征:
(1)数据的格式可以自定义(通常是XML)。
(2)速率快,效率高。
(3)现今比较热门的dubbo就是RPC的典型代表。
传输的数据格式:XML
3、webservice插口:Webservice是系统对外的插口。(等价于:http+xml)
webService插口是走soap合同通过http传输,恳请报文和返回报文都是xml格式的。
webService插口提供的服务是基于web容器的,底层使用http合同linux删除文件夹,类似一个远程的服务提供者,例如天气预报服务,对各地顾客端提供天气预报,是一种恳求应答的机制linux视频教程,是跨系统跨平台的。就是通过一个servlet,提供服务出去。
首先顾客端从服务器的到WebService的WSDL,同时在顾客端宣称一个代理类(ProxyClass)这个代理类负责与WebService服务器进行Request和Response当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时侯,都会生成一个进程对象而且把接收到这个Request的SOAP包进行解析,之后对事物进行处理,处理结束之后再对这个估算结果进行SOAP包装linux系统有哪些文件类型,之后把这个包作为一个Response发送给顾客端的代理类(ProxyClass),同样地,这个代理类也对这个SOAP包进行解析处理,从而进行后续操作。这就是WebService的一个运行过程。
webservice大体上分为5个层次:
Http传输信道XML的数据格式SOAP封装格式WSDL的描述方法UDDIUDDI是一种目录服务,企业可以使用它对Webservices进行注册和搜索
应用合同是SOAP(简单对象访问合同)
传输的数据格式:XML
4、总结1(插口的选择)
如今好多第三方插口,都改成了基于http,直接传递json数据的方法来取代webservice。
然而webservice插口能传输数据量比较大的数据,并且可以跟语言无关,也可以跟操作系统无关。
在个别业务复杂linux系统有哪些文件类型,稳定性和正确性要求高的领域(如ERP、电商、支付),WebService还有是用武之地的。
5、总结2(传输数据格式的选择)
为何JSON比XML流行
还是易用性,JSON的可读性比XML强,解析规则也简单许多。
XML解析的时侯规则太多了,动不动就非法字符,动不动就抛异常。这对追求高开发速率和低开发门槛的企业来说,是个致命伤。
JSON的缺点是数据类型支持较少,且不精确。比方说:
{"price":12580}
在json里,你没法晓得这个价钱是int,float还是double。
所以,如前面第二条所述,在一些业务要求较高的领域,还是XML更合适。
最后说一下性能,JSON的性能低于XML,除此之外,基于XML和HTTP的WebService,基于JSON的RESTfulAPI,并没有性能差别。
6、学习链接
链接1:点我
链接2:点我
链接3:点我