什么是Hessian協議呢?


什么是Hessian協議呢?

目前,Web服務技術是解決異構平台系統的集成及互操作問題的主流技術。

它所基於的XML已經是Internet上交換數據的實際標准,基於通用的進程間通信協議和網絡傳輸協議屏蔽平台的差異,可以將各種異構環境下的通信及調用請求均統一為標准的Web服務格式,但是由於SOAP協議的結構問題會使封裝的數據膨脹數倍。當傳輸數據量比較小時,問題不是那么明顯,但是當進行大數據量傳輸時就會導致Web服務的傳輸性能在實際運用中降低了很多。這對於經常有大數據量數據交換的應用系統來說是不適用的。
Caucho Technology公司制定的HBWSP(Hessian Binary Web Service Protocol)[2]在這方面的有所突破。Hessian協議和webservice常用的SOAP協議類似,也是將協議報文封裝在HTTP封包中,通過HTTP信道進行傳輸的。因此Hessian協議具有與SOAP協議同樣的優點,即傳輸不受防火牆的限制(防火牆通常不限制HTTP信道)。

Hessian協議的優勢在於:它把本地格式的數據編碼為二進制數據,僅用一個字符作為結構化標記,HBWSP封裝后的數據增量明顯小於SOAP封裝后的數據增量。並且相對於SOAP,Hessian協議的外部數據表示有3個顯著的優勢:

1)采用簡單的結構化標記。簡單的結構化標記減少了編碼、解碼操作對內存的占用量。編碼時,只需寫少量的數據,就可以標記結構;解碼時,只需讀少量的數據就可以確定結構。而且,簡單的結構化標記減少了編碼后的數據增量。
2)采用定長的字節記錄值。用定長的字節記錄值,解碼時,就可以使用位操作從固定長度的位獲得值。這樣不僅操作簡單,而且可以獲得較高的性能。
3)采用引用取代重復遇到的對象。使用引用取代重復遇到的對象可以避免對重復對象的編碼,而且也減少了編碼后的數據量。

因此使用Hessian協議傳輸數據量比SOAP協議要小得多。實踐證明,傳輸同樣的對象Hessian協議傳輸的數據量比SOAP協議低一個數量級。因此Hessian協議比SOAP協議更適用於分布式應用系統間大數據量的數據交換。

soap協議

簡單對象訪問協議是交換數據的一種協議規范,是一種輕量的、簡單的、基於XML標准通用標記語言下的一個子集)的協議,它被設計成在WEB上交換結構化的和固化的信息

SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議(HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。SOAP使用基於XML的數據結構超文本傳輸協議(HTTP)的組合定義了一個標准的方法來使用Internet上各種不同操作環境中的分布式對象

4.2 Hessian協議的實現構架
Hessian協議的實現構架如圖3所示:為了實現Hessian 構架,設計了下列組件:編碼組件、解碼組件、通信組件、報告故障組件、代理組件、調用服務過程組件。

首先客戶端發出本地請求,代理組件響應請求依據服務接口,生成客戶端存根,並調用編碼組件對本地請求進行基於Hessian Binary Web Service Protocol標准的二進制編碼。然后調用通信組件將請求發送給服務器端。服務器端通信組件接收到請求后把請求轉發給調用服務過程組件,調用服務過程組 件會首先調用解碼組件,得到過程標識,將過程標識轉給服務器端存根,並依據部署文件和客戶端的請求加載服務過程的實現類。然后根據過程標識、過程參數調用 服務過程。最后調用編碼組件將響應結果進行編碼並通過通信組件返回給客戶端。
當數據傳輸、通信發生錯誤的時候就需要啟用報告故障組件,它可以以異常的形式,報告發送端、接收端、或者網絡連接發生的故障,並把錯誤記錄以日志的方式記錄下來保存在文件中,以備日后查閱。

4.3 實現結構
針對教務管理系統互聯網傳輸存在的一系列問題,基於互聯網的主體數據平台采用基於HBWSP的輕量級跨平台通信技術實現數據交 換,如圖4所示。在客戶端,應用服務器從主題數據服務層中抽取數據,並按着HBWSP的外部數據表示對本地格式數據進行編碼。然后通過internet網 進行傳輸,在服務器端,數據交換的服務負責按照HBWSP的外部數據表示對接收到的數據進行解碼,然后再對數據進行分析、處理后把數據插入到服務器端的主 題數據服務層中。



圖4非持久同步方式的數據交換解決方案


該解決方案的主要特點包括:
1)采用了HBWSP的二進制編碼方式解決了異地、異構平台系統的通信問題,並使數據交互具有了一定的實時性。
2)由於HBWSP簡潔的編碼方式以及編碼、解碼性能高等特點使數據交換具有交換GB級數據的能力。
3)采用了HBWSP的二進制編碼方式有助於縮短整個數據交換所需要的時間。其編碼性能高的特點,有助於提高編碼速度,減少發送方編碼本地數據的時間。其解碼性能高的特點,可以減少接收方解碼、重構本地數據的時間。從而減少了數據交換的響應時間。
4)采用了HBWSP的二進制編碼方式和數據分批傳送技術有助於充分利用網絡狀況良好的時段。可以在網絡狀況良好的時段盡可能多的完成數據交換。
5)采用了斷點續傳技術,保證了當網絡斷連或響應超時導致正在進行的數據交換被中斷,在故障修復后仍然可以從中斷處開始,繼續完成上次沒有完成的數據交換的能力。斷點的粒度可以調節,可以是一條數據,也可以是多條數據。
6)采用了事務保護機制,把每批要傳輸的數據定義為一個事務,本批要傳輸的數據的事務完整性不依賴於已經完成的各批數據,本批數據傳輸發生錯誤也不會對已經完成的各批數據造成影響。采用這種方法,可以在數據交換過程被中斷的情況下保證數據交換事務的完整性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM