【1】是什么?
- 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)
- 一个跨语言、跨平台的规范(抽象)
- 多个跨平台、跨语言的应用间通信整合的方案(实际)
一个完整的webservice由server和client组成,即服务器端和客户端。
【2】为什么要使用?
web service能解决:
跨平台调用 ;
跨语言调用;
远程调用。
【3】什么时候使用?
同一家公司的新旧应用之间。
不同公司的应用之间
分析业务需求:天猫网与中通物流系统如何交互?
一些提供数据的内容聚合应用:天气预报、股票行情
【4】Web Service中的几个重要术语
① WSDL:web service definition language
WebService定义语言,可归结如下:
- 对应一种类型的文件.wsdl;
- 定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式
- 一个web service对应一个唯一的wsdl文档。
② SOAP:simple object access protocal
简单对象访问协议,可归结为如下:
- 是一种简单的、基于HTTP和XML的协议, 用于在WEB上交换结构化的数据;
- soap消息:请求消息和响应消息;
- http+xml片断。
③ SEI:WebService EndPoint Interface(终端)
web service的终端接口,就是WebService服务器端用来处理请求的接口。
④ CXF和axis2
CXF(Celtix + XFire)和axis2都是用于开发webservice服务器端和客户端的框架。
【5】一次webservice请求流程
一次web service请求的本质:
1)客户端向服务器端发送了一个soap消息(http请求+xml片断);
2) 服务器端处理完请求后, 向客户端返回一个soap消息。
那么它的流程是怎样的呢?
【6】WSDL重要标签说明
types - 数据类型(标签)定义的容器,里面使用schema定义了一些标签结构供message引用 。
message - 通信消息的数据结构的抽象类型化定义。引用types中定义的标签。
operation - 对服务中所支持的操作的抽象描述,一个operation描述了一个访问入口的请求消息与响应消息对。
portType - 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。
binding - 特定端口类型的具体协议和数据格式规范的绑定。
service- 相关服务访问点的集合。
port - 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。