天天看點

Hessian初步了解

一:遠端協定通訊的基本原理

網絡通信将流從一台計算機傳輸到另外一台計算機 基于傳輸協定和網絡IO 傳輸協定:http,tcp,udp   基于Socket概念上為某類應用場景而擴充出的傳輸協定 網絡IO:bio,nio.aio  所有的分布式應用通信基于這個原理

為了應用的易用,各種語言通常都會提供一些更為貼近應用易用的應用層協定

二:應用層協定 Binary-RPC

是一種和RMI類似的遠端調用協定,它和RMI的不同之處在于它以标準的二進制格式來定義請求的資訊,包括(請求的對象,方法,參數等) 跨語言通訊的時候也可以用到

1.用戶端發起請求,按照Binary-RPC協定請求資訊進行填充 2.填充完畢後将二進制檔案轉化為流,通過傳輸協定進行傳輸 3.在接收到流後轉換為二進制格式檔案,按照Binary-RPC擷取請求的資訊并進行處理 4.處理完畢後将結果按照Binary-RPC協定寫入二進制格式檔案并傳回

問題總結: 1.傳輸的标準格式是? 傳輸的标準格式是二進制檔案

2.怎麼樣将請求轉化為傳輸的流? 将二進制格式檔案轉化為流

3.怎樣接收和處理流? 通過監聽的端口擷取到請求的流,轉化為二進制檔案,根據協定擷取請求的的資訊,進行處理并将結果寫入XML中傳回

4.傳輸的協定是 http

Hessian  一種實作遠端通訊的library 是由caucho提供的一個基于binary-RPC實作的遠端通訊library

1.是基于什麼協定實作的 基于Binary-RPC協定實作的

2.怎麼發起請求 通過Hessian本身提供的API來發起請求

3.怎麼将請求轉化為符合協定的格式的? Hessian通過其自定義的串行化機制将請求資訊進行序列化,産生二進制流

4.使用什麼傳輸協定傳輸 Hessian基于Http協定進行傳輸

5.響應端基于什麼機制來接收請求? 響應端根據Hessian提供的API來接收請求

6.怎樣将流還原為傳輸格式的? Hessian根據其私有的串行化機制來将請求資訊進行反序列化,傳遞給使用者時已是相應的請求資訊對象了

7.處理完畢後怎麼響應? 處理完畢後直接傳回,hessian将結果對象進行序列化,傳輸至調用端