移動通信中RMI技術(shù)及其應(yīng)用
從圖1中可見,RMI體系結(jié)構(gòu)是由多層組成的。stub/skeleton層中使用了存(stub) 框架(ske1eton) 的方法來隱藏底層通訊的實現(xiàn)細(xì)節(jié)。stub代表遠(yuǎn)程對象的客戶端對象。具有和遠(yuǎn)程對象相同的接口或方法列表。當(dāng)客戶端程序調(diào)用遠(yuǎn)程對象的方法時.實際上調(diào)用的是stub對象中的方法.stub將請求轉(zhuǎn)發(fā)到遠(yuǎn)程對象。服務(wù)器端的skeleton對象負(fù)責(zé)將stub傳來的信息解碼。并將解碼后的信息交給實際的遠(yuǎn)程對象進行處理.遠(yuǎn)程對象處理完畢后將結(jié)果傳給skeleton對象。再由skeleton對象傳給客戶端的stub對象,最后stub對象將這些信息傳給客戶端程序。
3.2 移動通信中Java智能卡的RMI技術(shù)及其應(yīng)用
除了與J2SE中的RMI技術(shù)非常相似外, 由于智能卡資源的局限,Java智能卡中的RMI技術(shù)與J2SE中的RMI技術(shù)是有所區(qū)別的。在Java智能卡中,JavaCard小應(yīng)用程序是服務(wù)器.主應(yīng)用程序是客戶端。Java智能卡RMI與J2SE中的RMI的主要區(qū)別體現(xiàn)在如下幾點:
1)J2SE中的RMI協(xié)議通信是通過遠(yuǎn)程接口實現(xiàn)的存根與遠(yuǎn)程接口實現(xiàn)的框架完成的,而在Java智能卡中的RMI應(yīng)用中??蛻舳藨?yīng)用程序與服務(wù)器端應(yīng)用程序的通信過程是先獲取一個RMIService服務(wù),然后由該服務(wù)程序再與服務(wù)器的應(yīng)用進行通信。
2)在Java智能卡的RMI模型中。APDU(Applicafion PintocolData Unit,應(yīng)用協(xié)議數(shù)據(jù)單元)通信的過程被抽象化。不是直接通過APDU命令完成,而是通過處理對象的方式完成的。
3)Java智能卡RMI模型中的軟件包與J2SE中RMI的軟件也有不同,分別是jave. rmi與javacard.framework.service。其中java.rmi包中定義了Remote接口與RemoteExcepfion類,而javacard.framework.service軟件包中定義了JavaCard小應(yīng)用程序服務(wù)類, 包括CardRemoteObject和RMISenrice類。CardRemoteObject類中定義了啟動和禁止卡外對象遠(yuǎn)程訪問的方法。而RMIServiee用于處理RMI請求并轉(zhuǎn)化輸入的APDU命令為遠(yuǎn)程方法調(diào)用。
編寫一個Jaya智能卡的應(yīng)用程序一般要包含以下幾步(下面給出的是典型的電子錢包的例子):
1)定義一個遠(yuǎn)程服務(wù)的接口
該接口負(fù)責(zé)定義Jaya智能卡小應(yīng)用程序所能提供的服務(wù),同樣該接口必須擴展java.rmi.Remote。
import java.rmi.*;
importjavaeard.framework.*;
public interface EPInterfaee extends Remote {
public short getBalance0 throw RemoteExeeption;
//有關(guān)電子錢包應(yīng)用中的方法聲明
...
}
2)編寫遠(yuǎn)程類的服務(wù)器實現(xiàn)和相應(yīng)的支持類
在Java智能卡中,小應(yīng)用程序是RMI服務(wù)器端,一個典型的小應(yīng)用程序如圖2所示n1:
圖中MyRemoteC1ass是遠(yuǎn)程服務(wù)器類.可以實現(xiàn)遠(yuǎn)程接口MyRemote來實現(xiàn)Remote。也可以通過擴展一個相應(yīng)的智能卡遠(yuǎn)程對象類f圖中(CardRemoteObject)來實現(xiàn)Remote??傊羞h(yuǎn)程應(yīng)用的實現(xiàn)類都必須實現(xiàn)Remote接口 RMIService負(fù)責(zé)將APDU調(diào)用轉(zhuǎn)換為RMI調(diào)用.Dispatcher負(fù)責(zé)將收到的APDU命令分發(fā)給RMIService 從圖中可知,服務(wù)器的實現(xiàn)主要包括Jaya智能卡小應(yīng)用程序、遠(yuǎn)程服務(wù)接口的實現(xiàn)類及與應(yīng)用程序相關(guān)的類。下面是小應(yīng)用程序的結(jié)構(gòu):
評論