当前位置:首页 > 通信技术 > 通信设计应用
[导读]  1.引言   Java智能卡(Java Card)技术在第三代移动通信(3G1 中有着极其广泛的应用。Jaya智能卡的出现.使多个应用程序可共存于一张智能卡中.这些应用可以来自同一个卡供应商。也

  1.引言

  Java智能卡(Java Card)技术在第三代移动通信(3G1 中有着极其广泛的应用。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的应用既可以共享网络及网络中计算机等软硬件的资源。也可以平衡各个计算机的处理能力。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭