1. 程式人生 > >Hessian知識學習總結(一)——基礎知識

Hessian知識學習總結(一)——基礎知識

1. hessian簡介:

        提起hessian,文章裡基本都會提到這幾個關鍵詞,“WebService”,“二進位制”,“RMI(遠端方法呼叫)”,“介面暴露”,“Binary RPC協議”,“配置簡單”等。
        簡單摘錄一下,hessian是一種高效簡潔的遠端呼叫框架,它採用的是二進位制RPC協議(Binary),具有輕量、傳輸量小、平臺無關的特點,特別適合於目前網路頻寬比較小的手機網路應用專案。
類似於WebService,不過不使用SOAP協議,而是用Binary RPC協議,相比webservice而言更簡單、快捷。
它把協議報文封裝到http封包中,通過HTTP通道傳輸。Hessian是通過servlet提供遠端服務,完全使用動態代理來實現的,推薦採用面向介面程式設計,因此,Hessian服務建議通過介面暴露。

2.hessian優缺點:

提起一個技術,要使用它就是因為它的優點,並且相應的就會有其缺點。由於資料連結①中的內容寫的很詳細了,我就照搬過來了。

 2.1.優點:

         (1)簡單易用,面向介面,通過介面暴露服務,jar包只有200、300k,不需要配置防火牆
         (2)效率高,複雜物件序列化速度僅次於RMI,簡單物件序列化優於RMI,二進位制傳輸
         (3)多語言支援:wiki、Java、Flash/Flex、Python、C++、.NET C#、PHP、Ruby、Objective-C
         (4)可與spring整合,配置簡單,使用HessianServiceExporter提供bean服務

 2.2.缺點:

          (1)缺乏安全機制,傳輸沒有加密處理
          (2)異常機制不完善,總是報一些錯誤,錯誤原因也是千奇百怪,提示資訊不足
          (3)事務處理欠缺
          (4)版本問題,spring 2.5.6對照3.1.3版,spring 3對照4.0及以上版本,需要使用spring MVC部分內容

3. Q&A

                   同樣照搬資料連結①。

       1、是基於什麼協議實現的?
              基於Binary-RPC協議實現。
       2、傳輸的標準格式是?
             標準格式的二進位制檔案。
       3、怎麼發起請求?
              需通過Hessian本身提供的API來發起請求。
       4、怎麼將請求轉化為符合協議的格式的?
              Hessian通過其自定義的序列化機制將請求資訊進行序列化,產生二進位制流。
       5、使用什麼傳輸協議傳輸?
              Hessian基於Http協議進行傳輸。
       6、響應端基於什麼機制來接收請求?
              響應端根據Hessian提供的API來接收請求。
       7、怎麼將流還原為傳輸格式的?
              Hessian根據其私有的序列化機制來將請求資訊進行反序列化,傳遞給使用者時已是相應的請求資訊物件了。
       8、處理完畢後怎麼迴應?
          處理完畢後直接返回,hessian將結果物件進行序列化,傳輸至呼叫端。

4. 相關技術的比較:

              wocao,資料連結①中整理的好詳細,原本想多看幾篇文章理解一下的,現在看來,這篇文章就夠了。點連結看吧。