移动通信中Java智能卡RMI技术的开发
应用进行通信。
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/)
- 移动通信3G技术介绍(10-27)
- 实现移动通信网络监控系统的设计论述(05-24)
- DSP技术在移动通信中的应用(09-18)
- 移动通信网络云计算的设计(09-20)
- 意法半导体:移动通信机器人应用方案(02-15)
- 3G/4G时代数据暴增 TI小基站基带芯片轻松应战(07-23)