Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Java Card is a Java technology used for tiny applications, known as applets, on extremely resource-limited devices. This Java technology is used on mobile phone subscriber identity module (SIM) cards, financial cards, healthcare identification cards, smart tickets and many other devices.
Like other applications created using the Java programming language, Java Card applets feature write-once-run-anywhere capabilities. This means that they will run on any Java Card technology-enabled smart card, regardless of the manufacturer of the card or the hardware being used as long as the necessary Java virtual machine (JVM) is present.
Java Card technology is widely used, with Java Card manufacturers accounting for more than 90 percent of the entire smart card industry.
Because the applets have to run on such constrained environments, the Java Card byte code is understandably tiny. In fact, only a subset of the entire Java programming language application programming interface (API) is used in writing the source code for a Java Card applet. After the source code is written and saved as a .java file, it is then compiled into a .class file, just like in an ordinary Java application. However, the development process does not end there. The .class file must then be converted into a smaller converted applet or .cap file. After conversion, the .cap file can be verified and finally installed on the card.
In most cases, the final applet will not be able to operate on its own. Rather, the elements of a complete Java Card application usually consist of a back-end application, a host application, an interface device and the applet on the card. As a simple example, the back-end application may be a program connecting to a database or the host application (an application running on a cellphone) or the interface device (the cellphone).