精品亚洲aⅴ一区二区三区|日本久久精品视频|成人国产精品秘在线观看免费|久久天天躁日日躁狠

歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

移動通信中RMI技術及其應用

文章出處:http://bookmouse.cn 作者:史建成 李萍   人氣: 發(fā)表時間:2011年09月26日

[文章內容簡介]:RMI(Remote Method Invocation,遠程方法調用)技術是開發(fā)Java分布式網(wǎng)絡應用的核心技術。本文闡述了移動通信中Jaya智能卡的主要特點。分析了J2SE中RMI技術的體系結構,研究了Java智能卡RMI體系的特點以及與J2SE中的RblI的主要區(qū)別,并給出了移動通信中Java智能卡RMI應用程序的開發(fā)步驟。

    1.引言

    Java智能卡(Java Card)技術在第三代移動通信(3G)中有著極其廣泛的應用。Jaya 智能卡的出現(xiàn)。使多個應用程序可共存于一張智能卡中。這些應用可以來自同一個卡供應商。也可以來自不同的卡供應商。用戶只需刷新智能卡上的程序。就可以得到不同的應用。運營商及開發(fā)商擺脫了對卡商的依賴。大大降低了成本。在移動通信的SIM卡中,Java智能卡的應用越來越廣泛,景極其看好。由于SIM卡使用Java智能卡的量越來越多,使用頻率越來越高。為了更好地發(fā)揮網(wǎng)絡及其分布在網(wǎng)絡中的計算機的處理能力。移動通信中Java智能卡RMI技術在開發(fā)應用中變得越來越重要。

    2.移動通信中Java智能卡的主要特點

    移動通信中,Java智能卡是指運行Java小應用程序的智能卡??ㄉ媳仨毚嬖谙鄳腏ava虛擬機。符合Java Card技術規(guī)范的小應用程序可以運行在該虛擬機上。SUN公司提出了有關Java Card技術規(guī)范。包括有關在智能卡上創(chuàng)建Java Card虛擬機和應用編程接口(API)的詳細信息。與傳統(tǒng)的智能卡系統(tǒng)相比,Java智能卡平臺主要有以下特點:

    1.跨平臺性

    移動通信中目前大部分SIM 卡已經(jīng)支持了Java卡的技術規(guī)范,凡符合Java卡API技術規(guī)范的Java卡Applets都可以運行在Java卡運行環(huán)境(JCRE:Java Card Runtime Environment)。允許開發(fā)人員使用相同的Java卡Applets在不同廠商的智能卡上運行,實現(xiàn)了一次程序編寫到處運行的功能 即通過JVM 的機制達到跨平臺的目的。

    2.應用開發(fā)便捷性

    對于移動通信中Java智能卡上的應用,開發(fā)人員無需了解復雜的智能卡硬件和智能卡專用的技術,就可以進行智能卡應用的開發(fā),從而大大減少開發(fā)時間,降低開發(fā)難度和成本。而且可以使原來的Java程序開發(fā)人員來編寫智能卡程序。人力資源得到充分的利用,更好地滿足了應用程序成倍增長的需要,同時也是時代發(fā)展的需要。

    3.安全性

    在移動通信中,Java智能卡最關鍵的問題之一。安全性牽涉到多個方面。Java智能卡系統(tǒng)的安全性模式在很多方面作了改進,它的安全策略由Java卡虛擬機(JCVM)和Java卡運行環(huán)境共同實現(xiàn)??紤]到智能卡的應用范圍和應用場合的特殊性,Java卡支持保護數(shù)據(jù)的完整性,防止對于敏感數(shù)據(jù)沒有認證的訪問。

    4.多應用性

    在一個Jaya卡運行環(huán)境中可以運行多種功能差異很大的不同的應用(Applets),譬如手機上網(wǎng),移動證券交易,手機玩游戲等等。這些應用既可以來自同一個卡供應商也可以來自不同的卡供應商,這是新一代手機的很重要特點。

    3.RMI技術與移動通信中智能卡的RMI技術及其應用

    3.1 RMI技術

    J2SE中的RMI(Remote Method Invocation,遠程方法調用)技術是開發(fā)Java分布式網(wǎng)絡應用的核心技術與傳統(tǒng)的RPC(Remote Procedure Call,遠程過程調用)調用遠程過程不同,RMI用于調用遠程對象中的方法。支持存儲于不同地址空間的對象之間的彼此通信。讓位于不同JVM 空間中的對象在外觀行為上都像是本地的對象一樣使用。是純粹面向對象的Java程序中開發(fā)網(wǎng)絡分布式應用系統(tǒng)的核心解決方案。

    用RMI開發(fā)的應用程序由服務器端程序和客戶端程序二部分組成。服務器端程序在運行時會創(chuàng)建多個對象實例f稱為遠程對象),這些對象實例用于向客戶提供某種服務。同時服務器端打開監(jiān)聽端口等待客戶端程序調用??蛻舳顺绦蛟谶\行時通過RMI機制從服務器中得到遠程對象的引用。調用其中的方法。

    RMI的體系結構可以用圖1表示:

RMI的體系結構

    從圖1中可見,RMI體系結構是由多層組成的。stub/skeleton層中使用了存(stub) 框架(skeleton) 的方法來隱藏底層通訊的實現(xiàn)細節(jié)。stub代表遠程對象的客戶端對象。具有和遠程對象相同的接口或方法列表。當客戶端程序調用遠程對象的方法時.實際上調用的是stub對象中的方法。stub將請求轉發(fā)到遠程對象。服務器端的skeleton對象負責將stub傳來的信息解碼。并將解碼后的信息交給實際的遠程對象進行處。遠程對象處理完畢后將結果傳給skeleton對象。再由skeleton對象傳給客戶端的stub對象,最后stub對象將這些信息傳給客戶端程序。 

    3.2 移動通信中Java智能卡的RMI技術及其應用

    除了與J2SE中的RMI技術非常相似外, 由于智能卡資源的局限,Java智能卡中的RMI技術與J2SE中的RMI技術是有所區(qū)別的。在Java智能卡中,JavaCard小應用程序是服務器.主應用程序是客戶端。Java智能卡RMI與J2SE中的RMI的主要區(qū)別體現(xiàn)在如下幾點:

    1)J2SE中的RMI協(xié)議通信是通過遠程接口實現(xiàn)的存根與遠程接口實現(xiàn)的框架完成的,而在Java智能卡中的RMI應用中。客戶端應用程序與服務器端應用程序的通信過程是先獲取一個RMIService服務,然后由該服務程序再與服務器的應用進行通信。

    2)在Java智能卡的RMI模型中。APDU(Applicafion PintocolData Unit,應用協(xié)議數(shù)據(jù)單元)通信的過程被抽象化。不是直接通過APDU命令完成,而是通過處理對象的方式完成的。

    3)Java智能卡RMI模型中的軟件包與J2SE中RMI的軟件也有不同,分別是jave. rmi與javacard.framework.service。其中java.rmi包中定義了Remote接口與RemoteExcepfion類,而javacard.framework.service軟件包中定義了JavaCard小應用程序服務類, 包括CardRemoteObject和RMISenrice類。CardRemoteObject類中定義了啟動和禁止卡外對象遠程訪問的方法。而RMIServiee用于處理RMI請求并轉化輸入的APDU命令為遠程方法調用。

    編寫一個Jaya智能卡的應用程序一般要包含以下幾步(下面給出的是典型的電子錢包的例子): 

    1)定義一個遠程服務的接口

    該接口負責定義Jaya智能卡小應用程序所能提供的服務,同樣該接口必須擴展java.rmi.Remote。
    import java.rmi.*;
    import javaeard.framework.*;
    public interface EPInterfaee extends Remote {
    public short getBalance0 throw RemoteExeeption;
    //有關電子錢包應用中的方法聲明
    ...
    } 

第1頁第2頁

    2)編寫遠程類的服務器實現(xiàn)和相應的支持類

    在Java智能卡中,小應用程序是RMI服務器端,一個典型的小應用程序如圖2所示:

典型的JavaCard RMI應用程序結構


    圖中MyRemoteClass是遠程服務器類,可以實現(xiàn)遠程接口My Remote來實現(xiàn)Remote。也可以通過擴展一個相應的智能卡遠程對象類f圖中(CardRemoteObject)來實現(xiàn)Remote??傊羞h程應用的實現(xiàn)類都必須實現(xiàn)Remote接口RMI Service負責將APDU調用轉換為RMI調用。Dispatcher 負責將收到的APDU命令分發(fā)給RMI Service 從圖中可知,服務器的實現(xiàn)主要包括Jaya智能卡小應用程序、遠程服務接口的實現(xiàn)類及與應用程序相關的類。下面是小應用程序的結構:

小應用程序的結構


    3)寫使用遠程服務類的客戶機端程序

    客戶端程序通常包括初始化OpenCard框架、等待新卡插入、獲取OCFCardAccessor實例、創(chuàng)建JavaCardRMIConnect實例及選擇智能卡Applet和調用遠程對象的方法。(限于篇幅,程序略)

    3.3移動通信中Java智能卡的RMI程序的流程Java智能卡的RMI程序的流程可用下圖[l]表示。
    圖中HostAppheafion是客戶端應用程序。通過傳送APDUs到卡上的JCRE進行RMI調用。依次傳送到智能卡上的小應用程序f圖中的(MyApplet)。 小應用程序通過Dispatcher將收到的APDUs命令分發(fā)給RMIService。RMIService逐個處理APDU并將這些命令轉化為遠程方法調用。

    4.小結 

Java智能卡RMI模型的應用程序流程

    移動通信中Java智能卡的應用越來越廣,在目前的軟件設計中。分布式程序設計越來越被軟件開發(fā)人員重視。在移動通信中隨著應用范圍的不斷擴展。程序和需要處理的數(shù)據(jù)流量將會有一個非常大的膨脹。而這些程序和處理的數(shù)據(jù)以及實際的計算都會廣泛地分布在網(wǎng)絡上?;赗MI的應用既可以共享網(wǎng)絡及網(wǎng)絡中計算機等軟硬件的資源。也可以平衡各個計算機的處理能力。

第1頁第2頁

本文關鍵詞:rmi,java智能卡,sim卡,移動通,mi,java智能卡,sim卡,移動通信
回到頂部