A card needs to be inserted in a card reader (also called card acceptance device, or CAD). If the card is a contactless card, it just needs to be close enough to the reader for a fixed period of time. The card reader always initiates communication. It provides power and clock to the card. First, it will usually select a card application using a special command called SELECT. Then, it sends a command to the application, which processes it and answers. The reader sends the next command, and so on. Commands and answers are structured as APDUs (Application Protocol Data Unit). These APDUs are sent back and forth using either one of two protocols, oddly named T=0 and T=1. Whatever protocol is used is transparent to Java Card applications, so you can safely ignore this for now. If you really need more information, refer to the ISO 7816-3 standard.