Return to Index
5. Java and Smart Cards
Java, developed by Sun Microsystems Inc., is the first open, object-oriented
software platform. It provides I/O, networking, graphics capabilities and
all the facilities necessary for developing and running simple or sophisticated
applications. Most importantly, Java is unique in providing the capability
to "write once, run anywhere." This means that a Java program
written for one type of hardware or operating system is able to run on
almost any other, provided that the program does not exceed the available
memory.
Conventional and Java-based Smart Card Architectures
Figure 1 below shows the basic difference between conventional smart
card architectures and Java-based smart card architectures. In each case
the platform on which the applications run includes a microprocessor and
operating system. However, the new architecture includes the Java interpreter
as a layer between the applications and the rest of the platform.
Although it is necessary to port the Java interpreter to the underlying
architecture, once that work has been done any application, or "applet"
written in Java will run on the platform. In the conventional smart card
architecture, each application had to be specially ported to each platform.
It gave the people who knew how to do that porting job security, but did
little to encourage the proliferation of smart cards with useful applications.
Java's Advantages
There are three broadly-defined groups that will benefit from using
Java programs on smart cards: software developers, organizations offering
products or services, and consumers. Developers probably receive the most
direct benefits but they flow through to the other groups and promote the
growth of the industry and consumer use.
Java is an Open Standard
The Java Application Programming Interface (API) provides an open standard
that ensures programs written to it will run on any ISO 7816-compliant
smart card. For the smart card industry, this gives a greater incentive
to software developers to write smart card applications since they can
be more widely and easily adopted. Organizations have more providers to
choose from and consumers benefit by having access to a broader range of
smart card applications sooner. With more developers able to write programs
to an open specification, the industry is likely to develop much faster
than it did under the proprietary model.
Developers Can Use a Familiar Language and Tools
Java programmers writing smart card applications can use the same development
environment and tools that they use for building applications for small
devices, network computers, personal computers and even servers. Since
developers do not have to learn proprietary languages or systems in order
to support smart card applications, any Java developer can be a smart card
application developer. For the industry, this means that the number of
potential smart card programmers has just exploded from a small cadre to
several hundred thousand.
"Write Once, Run Anywhere"
One of Java's important features is that once an application is written
in the language, it will run anywhere that the Java Interpreter is available,
provided it has a small enough footprint for the program. This means that
Java programs written for smart cards can run on personal computers or
servers, which could simplify system integration issues and encourage code
reuse within organizations.
Java was designed for networks and security
By using Java's inherent security model, smart card providers can have
several different programs on the card which will only interact if they
are designed to do so. In addition, Java programs deliberately have limited
capabilities to be invasive, for example to alter file systems over a network.
The language was, however, designed with the power of networking computing
in mind. (For many years, Sun Microsystems tag line has been "The
Network is the Computer.")
Java Programs Can Fit on Smart Cards
At the present time, the amount of memory on a smart card is very limited
but Java programs which are designed for smart cards are able to accommodate
the limit of 8 Kbytes. In fact, that is enough room for several useful
applications to reside.
Highlights of Java-related Developments in the Smart Card Industry
At the present time, only Schlumberger's Cyberflex card runs Java programs.
Cyberflex cards are being tested in early 1997 before going into production.
Schlumberger currently delivers hundreds of millions of smart cards each
year to both public and private sector organizations.
Although Schlumberger is the only company currently producing smart cards
that can run Java programs, that probably will not be the case for long.
The JavaCard API specification, developed with leading companies in the
smart card industry, was released to the public in October of 1996.
One way that Schlumberger is encouraging the industry to adopt the JavaCard
API is by joining forces with Gemplus, the world largest plastic and smart
card producer, to promote the JavaCard API as the standard. In February
of 1997, Gemplus and Schlumberger formed the JavaCard Forum which has the
following objectives:
In addition, the forum will serve as a strategic link between the various
vertical markets for smart cards such as telecommunications, banking, retail,
health care, education and government.
Caffeinated Cash in Our Future?
Each year hundreds of millions of smart cards are manufactured by big
companies and the industry has been fermenting for more than thirty years
yet smart cards are not pervasive, particularly not in huge North American
market. With the advent of Java, some, though not all, of the barriers
to the smart card industry have been removed.
For smart cards, indeed any technology, to be commercially successful,
three things must be aligned:
Java enables more developers to write secure, network-aware programs that
can be run in more places than ever before. This high-profile technological
advancement coincides with a time when organizations are reevaluating their
strategies and technological infrastructures for the next century. They
recognize the need to provide superior, and even innovative service, while
keeping costs down. At the same time, curious consumers are flooding online.
People are being bombarded by technology issues in the mass media and in
their classrooms. Government is recognizing the need for new public policies
concerning the use of technology. A new generation is coming of age and
its members take computers and networks for granted.
Cash is not going to go away any time soon. Nor will our habits and expectations
as a society change overnight. But now, more than ever before in the history
of smart cards, the technology, the business processes and the people are
aligning. Java is one of the important drivers.
Caffeinated cash in our future? You bet.
Go to next section: 6. Bibliography
Return to Index