Web Service 介紹
概念
1.webservice是一個跨平臺跨語言的遠程調用技術
2.webservice採用的是SOAP協議,SOAP協議是基於http的應用層協議,soap協議傳輸的是xml數據
3. 然後對外提供了wsdl說明書,用來描述服務端的接口,接口方法,方法參數,是一個xml文件
WebServices 是什麼
- Web Services 是應用程序組件
- Web Services 使用開放協議進行通信
- Web Services 是獨立的(self-contained)並可自我描述
- Web Services 可通過使用UDDI來發現
- Web Services 可被其他應用程序使用
- XML 是 Web Services 的基礎
Web Service的三要素:SOAP、WSDL、UDDI
可重複使用的應用程序組件
有一些功能是不同的應用程序常常會用到的。那麼爲什麼要週而復始地開發它們呢?
Web services 可以把應用程序組件作爲服務來提供,比如匯率轉換、天氣預報或者甚至是語言翻譯等等。
比較理想的情況是,每種應用程序組件只有一個最優秀的版本,這樣任何人都可以在其應用程序中使用它。
連接現有的軟件
通過爲不同的應用程序提供一種鏈接其數據的途徑,Web services有助於解決協同工作的問題。
通過使用 Web services,您可以在不同的應用程序與平臺之間來交換數據。
java 開發WebServices的幾種方式
- Axis2方式
Axis是apache下一個開源的webservice開發組件,出現的算是比較早了,也比較成熟。這裏主要介紹Axis+eclipse開發webservice,當然不用eclipse也可以開發和發佈webservice,只是用eclipse會比較方便。 - Apche CXF方式
CXF開發webservice也是比較方便和簡單的,它和spring的集成可以說是非常地好。 - JDK開發webservice方式
優缺點:
-
優點:
- 客戶端不同的編程語言也可以使用webservice提供的接口來進行兩端之間的對象傳遞
- 跨平臺跨語言等等,學習成本低,因爲SOAP協議是一個標準,是基於HTTP協議的,HTTP協議也是一個標準,然後SOAP協議傳輸是xml數據,xml也是一個標準
-
缺點:
- 因爲是基於SOAP的協議,因爲是涉及xml對象的轉換,所以傳輸是比較慢的
- 如果需要快的,就採用TCP/IP的訪問,然後再到http協議
- 在線支付是傳輸的數據不太,而且需要快,就採用http協議