Java Card je verze platformy Java pro zařízení s extrémně omezenými výpočetními prostředky. Ve srovnání s jinými verzemi Java byly změněny bajtový kód, požadavky na spouštěcí platformu a složení standardních knihoven.
Hlavním účelem produktu, jak již název napovídá, je použití v čipových kartách . V tomto ohledu byl hlavní důraz kladen na podporu standardních kryptografických algoritmů.
Java Card vám umožňuje bezpečně instalovat a spouštět malé Java aplikace ( aplety ) na čipových kartách a dalších zařízeních s velmi omezeným množstvím paměti . Tato platforma umožňuje dodavateli programovat zařízení a upravovat je na míru pro konkrétní aplikaci. Java Card je široce používána v SIM kartách a bankomatech . Vyvinuto společností Schlumberger [1] , zveřejněno 29. října 1996 [2] několika společnostmi, včetně Schlumbergerovy tehdejší divize čipových karet (nyní Gemalto ). Softwarová platforma Java Card je popsána ve specifikacích vyvinutých společností Sun Microsystems [3] . GlobalPlatform (organizace pro standardy) navíc vyvíjí standardy pro bezpečnou instalaci apletů Java Card na zařízení.
Java Card popisuje standardní běhové prostředí na čipových kartách , které umožňuje spuštění stejné aplikace na různých zařízeních, stejně jako aplety Java SE / Java EE běží na různých hardwarových a softwarových počítačích a Java ME MIDlety běží na různých zařízeních. Stejně jako u sofistikovanějších platforem Java je toho dosaženo kombinací virtuálního stroje (Java Card Virtual Machine, JCVM ) a standardizované knihovny tříd, která umožňuje apletu výrazně abstrahovat od konkrétních modelů čipových karet . To však stále plně nezaručuje přenositelnost aplikace na jakoukoli čipovou kartu, protože existují faktory, jako je velikost paměti, výkon nebo dostupnost speciálních rozhraní (například komunikační protokoly nebo kryptografické algoritmy).
JCOP je soubor opatření pro vývoj jednotného standardu operačního systému s virtuálním strojem Java Card pro silné systémy identity a platební systémy. Vyvinutý IBM s širokou integrací s GlobalPlatform , organizacemi ICAO . Dnes je prakticky synonymem JCVM .
Zabezpečení dat na čipových kartách bylo jednou z hlavních priorit při vývoji karty Java Card . Je poskytován různými vlastnostmi platformy:
Na jazykové úrovni je Java Card podmnožinou úplnějších platforem Java : všechny konstrukce jazyka Java Card jsou přítomny v Javě a chovají se přesně stejným způsobem. Standardní sekvence kompilace navíc používá normální kompilátor Java (javac) bez jakýchkoli speciálních možností a teprve poté je výsledek zpracován programem specifickým pro kartu Java Card, aby se získal soubor, který lze nainstalovat na čipovou kartu. V Java Card však není podporováno mnoho funkcí jazyka Java, jako jsou typy char , double , float a long , přechodné klíčové slovo , výčtové typy ( enum ), vícerozměrná pole, finalizátory , klonování objektů, proudy .
Bytový kód spouštěný virtuálním strojem Java Card je funkčně podmnožinou bajtového kódu Java , je však zakódován jinak, aby se minimalizovala velikost aplikace. Java Card applet tedy obvykle zabírá méně místa než hypotetický Java SE applet získaný kompilací stejného zdrojového kódu. Tato úspora paměti čipové karty má také nevýhodu: nedostatek podpory některých jazykových funkcí (jak je popsáno výše) a omezení velikosti apletu. Existují způsoby, jak obejít limit velikosti: například rozdělením kódu aplikace do balíčků ne větších než 64 kB.
Programovací techniky používané v typické aplikaci Java Card se výrazně liší od technik používaných v Java SE. Skutečnost, že Java Card je striktní podmnožinou jazyka Java, však značně urychluje křivku učení technologie a také umožňuje používat prostředí Java SE k vývoji a ladění aplikací. Navíc můžete společně spouštět a ladit ve stejném prostředí jak aplikaci Java Card, tak její serverovou část, která má být provozována na PC.
Měli byste však pravidelně kontrolovat, zda aplikace vyhovuje omezením karty Java Card tím, že ji zkompilujete do příslušného bajtového kódu, a také ji otestujte na skutečné smart kartě, abyste získali představu o výkonu skutečného zařízení.
Jáva | |
---|---|
Platformy | |
Sun Technologies | |
Klíčové technologie třetích stran | |
Příběh |
|
Vlastnosti jazyka | |
Skriptovací jazyky |
|
Java konference |
|
Platformy Java | |
---|---|
|