这将会是一个系列文章,其目的是总结自小编工作以来的一些应用,也是对自己学到知识的深入,请大家持续关注。
本文主要从根源简单的介绍一下webservice,同时介绍其中两个基础的概念,以及其解决的问题。
Webservice,顾名思义web服务。先理解什么叫服务?
服务
现在的应用程序变得越来越复杂,甚至单一的应有程序无法完成全部的工作,只用一种语言开发更是不太可能,例如我现在正在开发的项目既有.NET、Java、Android三部分组成。
提一个问题
为什么程序查询数据库时,并没有考虑应用程序的语言就可以将查询结果返回给上层的应用程序。
数据库通过TCP/IP协议与另一个应用程序进行交流的结果,数据库只是遵循SQL92查询标准协议。
webservice提出原因
目前云计算,云查杀都是一种服务,而且现在比较流行的说法是SOA(面向服务的框架)既然数据库可以依赖某种协议对外部其他应用程序提供服务,不需要考虑应用程序的语言,那么为应用程序什么不能实现跨平台,跨语言的服务,故这就是webservice的来源,只要用Java写的代码,可以被任意的语言所调用,又实现了跨平台。
Webservice概念
基于web的服务,使用web(HTTP)方式,接收和响应外部系统的某种请求,从而实现远程调用。
使用webservice其实就是把其他人发布web服务嵌入到程序中,简单调用了一下别人机器上的一段代码,就像调用自己的代码一样。
Webservice涉及的概念
1、XML
a)传输格式化的数据,是web服务的基础
2、WSDL
(WebService Description Language)web服务描述语言
a)通过xml形式说明服务在什么地方-地址
b)通过xml形式说明服务提供什么样的方法-如何调用
WSDL其实就是webservice的说明书
3、SOAP
(Simple Object Access Protocol)——简单对象访问协议
a)基于xml语言的协议用于在网上传输数据。
b)SOAP = HTTP的技术上+XML基础,所以SOAP是基于http的。
c)SOAP的组成:
Envelope——必须的部分。以xml的根元素出现
Hearders——可选的
Body——必须的,在body部分,包含要执行的服务器方法。和发送到服务器的数据。
soap是为了解决不同平台之间语言的解析格式的不同,相当于设定了一个标准,而所有的平台语言都进行遵守,设定一个规范标准。