这节主要几个问题:
1、什么是WebService?
2、它能做什么?
3、为什么要学习WebService?
4、学习WebService要达到什么目的?
先理解什么是服务
现在的应用程序变得越来越复杂,甚至只靠单一的应用程序无法完成全部的工作。更别说只使用一种语言了,比如手机上的天气预告, 一般公司能自己拿到那些信息?不可能!这是某卫星中心的数据,通过制定某一标准的接口发布到网络上供其他系统调用而获取天气信息。类似的服务还有银行、支付宝。。目前的云计算、云查杀都是一种服务,现在比较流行的说法是SOA(面向服务的框架)。既然数据库可以依据某些标准对外部其他应用程序提供服务、而且不关心对方使用什么语言,那我们为什么就不能实现跨平台、跨语言的服务呢?
只要我们用Java写的代码,可以被任意的语言所调用,我们就实现了跨平台,跨语言的服务!
http://www.webxml.com.cn/ 该网站提供不少webservice免费服务,这是我项目开发经常逛的网站
由上图可知道,有很多功能别人已经帮开发好,比如获取天气,获取货币汇率等等,但有可能是不同的语言编写的,所以这个时候就需要webservice的支持了。
好,接下来我们对一开始那几个问题进行解答:
1、WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用.
2、我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单调用了一下服务器上的一段代码而已。
3、学习WebService可以将你的服务(一段代码)发布到互联网上让别人去调用,也可以调用别人机器上发布的WebService,就像使用自己的代码一样.。
在学习开始之前,我们先了解几个名词:
跨语言的原理: 北京人 – 广东人 如何欢快交流? 说普通话呗
名词1:XML. Extensible Markup Language -扩展性标记语言
XML,用于传输格式化的数据,是Web服务的基础。
namespace-命名空间。
xmlns=“http://com.luowg” 使用默认命名空间。
xmlns:luowg=“http://com.luowg”使用指定名称的命名空间。
名词2:WSDL – WebService Description Language – Web服务描述语言
通过XML形式说明服务在什么地方-地址。
通过XML形式说明服务提供什么样的方法 – 如何调用。相当于webservice的使用说明书
名词3:SOAP-Simple Object Access Protocol(简单对象访问协议)
SOAP作为一个基于XML语言的协议用于有网上传输数据。
SOAP = 在HTTP的基础上+XML数据。
SOAP是基于HTTP的。
SOAP的组成如下:
Envelope – 必须的部分。以XML的根元素出现。
Headers – 可选的。
Body – 必须的。在body部分,包含要执行的服务器的方法。和发送到服务器的数据。
我们下一篇将简单了解一个WSDL,SOAP的格式