天天看點

WebService入門學習筆記

WebService是一套協定規範,基礎的WS平台可以為XML+HTTP。XML可以提供在不用平台與語言之間的通信,HTTP是現今應用最廣泛的Internet協定。

WebService平台元素:

  1. SOAP(Simple Object Access Protocol):SOAP是基于XML,可通過HTTP傳輸資料的協定。
  2. UDDI(Universal Description,Disconvery and Integration):UDDI是一種企業能夠注冊并搜尋WS的目錄服務。
  3. WSDL(Web Service Description Language):WSDL是基于XML,用于定位及描述WS的語言。

摘自網絡:JAX-WS2.0是JAX-RPC1.1的後續版本。與 Java API for XML Binding(JAXB)或 Java API for XML Processing(JAXP),甚至 JDBC 等标準 API 一樣,JAX-RPC 其實是一個 API 規範。這裡有“小蟲”的一篇介紹JAX-RPC的文章:http://echohfut.javaeye.com/blog/399343。

在 JAX-WS中,一個遠端調用可以轉換為一個基于XML的協定例如SOAP。在使用JAX-WS過程中,開發者不需要編寫任何生成和處理SOAP消息的代碼。JAX-WS的運作時實作會将這些API的調用轉換成為對于SOAP消息。

在伺服器端,使用者隻需要通過Java語言定義遠端調用所需要實作的接口SEI (service endpoint interface),并提供相關的實作,通過調用JAX-WS的服務釋出接口就可以将其釋出為WebService接口。

在用戶端,使用者可以通過JAX-WS的API建立一個代理(用本地對象來替代遠端的服務)來實作對于遠端伺服器端的調用。

JAX-WS2.0 (JSR 224)是Sun新的web services協定棧,是一個完全基于标準的實作。在binding層,使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing層,使用的是the Streaming API for XML (StAX, JSR 173),同時它還完全支援schema規範。

  • JAX-WS新的API主要包含在javax.xml.ws包中,包括Service端和Clent端的一些核心類。新的程式設計模型包括增強的Handler Framework,異步調用和Provider/Dispatch動态程式設計模型。
  • 使用annotations描述WS。
  • 通過JAXB2.0完成xml data與Java對象的綁定。