如下部份內容來自於互聯網java
一、什麼是WebService
- WebService即web服務,它是一種跨編程語言和跨操做系統平臺的遠程調用技術即跨平臺遠程調用技術。
- 採用標準的SOAP(Simple Object Access Protocol 簡單對象訪問協議 )協議傳輸,SOAP屬於W3C標準。
- SOAP是基於HTTP的應用成協議,SOAP協議傳輸的是XML。
- 採用WSDL(Web Service Description Language)做爲描述語言,WSDL屬於W3C標準。
- XML是WebService的跨平臺基礎,XML主要的優勢在於它既與平臺無關,又與廠商無關。XML屬於W3C標準。
- XSD,W3C爲WebService制定了一套傳輸數據類型,使用xml進行描述,即XSD(XML Schema Datatypes),任何編程語言寫的WebService接口在發送數據時都要轉換成webservice標準的XSD發送。
- 當前非SOAP協議的WebService以輕量爲首要目標,好比HTTP REST方式也是WebService的一種方式,或者直接使用http自定義數據協議,好比http傳輸json數據,http傳輸xml數據等
二、WebService三個要素
- SOAP:
- SOAP即簡單對象訪問協議(Simple Object Access Protocal) 是一種簡單的基於 XML 的協議,它使應用程序經過 HTTP 來交換信息,簡單理解爲soap=http+xml。Soap協議版本主要使用soap1.一、soap1.2
- SOAP不是webservice的專有協議,其餘應用協議也使用soap傳輸數據。例如,SMTP、tr069等
- WSDL:
- WSDL 是基於 XML 的用於描述Web Service及其函數、參數和返回值。通俗理解Wsdl是webservice的使用說明書
- UUID:
- UDDI 是一種目錄服務,經過它,企業可註冊並搜索 Web services。企業將本身提供的Web Service註冊在UDDI,也可使用別的企業在UDDI註冊的web service服務,從而達到資源共享。
- UDDI旨在將全球的webservcie資源進行共享,促進全球經濟合做
- UDDI現狀:目前大部分企業使用webservice並非必須使用UDDI,由於用戶經過WSDL知道了web service的地址,能夠直接經過WSDL調用webservice
三、WebService開發規範
JAVA 中共有三種WebService 規範,分別是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RSweb
3.一、JAX-WS
JAX-WS 的全稱爲 Java API for XML-Based Webservices ,早期的基於SOAP 的JAVA 的Web 服務規範JAX-RPC(Java API For XML-Remote Procedure Call)目前已經被JAX-WS 規範取代。從java5開始支持JAX-WS2.0版本,Jdk1.6.0_13之後的版本支持2.1版本,jdk1.7支持2.2版本。編程
3.二、JAVXM$SAAJ
JAXM(JAVA API For XML Message)主要定義了包含了發送和接收消息所需的API,SAAJ(SOAP With Attachment API For Java,JSR 67)是與JAXM 搭配使用的API,爲構建SOAP 包和解析SOAP 包提供了重要的支持,支持附件傳輸等,JAXM&SAAJ 與JAX-WS 都是基於SOAP 的Web 服務,相比之下JAXM&SAAJ 暴漏了SOAP更多的底層細節,編碼比較麻煩,而JAX-WS 更加抽象,隱藏了更多的細節,更加面向對象,實現起來你基本上不須要關心SOAP 的任何細節。json
3.三、JAX-RS
JAX-RS 是JAVA 針對REST(Representation State Transfer)風格制定的一套Web 服務規範,因爲推出的較晚,該規範(JSR 311,目前JAX-RS 的版本爲1.0)並未隨JDK1.6 一塊兒發行.編程語言
四、演示工程結構