更新時間:2020-09-18 17:02:25 來源:動力節點 瀏覽1478次
隨著互聯網技術的快速發展,Internet逐漸成為全球信息傳遞與共享的巨大的資源庫,與此同時,越來越多的網絡環境下的Web應用系統被建立起來。隨著網絡技術、網絡運行理念的發展,人們提出一種新的利用網絡進行應用集成的解決方案——Web Service。為了規范互聯網中越來越多的Web程序,Web Service規范逐漸形成。
下面和大家一起來了解一下目前的3種Web Service規范:
1.JAX-WS:
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,二者最大的區別就是RPC/encoded 樣式的WSDL,JAX-WS 已經不提供這種支持。JAX-RPC 的API 從JAVA EE5 開始已經移除,如果你使用J2EE1.4,其API 位于javax.xml.rpc.*包。JAX-WS(JSR 224)規范的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,JSR 67)是與JAXM 搭配使用的API,為構建SOAP 包和解析SOAP 包提供了重要的支持,支持附件傳輸,它在服務器端、客戶端都需要使用。這里還要提到的是SAAJ 規范,其API 位于javax.xml.soap.*包。JAXM&SAAJ 與JAX-WS 都是基于SOAP 的Web 服務,相比之下JAXM&SAAJ 暴漏了SOAP更多的底層細節,編碼比較麻煩,而JAX-WS 更加抽象,隱藏了更多的細節,更加面向對象,實現起來你基本上不需要關心SOAP 的任何細節。那么如果你想控制SOAP 消息的更多細節,可以使用JAXM&SAAJ,2012年版本為1.3。
3.JAX-RS:
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 CXF2.2 的發行包中的jar 你如果直接全部放到lib 目錄,那么你必須使用JDK1.6,否則會報JAX-WS 版本不一致的問題。對于JAXM&SAAJ 規范我們采用JDK 中自帶的默認實現。
Web Service是一種新的Web應用程序分支,一旦部署以后,其他Web Service應用程序可以發現并調用它部署的服務。Web Service規范從某種程度上制約著魚龍混雜的Web Service應用程序,使它們趨于規范發展。有興趣在互聯網長期發展的小伙伴可以觀看本站的java視頻教程,學習更加全面的前端知識!
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習