微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 移动通信中Java智能卡RMI技术的开发

移动通信中Java智能卡RMI技术的开发

时间:09-10 来源:本站整理 点击:

应用进行通信。

  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.elecfans.com/)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top