Qu'est-ce qu'une carte Java ™?
L’interface de programmation d’application Java Card ™ est une plate-forme conçue pour créer des applications pour les cartes à puce et les périphériques de carte à puce. Outre la programmation liée aux cartes à puce, Java Card ™ est parfaitement adapté à la création d'applications sur une large gamme de périphériques à faible empreinte mémoire et à faible mémoire, tels que certains types de téléphones cellulaires. Ces petites applications fonctionnent de manière très similaire aux grands programmes Java®; une machine virtuelle établit un environnement de base sur lequel le code Java® s'exécute. La seule différence réelle entre un système Java® standard et un système Java Card ™ réside dans la taille et quelques fonctions à implémenter.
Java Card ™ a été mis sur le marché en 1996. À cette époque, la technologie n’était utilisable que dans les systèmes à carte à puce. Au fil du temps, le nombre de petites plates-formes informatiques a augmenté. Désormais, ce système est utilisé sur une large gamme de périphériques fonctionnant avec des restrictions de plate-forme similaires à celles d'un système de carte à puce.
Le langage est adapté à un environnement disposant d'une mémoire et d'une puissance de traitement très limitées. La majorité des systèmes de cartes à puce utilisent un environnement fixe; En dehors des équipements spéciaux, il est très difficile d’obtenir un programme sur la carte. Ces environnements sont souvent extrêmement limités en termes de ressources disponibles, ce qui rend la langue parfaitement adaptée.
L'emplacement secondaire le plus courant pour Java Card ™ est un téléphone portable. La plupart des smartphones modernes disposent en réalité de suffisamment de mémoire et de puissance pour utiliser des plates-formes Java® plus avancées. Les systèmes de cartes sont donc souvent limités à des smartphones ou à des dumbphones plus anciens. Une petite sélection d'autres périphériques utilise la technologie Java Card ™, principalement des cartes qui utilisent des cartes d'extension ou des cartes mémoire pour une programmation supplémentaire.
La plupart des systèmes Java® fonctionnent de la même manière, quelles que soient leur plate-forme ou leur taille globale. Une machine virtuelle crée un environnement émulé sur le périphérique cible. Le programme Java® s'exécute dans cet environnement sans se soucier du matériel réel du système. L'installation de la machine virtuelle est différente sur chaque plate-forme, mais le fonctionnement interne ne l'est pas. Par conséquent, il est possible d'exécuter la même application sur une large gamme d'ordinateurs ou de périphériques sans conversion.
Les principaux objectifs du langage Java Card ™ sont la compatibilité et la sécurité. Ce langage est conçu pour être compatible avec presque tous les appareils qui souhaitent l’utiliser. Cela se fait généralement via des machines virtuelles codées individuellement. Une fois que la machine virtuelle du matériel est opérationnelle, les applications sont relativement faciles à transférer.
Le deuxième objectif principal est la création d’un programme et d’une plateforme sécurisés. Étant donné que les systèmes intelligents contiennent souvent des informations sensibles, le langage dispose d'un large éventail de méthodes pour protéger ces informations en cours d'utilisation. Ces méthodes vont des pare-feu applicatifs internes à plusieurs formes de cryptage.