Java Card Applet
Device Manufacturer HW
Java Smart Card
F IGURE 5.7
The lifecycle of a Java Card applet.
First of all, the application is developed with software on a desktop computer, where the devel-
opers can take advantage of tools such as Integrated Development Environments (IDE), debug-
gers, emulators, and so on. Finally, the final CAP files are obtained and the stage of JCRE
initialization takes place. The virtual machine is initialized, and all the JCRE support objects
are created. This stage is performed only once during the card lifetime.
Another stage is applet installation. When applets are installed, the JCRE creates applet
instances, as prescribed in the installed code, along with the other objects to store business
data. Such objects are created in the EEPROM memory. This is one of the most interesting fea-
tures of Java Card applets: the capability to be loaded dynamically. Most of the previous smart
card software was hardwired onto ROM at card initialization, once and for all. The applet
installation stage can be repeated many times.
In Figure 5.7, the final layering of the different computation environments is shown. It is com-
posed of the pre-existing manufacturer hardware topped by the Java Card interpreter that exe-
cutes installed client applets together with some other system applets.
Let's examine the card lifecycle in more detail. When we introduce smart cards in ATMs or
other devices, cards are activated, and the code they contain is executed. Such devices are
called card acceptance devices (CADs) . The period of time from the card activation inside
such a device to the end of the business transaction and subsequent removal is called a CAD