有個同行問了這個問題,問題請參見下面鏈接
http://www.3atesting.com/bbs/vie ... &extra=page%3D1程序登陸和我們常用的http協議相似,都是通過網頁進行操作!但是實際上他的應用是采用Hessian協議進行交互!所以看到
腳本中很多都是二進制代碼!那么什么是Hessian協議呢
目前,Web服務技術是解決異構平臺系統的集成及互操作問題的主流技術[1]。它所基于的XML已經是Internet上交換數據的實際標準,基于通用的進程間通信協議和網絡傳輸協議屏蔽平臺的差異,可以將各種異構環境下的通信及調用請求均統一為標準的Web服務格式[3]。
但是由于SOAP協議的結構問題會使封裝的數據膨脹數倍。當傳輸數據量比較小時,問題不是那么明顯,但是當進行大數據量傳輸時就會導致Web服務的傳輸性能在實際運用中降低了很多。這對于經常有大數據量數據交換的應用系統來說是不適用的。
Caucho Technology公司制定的HBWSP(Hessian Binary Web Service Protocol)[2]在這方面的有所突破。Hessian協議和
web service常用的SOAP協議類似,也是將協議報文封裝在HTTP封包中,通過HTTP信道進行傳輸的。因此Hessian協議具有與SOAP協議同樣的優點,即傳輸不受防火墻的限制(防火墻通常不限制HTTP信道)。Hessian協議的優勢在于:它把本地格式的數據編碼為二進制數據,僅用一個字符作為結構化標記,HBWSP封裝后的數據增量明顯小于SOAP封裝后的數據增量。并且相對于SOAP,Hessian協議的外部數據表示有3個顯著的優勢:
1)采用簡單的結構化標記。簡單的結構化標記減少了編碼、解碼操作對內存的占用量。編碼時,只需寫少量的數據,就可以標記結構;解碼時,只需讀少量的數據就可以確定結構。而且,簡單的結構化標記減少了編碼后的數據增量。
2)采用定長的字節記錄值。用定長的字節記錄值,解碼時,就可以使用位操作從固定長度的位獲得值。這樣不僅操作簡單,而且可以獲得較高的性能。
3)采用引用取代重復遇到的對象。使用引用取代重復遇到的對象可以避免對重復對象的編碼,而且也減少了編碼后的數據量。
因此使用Hessian協議傳輸數據量比SOAP協議要小得多。實踐證明,傳輸同樣的對象Hessian協議傳輸的數據量比SOAP協議低一個數量級。因此Hessian協議比SOAP協議更適用于分布式應用系統間大數據量的數據交換。
4.2 Hessian協議的實現構架
Hessian協議的實現構架如圖3所示:為了實現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)采用了事務保護機制,把每批要傳輸的數據定義為一個事務,本批要傳輸的數據的事務完整性不依賴于已經完成的各批數據,本批數據傳輸發生錯誤也不會對已經完成的各批數據造成影響。采用這種方法,可以在數據交換過程被中斷的情況下保證數據交換事務的完整性。