WebService简介
WebService是跨平台跨语言的远程调用技术
Web Service的三要素:SOAP、WSDL、UDDI
soap用来描述传递信息的格式
WSDL 用来描述如何访问具体的接口
- uddi用来管理,分发,查询Web Service。
概念
- webservice是一个跨平台跨语言的远程调用技术
- webservice采用的是SOAP协议,SOAP协议是基于http的应用层协议,soap协议传输的是xml数据
- 然后对外提供了wsdl说明书,用来描述服务端的接口,接口方法,方法参数,是一个xml文件
WebService的使用场景:
- 作为公网的webservice的服务
企业内部系统之间的接口调用(SOA面向服务的架构)
- WebService可以算作为SOA面向服务的架构的实现
- 参考文章:http://www.cnblogs.com/imyalost/p/6792724.html
优缺点:
缺点:
- 因为是基于SOAP的协议,因为是涉及xml对象的转换,所以传输是比较慢的
如果需要快的,就采用TCP/IP的访问,然后再到http协议
在线支付是传输的数据不太,而且需要快,就采用http协议
- 优点:
- 客户端不同的编程语言也可以使用webservice提供的接口来进行两端之间的对象传递
- 跨平台跨语言等等,学习成本低,因为SOAP协议是一个标准,是基于HTTP协议的,HTTP协议也是一个标准,然后SOAP协议传输是xml数据,xml也是一个标准
通过webservice提供的服务接口可以在客户端和服务端之间可以传递对象
开发的规范
JAXWS
JASX-WS的全称是Java API for XML-Based Webservice
- 是使用java API 开发webService
- Jaxws开发的webservice传输soap协议
- 特点 : 开发简单,高度封装实现细节
- 基于soap协议
JAX-RS
JAX-RS 是JAVA针对REST(Representation State Transfer)风格制定的一套Web服务规范
- 是基于Http协议
- 传输数据:
- 支持xml
- 支持json
可以提高传输效率
JAXM&SAAJ
JAXM 全称 JAVA For XML Message 主要定义了包含发送和接受消息所需的API
是自己操作协议内容
++在http协议中,request就是获取请求流的数据,再解析流的数据++
JAXM就相当于自己操作request,非常麻烦,要触及更多的底层细节