Web服务是一种部署在web上的自描述对象或组件,能够通过一系列的标准协议(如WSDL,SOAP,UDDI)描述、发布、发现、查询和访问
1. 实现技术 axis,xfire
2. Webservice用到的技术
Xml
Soap
Rpc
Wsdl
3. Webservice原理及概念
Webservice定义了一套标准的调用过程
服务器首先用一套标准的方法向外界描述它提供的服务内容---WSDL
客户端需要以一种标准的协议调用此服务---SOAP
服务提供者将服务内容放在一个公用的网址供查询---UDDI
命名空间
增加命名属性,保持其唯一性
4. 一份完整的WSDL文档分为5个部分
Types元素中描述消息中复杂数据类型的使用
Message元素指定XML数据类型组成消息的各个部分。用于定义操作的输入和输出参数
Porttype元素中定义了web服务的操作。操作定义了输入和输出流中可以出现的XML消息
Binding元素描述特定服务接口的协议,数据格式,安全性和其他属性
Service元素。服务元素包含一组port元素。端口将端点与来自服务接口定义的binding元素关联起来
5. 目前主流的webservice引擎
Axis
Xfire
Jboss
Weblogic
Websphere
Microsoft.net
6. Webservice架构
三个参与者:
服务提供者 service provider
服务请求者 service requester
服务代理 service broker
三个基本操作:
发布 publish
查找 find
绑定/调用 bind/invoke
7. SOAP包含的四部分
信封
数据的编码规则
RPC调用规范
SOAP绑定
8. SOA的产生所经历的过程
面向过程(C)à面向对象(C++,JAVA)à面向组件(EJB,DCOM)à面向标准组件(webservice)à面向服务(SOA)
9. Webservice并不完全是符合SOA的概念,因为SOA是webservice特有的协议,不符合SOA的传输协议透明化的要求
10. Java 的webservice规范
有三种:JAXM&SAAJ,JAX-WS(JAX-RPC),JAX-RS
JAX-WS JAVA API FOR XML-WEBSERVICE
(JSR224)-位于javax.xml.ws.*包中
Ws-metadata(JSR181)是 jax-ws的依赖规范,起API位于javax.jws.*
JAXM&SAAJ 前者为发送和接收消息API,后者为附件
JAXM JAVA API FOR XML MESSAGE
SAAJ SOAP WITH ATTACHMENT API FOR JAVA ,JSR67
与JAX-WS相逼,JAXM&SAAJ暴露了SOAP更多底层细节,编码较为麻烦;而
JAX-WS更加抽象,隐藏更多细节,更加面向对象,实现起来不需要关心SOAP的任何细节
JAX-RS是针对REST(REPRESENTATION STATE TRANSFER)风格指定的一套web服务规范
JAX-WS及JAX-RS规范采用APACHE CXF作为实现
CXF是OBJECT WEB CLETIX和CODEHAUS XFIRE合并而成
CXF核心是org.apache.CXF.bus,类似spring的applicationcontext
CXF依赖spring
11. 下面的是ws的实现技术
AXIS APACHE EXTENSIBLE INTERGRATION SYSTEM是SOAP协议的一个实现
提供2种发布方式:即时发布,定制发布
即时发布:需要源码,不支持带包的类(JWS)
定制发布:WSDD web service deployment description