Che cos'è una Java Card ™?
L'interfaccia di programmazione dell'applicazione Java Card ™ è una piattaforma progettata per creare applicazioni per smart card e dispositivi smart card. Oltre alla programmazione relativa alle smart card, Java Card ™ è ideale per la creazione di applicazioni su una vasta gamma di dispositivi a basso ingombro e bassa memoria, come alcuni tipi di telefoni cellulari. Queste piccole applicazioni funzionano in modo molto simile ai programmi Java® più grandi; una macchina virtuale stabilisce un ambiente di base e quindi il codice Java® viene eseguito al suo interno. L'unica vera differenza tra Java® standard e un sistema Java Card ™ è la dimensione e una manciata di funzionalità che non sono ancora state implementate.
Java Card ™ è stato originariamente sul mercato nel 1996. A quel tempo, l'unico uso della tecnologia era nei sistemi basati su smart card. Col passare del tempo, il numero di piccole piattaforme informatiche è aumentato. Ora questo sistema viene utilizzato su una vasta gamma di dispositivi che funzionano con restrizioni di piattaforma simili a un sistema di smart card.
Il linguaggio è adatto per un ambiente con memoria e potenza di elaborazione molto limitate. La maggior parte dei sistemi di smart card utilizza un ambiente fisso; al di fuori di attrezzature speciali, è molto difficile attivare o disattivare un programma sulla scheda. Questi ambienti sono spesso estremamente limitati in termini di risorse disponibili, rendendo la lingua perfetta.
La posizione secondaria più comune per Java Card ™ è sui telefoni cellulari. La maggior parte degli smartphone moderni ha effettivamente memoria e potenza sufficienti per utilizzare piattaforme Java® più avanzate, quindi i sistemi di carte sono spesso limitati a smartphone o dumbphone più vecchi. Una piccola selezione di altri dispositivi utilizza la tecnologia Java Card ™, principalmente quelli che utilizzano schede aggiuntive o schede di memoria per una programmazione aggiuntiva.
La maggior parte dei sistemi Java® funziona allo stesso modo, indipendentemente dalla piattaforma prevista o dalle dimensioni complessive. Una macchina virtuale crea un ambiente emulato sul dispositivo di destinazione. Il programma Java® viene eseguito all'interno di quell'ambiente con poca considerazione per l'hardware effettivo del sistema. L'installazione della macchina virtuale è diversa su ogni piattaforma, ma i meccanismi interni non lo sono. Di conseguenza, è possibile eseguire la stessa applicazione su una vasta gamma di computer o dispositivi senza conversione.
Gli obiettivi principali del linguaggio Java Card ™ sono compatibilità e sicurezza. Questo linguaggio è progettato per essere compatibile con quasi tutti i dispositivi che vogliono utilizzarlo. Ciò avviene generalmente tramite macchine virtuali codificate individualmente. Quando la macchina virtuale per l'hardware è operativa, le applicazioni sono relativamente facili da trasferire.
Il secondo obiettivo principale è la creazione di un programma e una piattaforma sicuri. Poiché i sistemi intelligenti spesso contengono informazioni riservate, la lingua ha una vasta gamma di metodi per salvaguardare tali informazioni mentre sono in uso. Questi metodi vanno dai firewall interni dell'applicazione a molteplici forme di crittografia.