Java Card™とは何ですか?
Java Card™アプリケーションプログラミングインターフェイスは、スマートカードおよびスマートカードデバイス用のアプリケーションを作成するために設計されたプラットフォームです。 スマートカード関連のプログラミングに加えて、Java Card™は、ある種の携帯電話など、フットプリントが小さくメモリの少ないさまざまなデバイスでアプリケーションを作成するのに適しています。 これらの小さなアプリケーションは、大きなJava®プログラムと非常によく似た動作をします。 仮想マシンがベース環境を確立すると、その中でJava®コードが実行されます。 標準のJava®システムとJava Card™システムの唯一の本当の違いは、サイズと実装されていないいくつかの機能です。
Java Card™はもともと1996年に市場に登場しました。現時点では、この技術の用途はスマートカードベースのシステムのみでした。 時間が経つにつれて、小さなコンピューティングプラットフォームの数が増加しました。 現在、このシステムは、スマートカードシステムと同様のプラットフォーム制限で動作するさまざまなデバイスで使用されています。
この言語は、メモリと処理能力が非常に限られている環境に適しています。 スマートカードシステムの大部分は固定環境を使用しています。 特殊な機器の外では、カードのオン/オフを切り替えることは非常に困難です。 これらの環境は、多くの場合、使用可能なリソースの点で非常に制限されているため、言語が最適です。
Java Card™の最も一般的なセカンダリロケーションは携帯電話です。 実際、最新のスマートフォンの多くは、より高度なJava®プラットフォームを使用するのに十分なメモリとパワーを備えているため、カードシステムは多くの場合、古いスマートフォンまたはダムフォンに限定されます。 他のデバイスのごく一部はJava Card™テクノロジーを使用しており、主に追加のプログラミングにアドオンカードまたはメモリカードを使用するものです。
ほとんどのJava®システムは、目的のプラットフォームや全体のサイズに関係なく、同じように機能します。 仮想マシンは、ターゲットデバイス上にエミュレートされた環境を作成します。 Java®プログラムは、システムの実際のハードウェアをほとんど考慮せずに、その環境内で実行されます。 仮想マシンのインストールはプラットフォームごとに異なりますが、内部の動作は異なります。 その結果、変換せずに同じコンピューターをさまざまなコンピューターまたはデバイスで実行できます。
Java Card™言語の主な目標は、互換性とセキュリティです。 この言語は、使用したいほぼすべてのデバイスと互換性があるように設計されています。 これは通常、個別にコーディングされた仮想マシンを介して行われます。 ハードウェアの仮想マシンが動作可能になると、アプリケーションは比較的簡単に移植できます。
2番目の主な焦点は、安全なプログラムとプラットフォームの作成です。 スマートシステムには機密情報が含まれていることが多いため、この言語には使用中の情報を保護するためのさまざまな方法があります。 これらの方法は、内部アプリケーションファイアウォールから複数の暗号化形式にまで及びます。