Java智能卡中移动通信中RMI技术及其应用

2008-12-29 09:39:04来源: 中国一卡通网

1.引言

Java智能卡(Java Card)技术在第三代移动通信中有着极其广泛的应用。Jaya智能卡的出现.使多个应用程序可共存于一张智能卡中.这些应用可以来自同一个卡供应商。也可以来自不同的卡供应商.用户只需刷新智能卡上的程序。就可以得到不同的应用.运营商及开发商摆脱了对卡商的依赖。大大降低了成本。在移动通信的SIM卡中,Java智能卡的应用越来越广泛,景极其看好。由于SIM卡使用Java智能卡的量越来越多,使用频率越来越高。为了更好地发挥网络及其分布在网络中的计算机的处理能力。移动通信中Java智能卡RMI技术在开发应用中变得越来越重要。

2.移动通信中Java智能卡的主要特点

移动通信中,Java智能卡是指运行Java小应用程序的智能卡。卡上必须存在相应的Java虚拟机。符合Java Card技术规范的小应用程序可以运行在该虚拟机上 SUN公司提出了有关Java Card技术规范.包括有关在智能卡上创建Java Card虚拟机和应用编程接1:3(API)的详细信息。与传统的智能卡系统相比,Java智能卡平台主要有以下特点:

1.跨平台性

移动通信中目前大部分SIM 卡已经支持了Java卡的技术规范.凡符合Java卡API技术规范的Java卡Applets都可以运行在Java卡运行环境(JCRE:Java Card Runtime Environment).允许开发人员使用相同的Java卡Applets在不同厂商的智能卡上运行,实现了一次程序编写到处运行的功能 即通过JVM 的机制达到跨平台的目的。

2.应用开发便捷性

对于移动通信中Java智能卡上的应用,开发人员无需了解复杂的智能卡硬件和智能卡专用的技术,就可以进行智能卡应用的开发,从而大大减少开发时间,降低开发难度和成本。而且可以使原来的Java程序开发人员来编写智能卡程序。人力资源得到充分的利用,更好地满足了应用程序成倍增长的需要.同时也是时代发展的需要。

3.安全性

在移动通信中,Java智能卡最关键的问题之一。安全性牵涉到多个方面。Java智能卡系统的安全性模式在很多方面作了改进,它的安全策略由Java卡虚拟机fJCVM)和Java卡运行环境共同实现。考虑到智能卡的应用范围和应用场合的特殊性,Java卡支持保护数据的完整性,防止对于敏感数据没有认证的访问。

4.多应用性

在一个Jaya卡运行环境中可以运行多种功能差异很大的不同的应用(Applets),譬如手机上网,移动证券交易,手机玩游戏等等.这些应用既可以来自同一个卡供应商也可以来自不同的卡供应商,这是新一代手机的很重要特点。

3.RMI技术与移动通信中智能卡的RMI技术及其应用

3.1 RMI技术

J2SE中的RMI(Remote Method Invocation,远程方法调用)技术是开发Java分布式网络应用的核心技术与传统的RPC(Remote Procedure Call,远程过程调用)调用远程过程不同,RMI用于调用远程对象中的方法.支持存储于不同地址空间的对象之间的彼此通信。让位于不同JVM 空间中的对象在外观行为上都像是本地的对象一样使用。是纯粹面向对象的Java程序中开发网络分布式应用系统的核心解决方案。

用RMI开发的应用程序由服务器端程序和客户端程序二部分组成。服务器端程序在运行时会创建多个对象实例f称为远程对象).这些对象实例用于向客户提供某种服务。同时服务器端打开监听端口等待客户端程序调用。客户端程序在运行时通过RMI机制从服务器中得到远程对象的引用。调用其中的方

RMI的体系结构可以用图1表示:

从图1中可见,RMI体系结构是由多层组成的。stub/skeleton层中使用了存(stub) 框架(ske1eton) 的方法来隐藏底层通讯的实现细节。stub代表远程对象的客户端对象。具有和远程对象相同的接口或方法列表。当客户端程序调用远程对象的方法时.实际上调用的是stub对象中的方法.stub将请求转发到远程对象。服务器端的skeleton对象负责将stub传来的信息解码。并将解码后的信息交给实际的远程对象进行处理.远程对象处理完毕后将结果传给skeleton对象。再由skeleton对象传给客户端的stub对象,最后stub对象将这些信息传给客户端程序。

3.2 移动通信中Java智能卡的RMI技术及其应用

除了与J2SE中的RMI技术非常相似外, 由于智能卡资源的局限,Java智能卡中的RMI技术与J2SE中的RMI技术是有所区别的。在Java智能卡中,JavaCard小应用程序是服务器.主应用程序是客户端。Java智能卡RMI与J2SE中的RMI的主要区别体现在如下几点:

1)J2SE中的RMI协议通信是通过远程接口实现的存根与远程接口实现的框架完成的,而在Java智能卡中的RMI应用中。客户端应用程序与服务器端应用程序的通信过程是先获取一个RMIService服务,然后由该服务程序再与服务器的应用进行通信。

2)在Java智能卡的RMI模型中。APDU(Applicafion PintocolData Unit,应用协议数据单元)通信的过程被抽象化。不是直接通过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.*;
    importjavaeard.framework.*;
    public interface EPInterfaee extends Remote {
    public short getBalance0 throw RemoteExeeption;
    //有关电子钱包应用中的方法声明
    ...
    }

2)编写远程类的服务器实现和相应的支持类

在Java智能卡中,小应用程序是RMI服务器端,一个典型的小应用程序如图2所示n1:
图中MyRemoteC1ass是远程服务器类.可以实现远程接口MyRemote来实现Remote。也可以通过扩展一个相应的智能卡远程对象类f图中(CardRemoteObject)来实现Remote。总之所有远程应用的实现类都必须实现Remote接口 RMIService负责将APDU调用转换为RMI调用.Dispatcher负责将收到的APDU命令分发给RMIService 从图中可知,服务器的实现主要包括Jaya智能卡小应用程序、远程服务接口的实现类及与应用程序相关的类。下面是小应用程序的结构:

3)写使用远程服务类的客户机端程序

客户端程序通常包括初始化OpenCard框架、等待新卡插入、获取OCFCardAccessor实例、创建JavaCardRMIConnect实例及选择智能卡Applet和调用远程对象的方法。(限于篇幅,程序略)

3.3移动通信中Java智能卡的RMI程序的流程Java智能卡的RMI程序的流程可用下图[l]表示。
    图中HostAppheafion是客户端应用程序。通过传送APDUs到卡上的JCRE进行RMI调用。依次传送到智能卡上的小应用程序f图中的(MyApplet)。 小应用程序通过Dis.Datcher将收到的APDUs命令分发给RMIService。RMIService逐个处理APDU并将这些命令转化为远程方法调用。

4.小结

移动通信中Java智能卡的应用越来越广,在目前的软件设计中。分布式程序设计越来越被软件开发人员重视。在移动通信中随着应用范围的不断扩展。程序和需要处理的数据流量将会有一个非常大的膨胀。而这些程序和处理的数据以及实际的计算都会广泛地分布在网络上。基于RMI的应用既可以共享网络及网络中计算机等软硬件的资源。也可以平衡各个计算机的处理能力。

关键字:智能卡  中移动  技术  应用

编辑:潘争 引用地址:http://www.eeworld.com.cn/gykz/2008/1229/article_1474.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
智能卡
中移动
技术
应用

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved