深入淺出webservice

深入淺出webservice

ID:9084150

大小:360.00 KB

頁數(shù):10頁

時間:2018-04-16

深入淺出webservice_第1頁
深入淺出webservice_第2頁
深入淺出webservice_第3頁
深入淺出webservice_第4頁
深入淺出webservice_第5頁
資源描述:

《深入淺出webservice》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫

1、深入淺出WebService引言最近幾年WebService技術(shù)正在逐漸成熟,并在項目中開始廣泛使用?,F(xiàn)在我們簡單了解一下什么是WebService,如何使用它。什么是WebServiceWebService,顧名思義就是基于Web的服務。它使用Web方式,接收和響應外部系統(tǒng)的某種請求。比如,我們可以提供一個用于查詢天氣信息的WebService,然后可以用任何支持WebService的客戶端連接到這個Service進行查詢。很多企業(yè)用戶經(jīng)過多年的積累,已經(jīng)部署了很多應用系統(tǒng)。這些應用系統(tǒng)在企業(yè)運營中分擔著不同的功能或任務。隨著

2、企業(yè)的發(fā)展壯大,由于種種原因,這些企業(yè)用戶逐漸開始考慮如何對原有的這些舊系統(tǒng)進行整合。使用WebService方式將這些舊的應用系統(tǒng)整合起來,對外部提供一致的接口,不僅可以達到整合已有舊系統(tǒng)的目的,還可以避開因為完全構(gòu)建一個新系統(tǒng)而產(chǎn)生的風險。這樣就大大降低了項目的成本和風險。這就是SOA得以被客戶廣泛采納的原因。從WebService的工作模式上理解的話,它跟普通的Web程序(比如ASP、JSP等)并沒有本質(zhì)的區(qū)別,都是基于HTTP傳輸協(xié)議的程序。WebService與普通Web程序的區(qū)別主要在于:1)WebService只采

3、用HTTPPOST方式傳輸數(shù)據(jù),不使用GET方式;2)WebService從數(shù)據(jù)傳輸格式上作了限定。WebService所使用的數(shù)據(jù)均是基于XML格式的。目前標準的WebService在數(shù)據(jù)格式上主要采用SOAP協(xié)議。SOAP協(xié)議實際上就是一種基于XML編碼規(guī)范的文本協(xié)議。所以我們可以用下面這個圖來簡單地描述WebService:ClientWebServiceSOAP(XML)通迅協(xié)議:HTTPPOSTWebService和Web服務器的區(qū)別有人曾疑問WebService和Web服務器有什么區(qū)別呢?我們可以把WebServic

4、e看作是Web服務器上應用;反過來說,Web服務器是WebService運行時所必需的容器。這就是它們的區(qū)別和聯(lián)系。WebService的特點通過上面對WebService的簡要介紹,我們了解到WebService的主要特性:1)WebService通過HTTPPOST方式接受客戶的請求2)WebService與客戶端之間一般使用SOAP協(xié)議傳輸數(shù)據(jù)必須注意到,WebService標準本身并沒有限制服務端或客戶端的操作系統(tǒng)環(huán)境或編程語言環(huán)境。因為它本身就是為了跨平臺或跨應用而設(shè)計的。所以我們會看到很多聲稱支持WebService

5、的平臺。比如:MicrosoftVisualStudio開發(fā)平臺,Sping,Axis,XFire,Spring等等。我現(xiàn)在主要討論Java平臺上的WebService框架,實際上其中的原理也適用于其它平臺?;贘ava技術(shù)的WebService對于Java平臺,常見的WebService框架有Spring+XFire,Axis,CXF。這些框架各有千秋,本次討論以理解WebService的原理為目標,所以我選擇了CXF這個相對簡單的框架。通過使用CXF,我們可以了解WebService服務端的工作機制,實際上它跟其它WebSe

6、rvice框架在這方面沒有區(qū)別。我會介紹如何創(chuàng)建一個通用的WebService服務端;然后我還會介紹如何自己編寫一個通用的客戶端,直接通過HTTPPOST方式調(diào)用WebService服務端。CXF是Apache基金會組織下的一個項目,簡化了WebService服務端的創(chuàng)建過程。CXF實現(xiàn)了JAX-WS2.0規(guī)范,并通過了JAX-WS2.0TCK;CXF可以和Spring無縫集成;CXF支持多種傳輸協(xié)議(HTTP,JMS,Corba等),支持多種Binding數(shù)據(jù)格式(SOAP,XML,JSON等),支持多種DataBinding

7、數(shù)據(jù)類型(JAXB,Aegis)。CXF基于Interceptor的架構(gòu),使得整個框架非常易于擴展。本次我主要討論CXF在HTTP/SOAP模式下的處理機制。可以從http://cxf.apache.org/download.html下載CXF,目前最新版本是2.2.5。下載最新的版本后,解壓壓縮包,從lib目錄下至少要拿出下面幾個jar放入你的工程:cxf-2.2.5.jarantlr-2.7.7.jarcommons-codec-1.3.jarcommons-collections-3.2.1.jarcommons-lang

8、-2.4.jarcommons-logging-1.1.1.jarcommons-pool-1.5.2.jargeronimo-annotation_1.0_spec-1.1.1.jargeronimo-jaxws_2.1_spec-1.0.jargeronim

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。