`
left.jessica
  • 浏览: 32658 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JSR 257介绍的部分翻译

阅读更多

以下JSR257介绍部分摘自http://java.sun.com/developer/technicalArticles/javame/nfc/

只做了部分翻译

 

 

JSR 257: Contactless Communication API 非接触式通信API

 

JSR 257提供了以非接触方式访问智能卡和条形码的接口,支持NFC三种通信模式中的两种(阅读器模式和卡模拟模式),非接触通信API 为邻近非接触更新定义了一套API接口,这些API包括五个JAVA包:

 

Javax.microedition.contactless                        必须              所有目标侦测和公用类

Javax.microedition.contactless.ndef                可选              NDEF格式数据标签的通信

Javax.microedition.contactless.rf                    可选              RFID标签的通信

Javax.microedition.contactless.sc                   可选              与外部智能卡通信

Javax.microedition.contactless.visual              可选              读取/产生可视标签

 

MIDlet为运行与移动电话上的java应用程序,MIDlet应用JSR 257接口规范与SIM /智能卡以及可通过NFC芯片与外部读卡器/外部SE(安全单元)/外部标签通信。但一般 与内卡交互使用JSR 177(不是很确定)

 

据悉:世界知名的通信协议软件提供商 Stollmann采用意法半导体提供的芯片已经实现了JSR 257接口规范。

 

一个典型的非接触通信应用流程如下:

 

1.      第一步是应用程序侦测手机支持的目标类型

2.      对于每个支持的目标类型,应用程序可以注册一个目标监听器从而接收活动通知。或应用可注册一个PushRegistry,支持卡模拟模式中的NDEFSE的目标活动

3.      目标接近邻近场便被侦测到,轮流通过调用活动监听器通知应用,或PushRegistry激活MIDlet

4.      对于每一种被侦测到的目标,应用程序可以查到目标属性(target’s properties)

5.      应用程序可以与侦测到的目标进行连接,读,写和交换数据(目标是指such as NDEF tags, RFID tags, and external smartcards

6.      完成后释放资源,应用程序关闭所有打开的连接

 

以下为JSR 257内部结构图:

 

由上图可见,DiscoveryManager为最重要的类,它负责管理监听器(注册监听器到DiscoveryManager),监听器包括目标监听器,事务监听器,NDEF记录监听器。

 

目标监听器TargetListener,可在对应事件中获取到目标属性及目标类型,根据目标属性,可以使用对应的目标连接。

 

ISO1443Connection接口继承自TagConnection,被用于符合ISO14443-4的非接触智能卡

PlainTagConnection接口继承自TagConnection,被用于RFID标签(非NFC)的连接

NDEFTagConnection接口继承自TagConnection,被用于NFC论坛格式的RFID标签和非接触智能卡

 

VisualConnection接口被用于可视标签(如条形码)的无线通信

 

使用卡模拟模式活动订阅通知

在卡模拟模式下,设备上的SE(安全单元)与一个外部读写卡器之间进行通信和交易。在交易发生时,应用程序被通知(唤醒),但应用程序并不参与。

如下图所示:

 

1.      内部SE和外部读写卡器交互

2.      应用程序(MIDlet)当外部读写卡器被侦测到时被唤醒

3.      如果需要,应用程序和SE通信,使用ISO14443Connection接口与SE通信,或者使用JSR 177实现SATSA与内部SE通信。但是这与外部读写卡器和内部SE之间的通信无关。

SE与外部读写卡器的通信对于应用程序来说是透明的。 与外部读写卡器和JAVA CARD通信一样,SE与外部读写卡器之间使用APDU命令。

 

一张取自java card技术介绍part1的图片:

 

1.      在非接触手机上,左侧是内部读写卡器,MIDlet或外部读写卡器(卡模拟模式)

2.      右侧是卡片部分,可能为内部SE或者外部SE,可通过SATSAJSR 257访问。

3.      所有通信都是用APDU命令

 

注册和处理卡模拟活动

 

如前所述,当在卡模拟模式下,当外部读写卡器被侦测到时,应用程序(即MIDlet)被唤醒(通知),但是应用程序本身并不参与外部读写卡器与内部SE之间的业务。如果需要,应用程序可以使用APDU命令与内部SE通信,这个应用程序必须知道SE上的APPLET(即应用)。注册卡模拟活动订阅通知需要实现接口javax.microedition.contactless.TransactionListener 和它的方法externalReaderDetected(byte slot)。调用DiscoveryManagerdm.addTransactionListener(…)来注册监听器。以下为代码说明:

Listing 5 - Registering and Processing Card Emulation Activity

 

import javax.microedition.contactless.TransactionListener;

 

:

:

 

// Register Transaction Listener

try {

    dm.addTransactionListener(this);

} catch (IllegalStateException e) {

    ...

} catch (Exception e) {

    ...

}

 

:

:

 

/**

 * Called by the platform, when a card emulation event

 * has happened on the RFID hardware.

 *

 * @param slot is the slot needed to open the APDUConnection defined

 *             in JSR 177 to the external secure element, may be

 *             UNKNOWN_SLOT constant defined in this interface, if the

 *             slot can not be identified.

 */

public void externalReaderDetected(byte slot) {

 

    // Based on slot number above, using ISO14443Connection or SATSA

    // connect to applet, query applet, update screen, etc.

    ...

}   

     

 

 

 

分享到:
评论

相关推荐

    JSR133中文版.pdf

    标题“JSR133中文版.pdf”指向了一个文档,该文档是Java内存模型与线程规范的中文翻译版。JSR代表Java Specification Requests,这是Java社区流程中提出的一个规范请求编号,它针对特定主题定义了一套标准或规范。在...

    JSR168 porlet 标准手册汉化整理文档

    它不仅提供了标准原文的翻译,还包含了对概念的解释、实例的分析和最佳实践的建议,有助于降低理解和应用标准的难度。此外,文档的汉化还考虑了中文语境和文化差异,使内容更加贴近中国开发者的需求,促进了技术知识...

    外文翻译Spring的MVC构架模式-CSDN下载.2018_03_16

    同时,它也提供了数据验证机制,可以使用 JSR 303/JSR 349 的注解对模型对象进行校验。 7. **本地化和主题支持** Spring MVC 提供了本地化和主题支持,可以根据用户的选择提供不同的语言和界面风格。通过配置 ...

    计算机专业文献翻译二.pdf

    【计算机专业文献翻译二.pdf】 本文档主要介绍了J2ME(Java 2 Micro Edition),这是一种专为移动设备和消费类电子产品设计的Java运行环境。J2ME是Java 2平台的组成部分,与J2SE(Java 2 Standard Edition)和J2EE...

    spring-framework-reference3.2中文版

    这部分还介绍了容器的扩展点、类路径扫描、使用JSR 330标准注解、基于Java的容器配置、环境抽象、LoadTimeWeaver的注册以及ApplicationContext的附加能力。 资源部分讲解了如何使用Spring框架加载资源文件,包括...

    The Java EE 6 Tutorial

    2. **Web Profile**:这是Java EE 6的一个重要组成部分,它包含了一个轻量级的子集,专为Web应用设计,包括Servlet、JSP、JSF、JPA等,适用于资源有限的环境。 3. **RESTful Web Services**:通过JSR 311 JAX-RS...

    jpa1.0中文手册

    部分内容中提到了JPA规范的翻译者孙新林、翻译完成的时间、校对时间,以及如何获取最新的文档版本信息。这部分内容也提到了JPA规范的一些历史信息,比如版本3.0的最终版发布日期是2006年5月2日,以及Sun ...

    基于java技术的web应用设计模型的比较研究-外文文献翻译本科论文.doc

    JSF是Sun公司推动的一种新标准,遵循JSR-127规范,旨在成为Java Web应用的终极模型。JSF支持即用型组件,简化了用户界面构建,包含便捷的页面导航、输入验证、数据转换和JavaBean管理。然而,JSF的实施可能带来性能...

    jsp的技术发展历史外文翻译论文-毕业论文.doc

    后续的JSP 2.1和2.2版本继续优化性能和易用性,引入了JSR-154和JSR-245规范。 总的来说,JSP的技术发展历史是一部Web服务器端技术演进的缩影,从最初的解决服务器端脚本问题,到与数据库的深度集成,再到JavaBean和...

    java 6-13api开发文档在线链接部分中文

    Java API(应用程序编程接口)是Java开发人员在构建软件时...部分文档还提供了中文翻译,方便中国开发者阅读和理解。通过查阅这些链接,开发者可以深入学习Java平台的新特性和最佳实践,从而提升编程效率和代码质量。

    J2ME的开发教程.pdf

    JSR-184是Java Specification Request的一部分,定义了移动设备上的3D图形API。Mascot Capsule v3则是Sony Ericsson提供的一套用于创建高质量3D图形的软件库。这些技术使开发者能够在移动设备上创建出具有复杂3D效果...

    liferay portal 开发指南

    2. **Java Portlet规范(JSR-168)**:详细介绍了JSR-168标准,它是Portlet开发的基础,规定了Portlet的行为、生命周期和与门户框架的交互规则。 3. **开发工具推荐**:列出了JDK、Jikes编译器、Ant构建工具和版本...

    j2se英文帮助文档

    1. **类库概述**:这部分介绍J2SE提供的核心类库,包括基础类如Object、String,以及集合框架、IO流、网络编程、多线程、反射、注解等模块。 2. **类和接口**:文档的主体部分,按包分类列出所有可用的类和接口,每...

    基于JAVA的蓝牙无线技术研究.doc,原文+译文。

    Java Bluetooth API(JSR-82)是Java ME的一部分,为开发人员提供了在移动设备上利用蓝牙功能的接口。这个API允许设备发现、配对、数据传输等功能的实现,从而促进了蓝牙应用的开发。 D. 移动Ad-Hoc网络路由协议 在...

    jsp 完整的api,完整版j2ee api

    **JSP(JavaServer Pages)** 是一种动态网页技术,它是Java平台上的一个重要组成部分,用于构建和呈现基于Web的应用程序。JSP允许开发者将HTML、XML或其他标记语言与Java代码混合,以创建交互式和数据驱动的网页。...

    Wicket 8.X开发文档(中文翻译+英文原版)

    向页眉部分添加资源 16.5。上下文相关资源 16.6。资源依赖性 16.7。使用资源包聚合多个资源 16.8。将JavaScript放在页面正文中 16.9。标题贡献者定位 16.10。自定义资源 16.11。安装资源 16.12。Lambda支持 16.13。...

    spring-mvc-step-by-step

    Spring MVC集成了JSR 303/JSR 349(Bean Validation)标准,可以方便地对表单输入进行验证。你将学习如何定义验证规则和处理验证失败的情况。 9. **RESTful服务** 教程还将介绍如何构建RESTful Web服务,使用HTTP...

    javabean validate

    1. **注解驱动的验证**:Java提供了JSR-303(Bean Validation)标准,后来演进为JSR-349,即Bean Validation 1.1,现在最新的版本是Bean Validation 2.0(JSR-380)。通过在JavaBean的属性上添加如`@NotNull`, `@Min...

Global site tag (gtag.js) - Google Analytics