Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can, or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing heavily in Java's future as a platform for platforms

Also see:

Discuss: Java: A platform for platforms?

Featured Whitepapers
Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

iButtons: The first ready-to-buy 2.0 Java Card API devices

Develop, build, and test Java Card applications

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Previous articles in this Java Developer series on smart cards have described communicating with smart cards using industry-standard protocols like ISO7816, and explored layered implementations of interfaces with OpenCard or PC/SC. Last month we concentrated on the Java Card. This month we'll take an introductory look at an implementation of 2.0 Java Card and show you how to write, download, and test applications for this exciting technology.

A word on this article and its companion pieces

This month's Java Developer column, called "An introduction to the Java Ring," describes the history of Dallas Semiconductor's Java Ring devices and provides a background on the theory behind them. This iButtons article (along with a forthcoming article on serial device support using javax.comm) provides the information you need to develop application solutions using Java Card. The javax.comm API is used by the host software to communicate with the reader, which in turn communicates with the card or ring. For more information on readers and terminals, see the first article in this smart card series.

Java Ring



This article will get you started on the road to understanding how to develop applications for Java Card. You should be able to get a Java iButton ring and a reader -- smart cards need something to plug into -- for 0.00. Take a look at the Resources section for more information on what you need and how and where to order rings and readers. The software is available over the Internet.

Defining the problem to be solved

We're finally ready to solve a real-world problem with Java Card.

Using the information in this article, as well as that material gleaned from the other articles in this smart card series, you will be able to interface a device to a browser and have the data bounce off of the ring or smart card instead of the hard disk. Why would you want to do this?

How many times a day do you have to give someone your business card information verbally? Worse yet, how much time do you spend collecting business cards to scan into your computer for access later? I provide business card/personal information so often that I will happily pay for any technology that provides a solution. It's rather odd that phone companies don't provide a simple, automatic option for transmitting this kind of information -- commonly referred to as profiling information -- over the phone.

There are some standards in motion to provide this service from any Web browser. Recently, browsers have started to add sections that contain common business card information. At the current time, however, no browsers support a business card that is also "smart."

The standard being proposed for personal information is OPS (Open Profiling Standard), and a proposed standard for EDI (electronic data interchange) on extranets is called "ICE." The standards themselves are quite large and we can't possibly cover them in this short article. We can, however, show you some of the core components that could be used to build such a profiling information delivery system.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources
  • Latest release from Dallas Semiconductor. Download this file and uncompress it. Winzip may be required. You will see several directories. Start by reading the README file. To run the demos you will need to connect a reader to your computer. BusinessCard.java is a listing of the Java Card applet included here for convenience http://www.ibutton.com/devkit
  • JavaSoft's Java Card home page contains all the APIs and additional examples that you should be able to run on the card http://www.javasoft.com/javacard
  • APDU commands specific to Java iButtons, a very terse listing of APDUs recognized by the card http://www.javaworld.com/javaworld/jw-04-1998/ibuttons/cmds.html
  • See JavaWorld's article, "An introduction to Java Card" http://www.javaworld.com/javaworld/jw-02-1998/jw-02-javacard.html
  • Emerging standard for communicating with smart cards http://www.opencard.org/
  • Java Card Programming Concepts (pdf file). Listed here for convenience http://www.javaworld.com/javaworld/jw-04-1998/ibuttons/JC20-Concepts.pdf
  • Java Card 2.0 API (pdf file). Listed here for convenience http://www.javaworld.com/javaworld/jw-04-1998/ibuttons/JC20API-prtrat.pdf