Definição – o que significa Java Card?
Java Card é uma tecnologia Java usada para pequenos aplicativos, conhecidos como miniaplicativos, em dispositivos com recursos extremamente limitados. Esta tecnologia Java é usada em cartões de módulo de identidade do assinante (SIM) de telefone celular, cartões financeiros, cartões de identificação de saúde, bilhetes inteligentes e muitos outros dispositivos.
Como outros aplicativos criados com a linguagem de programação Java, os miniaplicativos Java Card apresentam recursos de gravação única, execução em qualquer lugar. Isso significa que eles serão executados em qualquer cartão inteligente habilitado para a tecnologia Java Card, independentemente do fabricante do cartão ou do hardware usado, desde que a máquina virtual Java (JVM) necessária esteja presente.
Definirtec explica Java Card
A tecnologia Java Card é amplamente usada, com fabricantes de Java Card respondendo por mais de 90 por cento de toda a indústria de smart card.
Como os miniaplicativos precisam ser executados em tais ambientes restritos, o código de bytes do Java Card é compreensivelmente pequeno. Na verdade, apenas um subconjunto de toda a interface de programação de aplicativos (API) da linguagem de programação Java é usado para escrever o código-fonte para um miniaplicativo Java Card. Depois que o código-fonte é escrito e salvo como um arquivo .java, ele é compilado em um arquivo .class, como em um aplicativo Java comum. No entanto, o processo de desenvolvimento não termina aí. O arquivo .class deve então ser convertido em um miniaplicativo convertido menor ou arquivo .cap. Após a conversão, o arquivo .cap pode ser verificado e finalmente instalado no cartão.
Na maioria dos casos, o miniaplicativo final não será capaz de operar sozinho. Em vez disso, os elementos de um aplicativo Java Card completo geralmente consistem em um aplicativo back-end, um aplicativo host, um dispositivo de interface e o miniaplicativo no cartão. Como um exemplo simples, o aplicativo back-end pode ser um programa que se conecta a um banco de dados ou o aplicativo host (um aplicativo em execução em um celular) ou o dispositivo de interface (o celular).