Wat is een Java Card ™?
De programmeerinterface van de Java Card ™ -applicatie is een platform dat is ontworpen om applicaties te maken voor smartcards en smartcard-apparaten. Naast smartcard-gerelateerde programmering is Java Card ™ zeer geschikt voor het maken van toepassingen op een breed scala aan apparaten met een klein footprint, weinig geheugen, zoals sommige soorten mobiele telefoons. Deze kleine applicaties werken op dezelfde manier als grotere Java®-programma's; een virtuele machine brengt een basisomgeving tot stand en vervolgens loopt de Java®-code erin. Het enige echte verschil tussen standaard Java® en een Java Card ™ -systeem is de grootte en een handvol functies die nog moeten worden geïmplementeerd.
Java Card ™ kwam oorspronkelijk in 1996 op de markt. Op dit moment werd de technologie alleen gebruikt in op smartcards gebaseerde systemen. Naarmate de tijd verstreek, nam het aantal kleine computerplatforms toe. Nu wordt dit systeem gebruikt op een breed scala aan apparaten die werken met platformbeperkingen die vergelijkbaar zijn met een smartcard-systeem.
De taal is geschikt voor een omgeving met een zeer beperkt geheugen en verwerkingskracht. De meeste smartcard-systemen gebruiken een vaste omgeving; buiten speciale apparatuur is het erg moeilijk om een programma op of van de kaart te krijgen. Deze omgevingen zijn vaak extreem beperkt in termen van beschikbare bronnen, waardoor de taal perfect past.
De meest voorkomende secundaire locatie voor Java Card ™ is op mobiele telefoons. De meeste moderne smartphones hebben eigenlijk voldoende geheugen en kracht om gebruik te maken van meer geavanceerde Java®-platforms, dus de kaartsystemen zijn vaak beperkt tot oudere smartphones of dumbphones. Een kleine selectie van andere apparaten maakt gebruik van Java Card ™ -technologie, meestal apparaten die extra kaarten of geheugenkaarten gebruiken voor extra programmering.
De meeste Java®-systemen werken op dezelfde manier, ongeacht hun beoogde platform of totale grootte. Een virtuele machine creëert een geëmuleerde omgeving op het doelapparaat. Het Java®-programma draait binnen die omgeving met weinig aandacht voor de daadwerkelijke hardware van het systeem. De installatie van de virtuele machine is op elk platform anders, maar de innerlijke werking niet. Als gevolg hiervan is het mogelijk om dezelfde applicatie op een breed scala van computers of apparaten zonder conversie uit te voeren.
De hoofddoelen van de Java Card ™ -taal zijn compatibiliteit en beveiliging. Deze taal is ontworpen om compatibel te zijn met bijna elk apparaat dat het wil gebruiken. Dit gebeurt meestal via individueel gecodeerde virtuele machines. Zodra de virtuele machine voor de hardware operationeel is, kunnen applicaties relatief eenvoudig worden overgedragen.
De tweede hoofdfocus is het creëren van een veilig programma en platform. Aangezien slimme systemen vaak gevoelige informatie bevatten, heeft de taal een breed scala aan methoden om die informatie te beveiligen terwijl deze in gebruik is. Deze methoden variëren van interne applicatie-firewalls tot meerdere vormen van codering.