This document provides an overview of Java Card technology. It discusses how Java Card allows Java-based applications to run securely on smart cards, giving users the ability to program smart cards for specific applications. It describes the key elements of a Java Card application, including the back-end system, host application, card reader, applet, and user credentials. It also covers how to develop and install a Java Card applet, and the two methods for communicating with applets: the fundamental message passing model using APDUs, and the Java Card Remote Method Invocation model.