JAVA 中共有三種WebService 規範,分別是JAX-WS(JAX-RPC)、JAXM&SAAJ、JAX-RS。java
JAX-WS 的全稱爲 Java API for XML-Based Webservices ,早期的基於SOAP 的JAVA 的Web 服務規範JAX-RPC(Java API For XML-RemoteProcedure Call)目前已經被JAX-WS 規範取代。從java5開始支持JAX-WS2.0版本,Jdk1.6.0_13之後的版本支持2.1版本,jdk1.7支持2.2版本。web
Jaxws開發的webservice傳輸soap協議。json
JAXM(JAVA API For XML Message)主要定義了包含了發送和接收消息所需的API,SAAJ(SOAP With Attachment APIFor Java,JSR 67)是與JAXM 搭配使用的API,爲構建SOAP 包和解析SOAP 包提供了重要的支持,支持附件傳輸等,JAXM&SAAJ 與JAX-WS 都是基於SOAP 的Web 服務,相比之下JAXM&SAAJ 暴漏了SOAP更多的底層細節,編碼比較麻煩,而JAX-WS 更加抽象,隱藏了更多的細節,更加面向對象,實現起來你基本上不須要關心SOAP 的任何細節編碼
JAX-RS 是JAVA 針對REST(Representation State Transfer)風格制定的一套Web 服務規範,因爲推出的較晚,該規範(JSR 311,目前JAX-RS 的版本爲1.0)並未隨JDK1.6 一塊兒發行。spa
Rest定義能夠自行搜索rest
jax-RS能夠發佈 rest風格webservice,由於rest的webservice不採用soap傳輸,直接採用http傳輸,能夠返回xml或json,比較輕量。xml
之後可能會流行Rest風格的對象