WebService

1,Web Service技术,能使运行在不同服务器上的不同应用无需借助附加的、专门的第三方软件或硬件,就可以相互交换数据或集成。依据Web Service规范实施的应用质检,无论他们所使用的语言、平台或内部协议是什么,都可以相互交换数据。webService是自描述、自包含的可用网络模块,WebService很容易不熟,因为他们基于一些常规的产业标准以及已有的一些技术,诸如XML和HTTP。Web Service为整个企业甚至多个组织之间的业务流程的及集成提供了一个通用机制。

2,java中的web服务规范

java中共有三种WebService规范,分别是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。

jax-ws(java  API for XML_WebService)JDK1.6自带的版本是JAX_WS2.1,其底层支持位JAXB。早起的基于SOAP的JAVA的Web服务规范JAX_RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS规范取代,JAX-WS是JAX-RPC的演进版本,但JAX-WS已经不提供这种支持,JAX-RPC的API从java EE5就已经开始移除,JAX-WS规范的API位于javax.xml.ws.*包,其中大部分是注解,提供API操作WEB服务(通常在客户端使用的比较多,由于客户端可以借助SDK生成,因此这个包中的API我们较少会直接使用)。

WS-MetaData(JsR 181)是JAX-WS的依赖规范,其API位于javax.jws.*包,使用注解配置公开的Web服务的相关信息和配置SOAP消息的相关信息。

2,JAXM&SAAJ:

JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需要的API,相当于Web服务的服务器端,其API位于javax.messaging.*包,它是JAVA EE的可选包,因此徐璈单独下载。SAAJ(SOAP With Attachment API For JAva,jsr67)是与JAVAM搭配使用的API,为构建SOAP包和解析SOAP包提供了重要的支持,支持附件传输,它在服务器端、客户端都需要使用。SAAJ规范,其API位于javax.xml.soap.*包。JAXM&SAAJ 与 JAX-WS 都是基于 SOAP 的 Web 服务,相比之下 JAXM&SAAJ 暴漏了 SOAP
更多的底层细节,编码比较麻烦,而 JAX-WS 更加抽象,隐藏了更多的细节,更加面向对
象,实现起来你基本上不需要关心 SOAP 的任何细节。那么如果你想控制 SOAP 消息的更
多细节,可以使用 JAXM&SAAJ,目前版本为 1.3。

JAX-RS 是 JAVA 针对 REST(Representation State Transfer)风格制定的一套 Web 服务规范,
由于推出的较晚,该规范(JSR 311,目前 JAX-RS 的版本为 1.0)并未随 JDK1.6 一起发行,
你需要到 JCP 上单独下载 JAX-RS 规范的接口,其 API 位于 javax.ws.rs.*包。
这里的 JAX-WS 和 JAX-RS 规范我们采用 Apache  CXF 作为实现,CXF 是 Objectweb  Celtix
和 Codehaus  XFire 合并而成。CXF 的核心是 org.apache.cxf.Bus(总线),类似于 Spring 的
ApplicationContext,Bus 由 BusFactory 创建,默认是 SpringBusFactory 类,可见默认 CXF
是依赖于 Spring 的, Bus 都有一个 ID,默认的 BUS 的 ID 是 cxf。你要注意的是 Apache CXF
2.2 的发行包中的 jar 你如果直接全部放到 lib 目录,那么你必须使用 JDK1.6,否则会报
JAX-WS 版本不一致的问题。对于 JAXM&SAAJ 规范我们采用 JDK 中自带的默认实现

 

 

 

 

 

 

 

posted on 2014-02-25 10:55  elen-  阅读(242)  评论(0编辑  收藏  举报

导航