1. 程式人生 > >Java JAX-WS和JAX-RS webservice的區別和特點

Java JAX-WS和JAX-RS webservice的區別和特點

Java,,JAX-RS,webservice,區別,特點

首先說明一下:jaxbjava xml binding,是jax-rs jax-ws底層使用的物件與xml之間轉換的工具

全稱是JavaTM API forXML-Based WebServices

JAX-RS :全稱是JavaTM APIforRESTful Web Services

JAX-WS是針對WebService。而JAX-RS是針對RESTful HTTP Service

可以說這是兩種風格的SOA架構風格:

前者以動詞為中心,指定的是每次執行函式,大力支援的廠商如BEAIBMMS基本都是開發工具廠商,沒有開發工具來做

WebService簡直不是人乾的活,呵呵)

後者以名詞為中心,每次執行的時候指的是資源,大力支援的廠商如Google,Yahoo,亞馬孫等都是服務運營廠商,實在是REST簡潔好用,又能滿足絕大部分需求)。

JAX-WS是面向訊息的,每次請求的時候指定了請求的方法。JAX-RS是面向資源的。後則將網路上的東西當做一種資源,每次請求都是對該資源進行操作,比如對資源的增刪查改。

在網上看到這麼一句話:JAVA 中共有三種WebService 規範,分別是JAXM&SAAJJAX-WSJAX-RPC)、JAX-RS。我暫時不清楚他們能不能叫做webservice服務規範,而且這個服務規範是什麼意思?

JAX-WS規範是一組XML web servicesJAVA API,這樣會不會好理解一點?規範和API什麼關係啊。。。。為什麼規範是java api (請原諒我這麼咬文嚼字。。。)

我的理解就是他們只是整合在java平臺裡邊的API,這個API是用來實現不同風格的JWS的。人們把這一套API叫做web服務規範。因為他們的設計目標不一樣,前者JWS-WS為實現基於soap協議的Web Service提供的APISOAP協議比較強大。而後者JWS-RS是為基於REST設計風格的WebServcice提供的API

關於REST這麼說,它是一種架構,而不是一種標準。目前我對他得理解還不夠深刻,暫不做深述。

然後我們再結合一部分框架,就能夠很輕鬆(至少框架的目的是這樣)的實現Web Service

支援的框架:

支援JAX-WS服務規範的框架有:CXFAxisXfire。結合java語言均可可實現JAX-WS

支援JAX-RS服務規範的框架有:

1.CXF——XFireCeltix的合併

2.——Sun公司的JAX-RS參考實現。

3.RESTEasy——JBossJAX-RS專案。

4.Restlet——也許是最早的REST框架了,它JAX-RS之前就有了。