web services理論知識

2021-04-17 11:46:44 字數 1412 閱讀 2290

web服務作為一種能夠快速整合應用的技術,如果與非同步傳輸進行組合,就將為構建企業級應用提供所需的可靠性。在本文中,我們嘗試用兩種設計方法來部署和訪問非同步web服務(通過使用 apache axis)。在第一種方法中,用websphere mq support pac、ma0r來提供mq傳輸(利用wsdl的可擴充套件性),而在第二種方法中,將自定義jms傳送者和偵聽者傳輸處理器插入axis可擴充套件框架。第一種方法使web服務的開發和部署更加容易,而第二種方法提供了插入我們自己的傳輸處理器的靈活性。

非同步 web 服務的實現和呼叫對於應用程式開發非常重要。公開 web 服務功能的 ui 已日益變得更加互動式。因此,非同步呼叫和實現已變得更加有用和有效,並最終幫助提供更好的總體使用者體驗。本文概述 web 服務中的非同步場景的不同模式,並提供有關如何使用 apache axis2 來實現它們的深入見解。

最初在將 web 服務實現作為一種應用程式開發方法引入時,它僅支援使用同步呼叫來進行請求-響應互動(本文中的同步 是指在同乙個執行執行緒中處理請求和響應)。但是隨著越來越多的應用程式採用 web 服務來公開功能,並且將客戶端應用程式設計為與 web 服務互動,純粹的同步呼叫已被視為瓶頸。這是因為,由於服務實現中的各種原因,有些 web 服務實現要花相當長的時間才能響應請求。例如,如果某個 web 服務在某個時點需要人工介入或批處理,該 web 服務可能要花數天時間才能獲得結果。這些延遲還導致某些傳輸機制超時。

隨著 web 服務開發的發展,最終有些 soap 堆疊嘗試在同步功能之上模擬非同步呼叫。儘管那些努力有點非同步呼叫的感覺,但它們無法提供完整和真正的功能。apache software foundation 推出的開放源** web 服務引擎 apache axis2 為非同步 web 服務呼叫和實現提供了一流的支援。axis2 具有兩種在客戶端提供非同步性的機制和一種在伺服器端提供非同步性的機制。下面更詳細地研究一下如何使用這些機制實現非同步通訊。

傳輸級別的非同步

第二種方法是使用傳輸級別的非同步。可以在 web 服務呼叫中使用的所有傳輸都可大致歸類為兩種型別的呼叫:

單向傳輸提供乙個傳送或接收訊息的通道。

雙向傳輸可以使用同乙個通道傳送和接收訊息。

簡單郵件傳輸協議(****** mail transfer protocol,**tp)是單向傳輸的示例,而 http 則是雙向傳輸。使用單個 http 通道即可與 web 服務進行請求-響應互動,而使用 **tp 則需要兩個通道。

客戶機具有用於請求-響應互動的不同選項。最容易的方法是使用諸如 http 之類的雙向傳輸。但是此方法不使用傳輸級別的非同步。客戶機還可以使用兩個單向傳輸或兩個雙向傳輸。例如,可以使用乙個 **tp 通道傳送訊息,並使用另乙個 **tp 通道接收響應訊息。同時,可以使用乙個 http 通道傳送請求,在傳送訊息之後關閉它,並使用另乙個 http 通道接收響應。但是要使此方法正常工作,應該存在訊息相關性機制。apache axis2 使用 ws-addressing 規範實現訊息相關性。

理論知識總結

軟體定義 程式 資料結構 文件。軟體危機 落後的軟體生產方式無法滿足迅速增長的計算機軟體要求,從而導 致軟體開發與維護過程中出現的問題。軟體工程 方法 工具 過程。軟體生命週期模型 瀑布模型,v模型,迭代模型。軟體測試是對軟體需求分析 設計 編碼的最終複查的一系列過程,是軟體質量保證的關鍵步驟 目的...

天線理論知識

zigbee 1為乙個預估的exel ti提供的基於friis等式和二維反射平面模型計算的,通過理論計算可得到傳輸的理論距離。影響通訊距離有如下主要的指標 頻段選擇 選擇的通訊頻段越高,通訊距離越短。頻段越低天線越難設計。發射功率 發射功率越大,通訊距離越遠,與此同時,板子的功耗也越高,正常情況下,...

kafka理論知識

kafka介紹 每個分割槽有乙個伺服器充當 領導者 零個或多個伺服器充當 追隨者 領導者處理分割槽的所有讀寫請求,而跟隨者則被動地複製領導。如果領導失敗,其中乙個追隨者將自動成為新的領導。每個伺服器都充當一些分割槽的領導者和其他分割槽的跟隨者,因此負載在集群中是很好的平衡。由生產者傳送到特定主題分割...