21--28
SOAP->WSDL->JAX-RPC->JAX-WS
JAX-WS 完全基於標準的實現,在binding使用JAXB。在Parsing層,使用的STAX,完全支援schema規範(21)
JAX-RPC->JAX-WS區別與聯絡
JAX-WS(Java API for XML-Based Web Services ) 2.0 java5的最新變成標準 最新的web service協議棧,一個完全基於標準的實現,Apache CFX也支援。apache尾巴service開源架構
語
為什麼使用javax-ws,
用於簡化java構造web service和web services客戶機的工作的技術
提供了完善的web servies 堆棧。可減少和部署web services的步驟,包括了JAXB (Java Architecture for XML Binding)
提供了用於將傳統java對象類轉換為web services的annotation庫,蔥兒加速了web service的開發工作
另外,他還指定了從採用WSDL(Web服務描述語言),定義的服務到實現該服務的java類之間的詳細映射 ,採用WSDL定義的任何複雜類型都通過遵循JAXB規範定義的映射來映射為Java類
JAX-WS發布 Web Services 是一組XMLweb servies的java API
允許開發人員選擇RPC-oriented或者message-oriented來實現自己的Web Servies
一個遠程調用可以轉換為一個基於XML的協議例如SOAP
在使用JAX-WS過程中,開發人員不需要編寫任何產生和處理SOAP訊息的代碼
過程:
JAX-WS運行時實現會講這些API的調用轉換成對應的SOAP訊息
在伺服器段,使用者只需要通過java語言定義遠程調用所需要實現的介面
通過調用JAX-WS的服務發布介面就可以將其發布為Web Services介面
在用戶端,使用者可以通過JAX-WS的API建立一個代理,用本機物件來替代遠端服務來實現對遠程伺服器的調用
也提供了一組針對底層訊息進行操作的API調用通過,Dispatch直接使用SOAP訊息或者XML訊息發送請求。或者使用Provider處理SOAP或者XML訊息
通過JAX-WS輕鬆實現java平台與其它編程環境的互操作
JAXB (Java Architecture for XML Binding)
提供了一種非常方便的方法來將XML映射大java代碼的表示形式,從而支援資料繫結功能,JAXB消除了SOAP訊息中的XML模式訊息轉換為java代碼的工作,可以不必完全瞭解SOAP和XML.定義java和xml模式之間的綁定,
提供了將XML借組為java內容樹的方法,以及將java內容樹重編組會XML文檔的方法,執行流程
JAXB的特點就是將你用DTD定義好的XML文檔映射為JAVA對象
訪問XML中元素,屬性,只要通過對象上的一系列的getter和setter方法即可
JAXB缺點,只能訪問特定的XML文檔,只可訪問你用DTD定義好的XML文檔
JAXB的工作原理 編組,解組,往返
編組:把內容中的資料轉換到儲存媒介上的過程
java和xml環境中,編組就是把一些java對象轉換成一個或者多個XML文檔。把java
中的java執行個體中的物件導向結構轉換成適用於xml的扁平結構或者RDBMS的關係結構
解組:把資料從儲存媒介轉換到記憶體中的過程,正好與編組相反
複雜性在於從正確的資料到正確的java代碼變數的映射
往返:最重要,用於描述從儲存媒介到記憶體然後回到儲存媒介的完整迴圈
從xml文檔大oajva執行個體變數然後再回到xml文檔。
要求,如果中間沒有修改資料,xml輸入和xml輸出應該是同等的