webService
引言:
随着互联网的兴起 ,软件行业也快速的发展着 ,至今伴随着软件行业的发展我们也产生的许多优秀的编程语言和操作系统 (如:c c++ java python go… Linux window…),在此期间也诞生了很多的软件程序系统,且是用不同的编程语言实现的,那么他们之间是该怎么实现通信呢?
如:我们用 java 写了一个获取天气的系统,之后用python写的一个程序需要用到java获取天气的系统,这是我们就可以用到webService.
1. webService 初识
1.1 什么是webService
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。 说白了 WebService 是一种跨编程语言、跨操作系统平台的远程调用技术。
连接不同系统之间的一个桥梁/纽带,可以实现不同编程语言,不同系统之间的交互。
其本质就是XML流的解析
1.2 远程调用技术
远程调用是指一台设备上的程序A可以调用另一台设备上的方法B。比如:银联提供给商场的pos刷卡系统,商场的pos机转账调用的转账方法的代码其实是跑在银行服务器上的。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以WebService服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。
1.3 跨操作系统平台
是指服务端、客户端可在不同的操作系统上运行
1.4 从表面上看
WebService是指一个应用程序向外界暴露了一个能通过Web调用的API接口,我们把调用这个WebService的应用程序称作客户端,把提供这个WebService的应用程序称作服务端。
1.5 从深层上看
WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何通过Web实现互操作性,通过WebService标准对服务进行查询和访问。
2. web service(SOAP)与HTTP接口的区别
2.1 什么是webService(soap)
soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据都可以xml化,
2.2 web service 作用
大多数对外接口会实现web service方法而不是http方法,如果你不会,那就没有办法对接。
2.3 web service相对http (post/get)有好处吗?
- 接口中实现的方法和要求参数一目了然
- 不用担心大小写问题
- 不用担心中文urlencode问题
- 代码中不用多次声明认证(账号,密码)参数
- 传递参数可以为数组,对象等.
2.4 web service 相对http 的速度?
相对http较慢 因为要对xml经行解析
2.5 web service 可以被http(post/get)替代吗?
可以 且开放的平台都是使用http实现的
2.6 总结
- httpservice通过post和get得到你想要的东西
- webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型
- http协议传输的都是字符串了,webservice则是包装成了更复杂的对象。
谈谈你对webService的理解?
webService 是跨平台跨操作系统的远程调用技术,连接不同系统之间的一个桥梁/纽带,可以实现不同编程语言,不同系统之间的交互。其本质就是xml的解析。相比httpService 接口中的实现的方法和要求的参数更加的一目了然,且不用担心 大小写与中文 urlencode的问题 代码中也不需要声明认账参数 ,传递的参数可以为对象 ,数组等