Java Card on Java - alustan versio laitteille, joiden laskentaresurssit ovat erittäin rajalliset. Verrattuna muihin Java -versioihin tavukoodia, suoritusalustaa koskevia vaatimuksia ja standardikirjastojen koostumusta on muutettu.
Tuotteen päätarkoitus on nimensä mukaisesti käyttö älykorteissa . Tässä suhteessa pääpaino asetettiin standardien salausalgoritmien tukemiseen.
Java-kortin avulla voit turvallisesti asentaa ja käyttää pieniä Java - sovelluksia ( sovelmia ) älykorteissa ja muissa laitteissa, joissa on hyvin rajallinen määrä muistia . Tämän alustan avulla toimittaja voi ohjelmoida laitteita ja muokata niitä tiettyä sovellusta varten. Java-korttia käytetään laajalti SIM-korteissa ja pankkiautomaateissa . Schlumbergerin kehittämä [1] , julkaisi yleisölle 29. lokakuuta 1996 [2] useiden yritysten toimesta, mukaan lukien Schlumbergerin silloinen älykorttiosasto (nykyisin Gemalto ). Java Card -ohjelmistoalustaa kuvataan Sun Microsystemsin kehittämissä määrityksissä [3] . Lisäksi GlobalPlatform (standardiorganisaatio) kehittää standardeja Java-korttisovelmien turvalliseen asentamiseen laitteisiin .
Java Card kuvaa älykorttien vakioajonaikaista ympäristöä, jonka avulla sama sovellus voi toimia eri laitteissa, aivan kuten Java SE / Java EE -sovelmat toimivat eri laitteisto- ja ohjelmistotietokoneissa ja Java ME MIDlet -sovellukset eri laitteissa. Kuten kehittyneemmillä Java-alustoilla, tämä saavutetaan virtuaalikoneen (Java Card Virtual Machine, JCVM ) ja standardoidun luokkakirjaston yhdistelmällä, mikä mahdollistaa sovelman irtautumisen merkittävästi tietyistä älykorttimalleista . Tämä ei kuitenkaan vielä täysin takaa sovelluksen siirrettävyyttä millekään älykortille, koska on olemassa tekijöitä, kuten muistin koko, suorituskyky tai erityisten liitäntöjen (esimerkiksi viestintäprotokollat tai kryptografiset algoritmit) saatavuus.
JCOP on joukko toimenpiteitä, joilla kehitetään yksi käyttöjärjestelmästandardi Java Card -virtuaalikoneella vahvoja identiteettijärjestelmiä ja maksujärjestelmiä varten. IBM : n kehittämä laajasti integroituna GlobalPlatformin ja ICAO -organisaatioiden kanssa . Nykyään se on käytännössä synonyymi JCVM :lle .
Älykorttien tietoturva oli yksi Java Cardin kehittämisen tärkeimmistä tavoitteista . Sen tarjoavat erilaiset alustan ominaisuudet:
Kielitasolla Java Card on osajoukko täydellisempiä Java -alustoja : kaikki Java Card -kielirakenteet ovat Javassa ja toimivat täsmälleen samalla tavalla. Lisäksi tavallinen käännösjärjestys käyttää normaalia Java - kääntäjää (javac) ilman erityisiä valintoja, ja vasta sitten tulos käsitellään Java-korttikohtaisella ohjelmalla, jotta saadaan tiedosto, joka voidaan asentaa älykortille. Java-kortit eivät kuitenkaan tue monia Java-kielen ominaisuuksia, kuten char- , double- , float- ja long -tyypit, ohimenevät avainsanat , luetellut tyypit ( enum ), moniulotteiset taulukot, viimeistelylaitteet , objektien kloonaus, virrat .
Java Card -virtuaalikoneen suorittama tavukoodi on toiminnallisesti Java-tavukoodin osajoukko , mutta se on koodattu eri tavalla sovelluksen koon minimoimiseksi. Siten Java Card -sovelma vie tyypillisesti vähemmän tilaa kuin hypoteettinen Java SE -sovelma , joka on saatu kääntämällä samaa lähdekoodia. Tällä älykortin muistin säästämisellä on myös haittapuoli: joidenkin kieliominaisuuksien tuen puute (kuten yllä on kuvattu) ja sovelman koon rajoitus. Kokorajoituksen kiertämiseen on monia tapoja: esimerkiksi jakamalla sovelluskoodi enintään 64 kt:n pakkauksiin.
Tyypillisessä Java Card -sovelluksessa käytetyt ohjelmointitekniikat eroavat merkittävästi Java SE:ssä käytetyistä. Se, että Java Card on Java-kielen tiukka osajoukko, nopeuttaa kuitenkin suuresti tekniikan oppimiskäyrää ja mahdollistaa myös Java SE -ympäristön käytön sovellusten kehittämiseen ja virheenkorjaukseen. Lisäksi voit yhdessä ajaa ja virheenkorjata samassa ympäristössä sekä Java Card -sovelluksen että sen palvelinosan, jonka oletetaan ajettavan PC:llä.
Sinun tulee kuitenkin säännöllisesti tarkistaa, että sovellus noudattaa Java-kortin rajoituksia kääntämällä se sopivaan tavukoodiin, sekä testata sitä todellisella älykortilla saadaksesi käsityksen todellisen laitteen suorituskyvystä.
Java | |
---|---|
Alustat | |
Sun Technologies | |
Kolmannen osapuolen keskeiset tekniikat | |
Tarina |
|
Kielen ominaisuudet | |
Scripting kielet |
|
Java-konferenssit |
|
Java-alustat | |
---|---|
|