|
JAX-WS規(guī)范是一組XML web services的JAVA API。JAX-WS允許開發(fā)者可以選擇RPC-oriented或者message-oriented 來實現(xiàn)自己的web services。 在 JAX-WS中,一個遠程調(diào)用可以轉(zhuǎn)換為一個基于XML的協(xié)議例如SOAP。在使用JAX-WS過程中,開發(fā)者不需要編寫任何生成和處理SOAP消息的代碼。JAX-WS的運行時實現(xiàn)會將這些API的調(diào)用轉(zhuǎn)換成為對于SOAP消息。 在服務(wù)器端,用戶只需要通過Java語言定義遠程調(diào)用所需要實現(xiàn)的接口SEI (service endpoint interface),并提供相關(guān)的實現(xiàn),通過調(diào)用JAX-WS的服務(wù)發(fā)布接口就可以將其發(fā)布為WebService接口。 在客戶端,用戶可以通過JAX-WS的API創(chuàng)建一個代理(用本地對象來替代遠程的服務(wù))來實現(xiàn)對于遠程服務(wù)器端的調(diào)用。 通過web service所提供的互操作環(huán)境,我們可以用JAX-WS輕松實現(xiàn)JAVA平臺與其他編程環(huán)境(.net等)的互操作。 JAX-WS工作原理如下圖所示:
JAX-WS與JAX-RPC之間的關(guān)系 Sun最開始的web services的實現(xiàn)是JAX-RPC 1.1 (JSR 101)。這個實現(xiàn)是基于Java的RPC,并不完全支持schema規(guī)范,同時沒有對Binding和Parsing定義標準的實現(xiàn)。 JAX-WS2.0 (JSR 224)是Sun新的web services協(xié)議棧,是一個完全基于標準的實現(xiàn)。在binding層,使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing層,使用的是the Streaming API for XML (StAX, JSR 173),同時它還完全支持schema規(guī)范。
|