本篇關(guān)鍵詞:
JWS ,JAX-WS ,JAX-RS,REST,Restlet,SOAP
這一段時(shí)間從.NET轉(zhuǎn)戰(zhàn)java了。表示對(duì)java的一套相當(dāng)不熟悉。新手,必須是新手。作為新手,我感到壓力很大。
面對(duì)開(kāi)發(fā)環(huán)境中的若干包,若干插件,若干技術(shù)。只寫(xiě)過(guò)Java 控制臺(tái)里邊的HelloWord,學(xué)習(xí)過(guò)Java基本語(yǔ)言的我,感到很有挑戰(zhàn)性。。。
轉(zhuǎn)入正題,今天要說(shuō)說(shuō)與Java WebService 相關(guān)的一些列概念。因?yàn)槲覀€(gè)人在探索過(guò)程中被這些五花八門(mén)的新名詞搞的很暈,找不到各個(gè)概念之間的聯(lián)系,想要做一個(gè)解決方案的選擇,令我糾結(jié)若干天。
以前的時(shí)候,對(duì).NET的webservice有所了解,所以對(duì)于理解javawebservice 難度就不大。
l JWS: 是指與webservice相關(guān)的J2EE(其實(shí)現(xiàn)在應(yīng)該叫做Java EE吧)技術(shù)叫做 JWS(全稱(chēng)就是 java webservice)。沒(méi)錯(cuò),jws指的就是 javawebservice
l Jws含有的技術(shù)
1. JAX-WS
2. JAX-RS
3. JAXB
4. JAXR
5. SAAJ
6. StAX
諸多技術(shù),不是都要弄明白,再說(shuō),對(duì)于我來(lái)說(shuō),也不是要攻java的,至少目前不是。
簡(jiǎn)要說(shuō)一下 JAX-WS 和JAX-RS
JAX-WS全稱(chēng)是JavaTM API forXML-Based Web Services
JAX-RS :全稱(chēng)是 JavaTM API forRESTful Web Services
而jaxb是java xml binding,是jax-rs jax-ws底層使用的對(duì)象與xml之間轉(zhuǎn)換的工具
網(wǎng)上說(shuō)關(guān)于JAX-WS與JAX-RS有這么說(shuō)的: 兩者是不同風(fēng)格的SOA架構(gòu)。前者以動(dòng)詞為中心,指定的是每次執(zhí)行函數(shù)。而后者以名詞為中心,每次執(zhí)行的時(shí)候指的是資源。
感覺(jué)這個(gè)說(shuō)法比較靠譜,JAX-WS是面向消息的,每次請(qǐng)求的時(shí)候指定了請(qǐng)求的方法。JAX-RS是面向資源的。后則將網(wǎng)絡(luò)上的東西當(dāng)做一種資源,每次請(qǐng)求都是對(duì)該資源進(jìn)行操作,比如對(duì)資源的增刪查改。
在網(wǎng)上看到這么一句話:JAVA 中共有三種WebService 規(guī)范,分別是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。我暫時(shí)不清楚他們能不能叫做webservice服務(wù)規(guī)范,而且這個(gè)服務(wù)規(guī)范是什么意思?
JAX-WS規(guī)范是一組XML web services的JAVA API,這樣會(huì)不會(huì)好理解一點(diǎn)?規(guī)范和API什么關(guān)系啊。。。。為什么規(guī)范是java api (請(qǐng)?jiān)徫疫@么咬文嚼字。。。)
我的理解就是他們只是集成在java平臺(tái)里邊的API,這個(gè)API是用來(lái)實(shí)現(xiàn)不同風(fēng)格的JWS的。人們把這一套API叫做web服務(wù)規(guī)范。因?yàn)樗麄兊脑O(shè)計(jì)目標(biāo)不一樣,前者JWS-WS為實(shí)現(xiàn)基于soap協(xié)議的Web Service提供的API,SOAP協(xié)議比較強(qiáng)大。而后者JWS-RS是為基于REST設(shè)計(jì)風(fēng)格的WebServcice提供的API。
關(guān)于REST這么說(shuō),它是一種架構(gòu),而不是一種標(biāo)準(zhǔn)。目前我對(duì)他得理解還不夠深刻,暫不做深述。
然后我們?cè)俳Y(jié)合一部分框架,就能夠很輕松(至少框架的目的是這樣)的實(shí)現(xiàn)Web Service。
支持JAX-WS服務(wù)規(guī)范的框架有:CXF,Axis,Xfile
CXF、Axis2、XFire 結(jié)合java語(yǔ)言均可可實(shí)現(xiàn)JAX-WS(我理解不了這句話是什么意思,為什么是實(shí)現(xiàn)JAX-WS。。是應(yīng)該指的是那種基于soap協(xié)議的,webservice吧)
支持JAX-RS服務(wù)規(guī)范的框架有:
我想,意思是這些框架結(jié)合JAX-WS能夠?qū)崿F(xiàn)RET風(fēng)格的webservice吧,因?yàn)镴AX-WS不是指的是API么?上述說(shuō)法令人費(fèi)解。。
好吧嗎,我們就假定認(rèn)為結(jié)合這些框架在結(jié)合java平臺(tái)提供的一些API我們就能夠分別實(shí)現(xiàn) soap協(xié)議風(fēng)格的webservice,或者實(shí)現(xiàn) REST風(fēng)格的Web Service。
暫時(shí)寫(xiě)到這里,我真的標(biāo)識(shí)仍然對(duì)上述的一些列概念之間的關(guān)系理不順,希望明白的朋友指點(diǎn)一下迷津,ThankYou!!
聯(lián)系客服