|
|||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
Packages | |
---|---|
javax.microedition.contactless | Provides functionality common to all contactless targets. |
javax.microedition.contactless.ndef | Provides functionality to exchange NDEF formatted data with other
contactless targets. |
javax.microedition.contactless.rf | Provides interfaces for physical RF targets. |
javax.microedition.contactless.sc | Provides interfaces for communication with external smart cards. |
javax.microedition.contactless.visual | Provides means to read information stored on visual tags (bar codes)
and to generate visual tag images. |
This document defines JSR 257, the Contactless Communication API, version 1.0.
Author: JSR 257 Expert Group (e-mail: [email protected])
Status: Final Approval Ballot
Released: 2006-10-02
Copyright © 2005 Nokia Corporation. All rights reserved.
Version | Published | Description |
---|---|---|
1.0 | 2006-10-02 | Final version |
NOKIA CORPORATION IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE TERMS CONTAINED IN THIS LICENSE (“LICENSE”). PLEASE READ THE TERMS AND CONDITIONS OF THIS LICENSE CAREFULLY. BY ACCESSING OR USING THE SPECIFICATION YOU WILL BE BOUND BY THE TERMS OF THIS LICENSE.
JSR 257 Contactless Communication API (“Specification”)
Specification Lead: Nokia Corporation (“Specification Lead”)
Version: 1.0
Release: 2006-10-02
Copyright 2005-2006 Nokia Corporation. All rights reserved.
1. NOTICE; LIMITED LICENSE GRANTS
1.1 The Specification Lead hereby grants You a non-exclusive, non-transferable, worldwide, royalty-free, fully paid-up, limited license (without the right to sublicense) solely under intellectual property rights licensable by the Specification Lead to analyze and to use the Specification for research, evaluation, optimization and development purposes. In addition You may make a reasonable number of verbatim copies of this Specification in its entirety for Your private or internal use, as applicable, in accordance with the terms and conditions of this License.
1.2 No rights are granted under this License for internal deployment, the creation and/or distribution of implementations of the Specification for direct or indirect (including strategic) gain or advantage, the modification of the Specification (other than to the extent of Your fair use rights) or the distribution of the Specification or making the Specification available for 3rd parties.
1.3 Except as expressly set forth in this license, You acquire no right, title or interest in or to Specification or any other intellectual property licensable by the Specification Lead and no other rights are granted by implication, estoppel or otherwise. The Specification may only be used in accordance with the license terms set forth herein. This License will terminate immediately without notice from Specification Lead if You fail to comply with any provision of this License.
2. TRADEMARKS
2.1 Nokia is a registered trademark of Nokia Corporation. Nokia Corporation's product names are either trademarks or registered trademarks of Nokia Corporation. Your access to this Specification should not be construed as granting, by implication, estoppel or otherwise, any license or right to use any marks appearing in the Specification without the prior written consent of Nokia Corporation or Nokia's licensors. No right, title, or interest in or to any trademarks, service marks, or trade names of any third parties, is granted hereunder.
2.2 You shall not be allowed to remove any of the copyright statements or disclaimers or other proprietary notices contained in the Specification and You are obliged to include the copyright statement and the disclaimers, if any, in any copies of the Specification You make.
3. DISCLAIMER OF WARRANTIES
3.1 SUBJECT TO ANY STATUTORY WARRANTIES OR CONDITIONS WHICH CAN NOT BE EXCLUDED, THE SPECIFICATION IS PROVIDED “AS IS” WITHOUT WARRANTY OR CONDITION OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, AND STATUTORY ARE HEREBY DISCLAIMED. THE ENTIRE RISK ARISING OUT OF OR RELATING TO THE USE OR PERFORMANCE OF THE SPECIFICATION REMAINS WITH YOU.
3.2 THE SPECIFICATION MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION THEREIN; THESE CHANGES WILL BE INCORPORATED INTO NEW VERSIONS OF THE SPECIFICATION, IF ANY. SPECIFICATION LEAD MAY MAKE IMPROVEMENTS AND/OR CHANGES TO THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THE SPECIFICATION AT ANY TIME. Any use of such changes in the Specification will be governed by the then-current license for the applicable version of the Specification.
4. LIMITATION OF LIABILITY
4.1 TO THE FULLEST EXTENT PERMITTED BY LAW, IN NO EVENT WILL THE SPECIFICATION LEAD OR ITS SUPPLIERS BE LIABLE FOR ANY LOST PROFITS, LOST SAVINGS, LOST REVENUE, LOST DATA, PROCUREMENT OF SUBSTITUE GOODS, OR FOR ANY DIRECT, INDIRECT, INCIDENTIAL, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, EVEN IF THE SPECIFICATION LEAD OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES OR DAMAGES. IN ADDITION THE SPECIFICATION LEAD AND ITS SUPPLIERS WILL NOT BE LIABLE FOR ANY DAMAGES CLAIMED BY YOU BASED ON ANY THIRD PARTY CLAIM.
4.2 Some jurisdictions do not allow the exclusion of implied warranties, or the limitation for consequential damages, so Section 4.1 may not apply to You in whole, but in such case Section 4.1 will apply to You to the maximum extent permitted by applicable law.
5. EXPORT CONTROL
5.1 You shall follow all export control laws and regulations relating to Specification.
6. RESTRICTED RIGHTS LEGEND
6.1 Note to U.S. Government Users. The Specification is a “Commercial Items”, as that term is defined at 48 C.F.R. 2. 101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation”, as such terms are used in 48 C.F.R. 12.212 or 48 C.F.R. 227.7202, as applicable. Consistent with 48 C.F.R. 12.212 or 48 C.F.R. 227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software Documentation are being licensed to U.S. Government end users a) only as Commercial Items and b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States.
This specification was produced by the JSR 257 Expert Group in the Java Community Process (JCP). For more information, visit the JSR 257 web page at http://www.jcp.org/en/jsr/detail?id=257.
The Expert Group consisted of representatives from the following companies and individuals:
BenQ Corporation
Cingular Wireless
Esmertec AG
FeliCa Networks, Inc
Gemplus Corporation
LG Electronics Inc.
Matsushita Electric Industrial Co., Ltd.
Micacchi, Gino
Motorola
NEC Corporation
Nokia Corporation
Orange France SA
Philips Electronics UK Ltd
Samsung Electronics Corporation
Semacode Corporation
Your comments about this specification are welcome. Please send them by electronic mail to the following address:
The key words MUST, must not, required, shall, shall not, should, should not, recommended, may and optional in this specification are to be interpreted as described in RFC 2119 (see "Related documentation").
Monospaced type
is used to denote literal text,
such as class
names and code samples
.
Unicode characters are expressed in the U+NNNN notation, where NNNN denotes a 16-bit code point.
This specification defines the Contactless Communication API, a Java ME optional package containing an application programming interface that allows applications to access information on contactless targets, such as RFID tags and bar codes.
Contactless communication in this specification is based on the Radio Frequency IDentification (RFID) technology. Exceptions to this are visual tags (bar codes) that use camera technology. RFID technology can be used to communicate with RFID tags and external smart cards. RFID is widely used, for example, in item identification and article surveillance. Each RFID target has a unique identification number that can be used to identify the tagged object. RFID readers are used to read the data from the target and to write data to them. The communication distance is usually less than 10 centimeters. The RFID readers use the 13.56 MHz radio frequency in the communication.
Connecting to a web page by scanning an RFID or a visual tag (bar code) in the corner of a movie poster or calling to a friend by touching a RFID tag that contains the phone number are some of the use cases the Contactless Communication API enables. This API provides a mechanism to discover contactless targets and communicate with them.
NFC Forum specifies a data packaging format (NDEF) to exchange information between an NFC device and another NFC device or with a RFID tag. This API takes advantage of this data formatting by providing a connection to any physical target that supports the NDEF data formatting defined in the NFC Forum. Using this NDEF data format, the application developer can exchange NDEF formatted data with a target without knowing its physical type.
This API allows communication with external smart cards by providing a discovery mechanism for them. The actual communication with the ISO14443 compliant smart cards is done using APDU commands. A device, that contains RFID hardware, can emulate a contactless smart card to an external reader device. This feature is called card emulation mode. For example, with transportation tickets the device contains bus tickets and the external reader in the bus reads one ticket from the device. For these situations the API provides a notification to the application that the secure elements in the device have been accessed through the RFID hardware.
The goal of the Contactless Communication API is to provide access to the information stored on various contactless targets. The design of the API must make it easy and flexible to add new contactless targets to this framework. The API must also provide information about the contactless targets supported by the implementation.
The classes and interfaces in this specification are divided into five packages. The functionalities related to different targets are separated into their own packages. This division makes it easier to manage the mandatory and optional parts of the API. The packages are listed below:
javax.microedition.contactless
provides
target discovery and classes common to all targets
javax.microedition.contactless.ndef
contains classes and interfaces needed to communicate with tags
that have NDEF formatted data
javax.microedition.contactless.rf
allows
communication with RFID tags that do not have NDEF formatted data
javax.microedition.contactless.sc
enables
communication with external smart cards
javax.microedition.contactless.visual
allows reading and generating visual tags
The API implementation must
include all classes and interfaces defined in this specification, but
some of the functionalities may be
left unimplemented. The API implementation selects the physical target
types it supports. This selection determines the list of packages
whose functionalities must be fully
implemented. If the functionality in an optional package is implemented,
the corresponding target must
be supported. If a target is not supported an exception
must be thrown if the application tries
to use any of the methods in corresponding package. This means that if, for
example, visual tag target is not supported and the application
calls SymbologyManager.getReadSymbologies()
method, an exception is thrown. All targets that can be potentially
accessed through this API are defined in the
TargetType
class. The list of target types
supported by the API implementation can be obtained using method
DiscoveryManager.getSupportedTargetTypes()
.
Mandatory part:
package javax.microedition.contactless
Optionally mandatory parts:
Package javax.microedition.contactless.ndef
,
if NDEF_TAG
target is supported
Package javax.microedition.contactless.rf
,
if RFID_TAG
target is supported
Package javax.microedition.contactless.sc
,
if ISO14443_CARD
target is supported
Package javax.microedition.contactless.visual
,
if VISUAL_TAG
target is supported
The minimum platform required by this API is the Connected, Limited Device Configuration (CLDC), version 1.1. The API can also be used with Connected Device Configuration (CDC), version 1.0, and any subsequent platform versions that are supersets of the minimum platform.
Applications can determine the version of the Contactless
Communication API present in the device, if any, by querying the
value of the system property microedition.contactless.version
.
For this version of the API the value returned must
be the string "1.0". If the value returned is null
, the
Contactless Communication API must not
be present.
Berners-Lee T., Fielding R. and Masinter L., Uniform Resource Identifier (URI): Generic Syntax, RFC 3986. Available at http://www.ietf.org/rfc/rfc3986.txt (last accessed 2006-03-15).
Bradner S., Key Words for use in RFCs to Indicate Requirement Levels, RFC 2119. Available at http://www.ietf.org/rfc/rfc2119.txt (last accessed 2006-01-31).
Connected Device Configuration, version 1.0, JSR 36, Java Community Process. Available at http://www.jcp.org/en/jsr/detail?id=36 (last accessed 2006-01-31).
Connected, Limited Device Configuration Specification, Version 1.1, JSR 139, Java Community Process. Available at http://www.jcp.org/en/jsr/detail?id=139 (last accessed 2006-01-31).
Freed N. and Borenstein N., Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, RFC 2046. Available at http://www.ietf.org/rfc/rfc2046.txt (last accessed 2006-03-15).
ISO 7816-4:2005 Identification cards - Integrated circuit cards - Part 4: Organization, security and commands for interchange . Available at http://www.iso.org (last accessed 2006-01-31).
ISO 7816-5:2004 Identification cards - Integrated circuit cards - Part 5: Registration of application providers. Available at http://www.iso.org (last accessed 2006-01-31).
ISO 14443-4:2001 Identification cards - Contactless integrated circuit(s) cards - Proximity cards - Part 4: Transmission protocol. Available at http://www.iso.org (last accessed 2006-01-31).
ISO 14977:1996 Information technology - Syntactic metalanguage - Extended BNF. Available at http://www.iso.org (last accessed 2006-02-07).
Java Technology for the Wireless Industry, version 1.0, JSR 185, Java Community Process. Available at http://www.jcp.org/en/jsr/detail?id=185 (last accessed 2006-02-13).
Mobile Information Device Profile, version 2.0, JSR 118, Java Community Process. Available at http://www.jcp.org/en/jsr/detail?id=118 (last accessed 2006-01-31).
NFC Data Exchange Format (NDEF), Version 1.0, NFC Forum. Available at http://www.nfc-forum.org/home (last accessed 2006-03-15).
NFC Record Type Definition Specification, Version 1.0, NFC Forum. Available at http://www.nfc-forum.org/home (last accessed 2006-03-15).
Security and Trust Services API, version 1.0, JSR 177, Java Community Process. Available at http://www.jcp.org/en/jsr/detail?id=177 (last accessed 2006-01-31).
Application IDentifier that identifies smart card applications uniquely. Defined in the ISO 7816-5 specification.
Application Protocol Data Unit is the protocol used to communicate with smart cards. Defined in the ISO 7816-4 specification.
Backus-Naur Form
A mode where the device is acting as a contactless smart card in the communication with the external reader.
Generic Connection Framework
Area surrounding the device, where RF field is active
Multipurpose Internet Mail Extension
NFC Data Exchange Format
Data that is formatted according to NFC Forum data format specification (NDEF). One record consists of the record type, record identifier and of the actual data of the record. Defined in the NFC Data Exchange Format specification.
An NDEF message contains one or more NDEF records. Defined in the NFC Data Exchange Format specification.
Near Field Communication
Target device or tag supports the handling of data formatted according to NFC Forum data packaging specification (NDEF)
Radio Frequency
Radio Frequency IDentification
An RFID tag is a microchip combined with an antenna in a compact package. The packaging is structured to allow the RFID tag to be attached to an object. The tag contains a unique serial number, but may have other information.
Record Type Description. Defined in NFC Record Type Definition Specification.
Tamper resistant device such as a SIM card. A secure element can not only store data securely but also use it in secure-sensitive operations like for example in cryptographic computations.
Subscriber Identity Module
Any device that supports some form of contactless communication.
Uniform Resource Identifier
Uniform Resource Locator
Appendix 1. Security
Appendix 2. Launching applications with MIDP 2.0 PushRegistry
Appendix 3. Unique identifiers of targets
Appendix 4. Future items
Appendix 5. Examples of RFID communication
|
|||||||||
PREV NEXT | FRAMES NO FRAMES |