A means of communicating between client applications and Java Card applets using object method calls. DMI is an application protocol built upon the standard smart card APDU communication data structures for transporting commands to card (method calls) and responses from card (method result).