¿Qué es una Java Card?

La interfaz de programación de aplicaciones Java Card ™ es una plataforma diseñada para crear aplicaciones para tarjetas inteligentes y dispositivos de tarjetas inteligentes. Además de la programación relacionada con tarjetas inteligentes, Java Card ™ es ideal para la creación de aplicaciones en una amplia gama de dispositivos de tamaño reducido y poca memoria, como algunos tipos de teléfonos móviles. Estas pequeñas aplicaciones se ejecutan de manera muy similar a los programas Java® más grandes; una máquina virtual establece un entorno base y luego el código Java® se ejecuta dentro de él. La única diferencia real entre Java® estándar y un sistema Java Card ™ es el tamaño y un puñado de funciones que aún no se han implementado.

Java Card ™ salió al mercado originalmente en 1996. En ese momento, el único uso de la tecnología era en sistemas basados ​​en tarjetas inteligentes. Con el paso del tiempo, aumentó el número de pequeñas plataformas informáticas. Ahora, este sistema se utiliza en una amplia gama de dispositivos que operan con restricciones de plataforma similares a un sistema de tarjeta inteligente.

El lenguaje es adecuado para un entorno que tiene una memoria y un poder de procesamiento muy limitados. La mayoría de los sistemas de tarjetas inteligentes utilizan un entorno fijo; fuera del equipo especial, es muy difícil conseguir un programa dentro o fuera de la tarjeta. Estos entornos suelen ser extremadamente limitados en términos de recursos disponibles, lo que hace que el idioma encaje perfectamente.

La ubicación secundaria más común para Java Card ™ son los teléfonos móviles. La mayoría de los teléfonos inteligentes modernos tienen suficiente memoria y potencia para utilizar plataformas Java® más avanzadas, por lo que los sistemas de tarjetas a menudo se limitan a teléfonos inteligentes o teléfonos tontos más antiguos. Una pequeña selección de otros dispositivos usa la tecnología Java Card ™, principalmente los que usan tarjetas adicionales o tarjetas de memoria para programación adicional.

La mayoría de los sistemas Java® funcionan de la misma manera, independientemente de su plataforma prevista o tamaño general. Una máquina virtual crea un entorno emulado en el dispositivo de destino. El programa Java® se ejecuta dentro de ese entorno sin tener en cuenta el hardware real del sistema. La instalación de la máquina virtual es diferente en cada plataforma, pero el funcionamiento interno no lo es. Como resultado, es posible ejecutar la misma aplicación en una amplia gama de computadoras o dispositivos sin conversión.

Los principales objetivos del lenguaje Java Card ™ son la compatibilidad y la seguridad. Este lenguaje está diseñado para ser compatible con casi cualquier dispositivo que quiera usarlo. Esto generalmente se hace a través de máquinas virtuales codificadas individualmente. Una vez que la máquina virtual para el hardware está operativa, las aplicaciones son relativamente fáciles de transferir.
El segundo enfoque principal es crear un programa y una plataforma seguros. Dado que los sistemas inteligentes a menudo contienen información confidencial, el lenguaje tiene una amplia gama de métodos para salvaguardar esa información mientras está en uso. Estos métodos van desde firewalls de aplicaciones internos hasta múltiples formas de cifrado.