1. 程式人生 > >【親測】RMI之Hassion

【親測】RMI之Hassion

一、RMI

RMI(Remote Method Invocation,遠端方法呼叫)是Java在JDK1.2中實現的, Java RMI 支援儲存於不同地址空間的程式級物件之間彼此進行通訊,實現遠端物件之間的無縫遠端呼叫。(即它能夠讓在某個 Java 虛擬機器上的物件呼叫另一個 Java 虛擬機器中的物件上的方法)

【優點】:
Java RMI具有Java的"Write Once,Run Anywhere"的優點,是分散式應用系統的百分之百純Java解決方案。用Java RMI開發的應用系統可以部署在任何支援JRE(Java Run Environment Java,執行環境)的平臺上。

【缺點】:
RMI對於用非Java語言開發的應用系統的支援不足。不能與用非Java語言書寫的物件進行通訊。

在大力鼓吹Web Service、SOA的時代,是不是每個應用都應該選用笨拙的Web Service元件來實現,通過對比測試後,RMI是最簡單的,在一些小的應用中是最合適的。

1.1. Hessian是什麼
官網介紹:(譯文)
Hessian是一個由Caucho Technology開發的輕量級二進位制RPC協議。和其他Web服務的實現框架不同的是,Hessian是一個使用二進位制格式傳輸的Web服務協議的框架,相對傳統soap web service,更輕量,更快速。它的好處在於免除了一大堆附加的API包,例如XML的處理之類的jar包,這也就是為什麼說它是一個輕量級的Web服務實現框架的原因,這個原因還在於手機上的應用程式可以通過Hessian提供的API很方便的訪問Hessian的Web服務。

目前已經支援N多語言(跨語言平臺的特性):
在這裡插入圖片描述
1.2.Hessian的下載
官網: http://hessian.caucho.com/
在這裡插入圖片描述

1.3. Hessian的快速入門
1.3.1. 服務端的開發(Servlet方式)
1.建立Web工程,引入Hessian的Jar

在這裡插入圖片描述
在這裡插入圖片描述
2. 編寫業務介面和實現類在這裡插入圖片描述
在這裡插入圖片描述

3.配置web.xml在這裡插入圖片描述

4.部署到tomcat,測試是否釋出成功
在這裡插入圖片描述
(服務已經發布成功,但是提醒的意思是:Hessian的服務必須使用POST的請求方式)

1.3.2. 客戶端的開發

1.建立Java工程,新增Hessian的jar
在這裡插入圖片描述
2.提示:介面名字、包名要和服務端的一致。


在這裡插入圖片描述
3.編寫客戶端測試程式碼
在這裡插入圖片描述

【優化擴充套件】
客戶端的介面類的名字、包名也可以不和服務端的不一致,但需要在建立樁例項的時候指定介面的class,否則會丟擲異常。
將介面程式碼更改後,
在這裡插入圖片描述
再執行測試