Java JAX-WS和JAX-RS webservice的區別和特點
Java,,JAX-RS,webservice,區別,特點
首先說明一下:jaxb是java 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架構風格:
前者以動詞為中心,指定的是每次執行函式,大力支援的廠商如BEA,IBM,MS基本都是開發工具廠商,沒有開發工具來做
後者以名詞為中心,每次執行的時候指的是資源,大力支援的廠商如Google,Yahoo,亞馬孫等都是服務運營廠商,實在是REST簡潔好用,又能滿足絕大部分需求)。
JAX-WS是面向訊息的,每次請求的時候指定了請求的方法。JAX-RS是面向資源的。後則將網路上的東西當做一種資源,每次請求都是對該資源進行操作,比如對資源的增刪查改。
在網上看到這麼一句話:JAVA 中共有三種WebService 規範,分別是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。我暫時不清楚他們能不能叫做webservice服務規範,而且這個服務規範是什麼意思?
JAX-WS規範是一組XML web services的JAVA API,這樣會不會好理解一點?規範和API什麼關係啊。。。。為什麼規範是java api (請原諒我這麼咬文嚼字。。。)
我的理解就是他們只是整合在java平臺裡邊的API,這個API是用來實現不同風格的JWS的。人們把這一套API叫做web服務規範。因為他們的設計目標不一樣,前者JWS-WS為實現基於soap協議的Web Service提供的API,SOAP協議比較強大。而後者JWS-RS是為基於REST設計風格的WebServcice提供的API。
關於REST這麼說,它是一種架構,而不是一種標準。目前我對他得理解還不夠深刻,暫不做深述。
然後我們再結合一部分框架,就能夠很輕鬆(至少框架的目的是這樣)的實現Web Service。
支援的框架:
支援JAX-WS服務規範的框架有:CXF,Axis,Xfire。結合java語言均可可實現JAX-WS
支援JAX-RS服務規範的框架有:
1.CXF——XFire和Celtix的合併
2.——Sun公司的JAX-RS參考實現。
3.RESTEasy——JBoss的JAX-RS專案。
4.Restlet——也許是最早的REST框架了,它JAX-RS之前就有了。