Эта статья открывает серию материалов,
Намиот Д.Е., Сиховец Л.Б.
Эта статья открывает серию материалов, подготовленных сотрудниками Inetique, посвященных технологии смарт-карт и, в частности, технологии Java Card.
Об авторах: к.ф.-м.н. Дмитрий Намиот работает с Java технологиями последние 6 лет. Лев Сиховец является Sun Certified Programmer for the Java Platform 2, имеет более чем пятилетний опыт работы с Java. В настоящий момент оба автора сотрудничают с компанией Inetique, занимающейся разработками в области Java. Вы можете связаться с авторами и получить дополнительную информацию через сайт http://www.inetique.ru.
Java Card API позволяет программам, написанным на языке Java, исполняться на интеллектуальных картах и других устройствах с ограниченными ресурсами.
Интеллектуальные карты (смарт-карты) представляют собой сегодня одни из самых маленьких вычислительных устройств. Например, вы можете встретить устройство с 24 Kb памяти. Естественно, в таких условиях возможна поддержка только некоторого подмножества языка Java.
Виртуальная Java Card машина состоит из двух частей, одна из которых работает непосредственно на самой карте, а другая – на хост-машине вне карты. Вне Java Card исполняются такие процессы, как загрузка классов, проверка байт-кода, оптимизация и т.п. Критерием такого разделения является наличие или отсутствие ограничений на выполнение процесса во время работы программы.
В дополнение к собственно языку Java технология Java Card поддерживает среду исполнения, что влючает в себя вопросы работы с памятью карты, передачи данных, безопасности и выполнения программ. Для Java Cards эта среда соответствует стандарту ISO 7816.
Основная задача этой среды есть строгое разделение собственно смарт-карты и Java приложения. Среда служит своеобразным прокси-сервером, скрывающим от приложения детали собственной реализации. Взаимодействие с программой осуществляется через стандартизованные интерфейсы высокого уровня.
Приложения, написанные для платформы Java Card называются апплетами. Название было выбрано из схожести модели выполнения со стандартными апплетами, исполняемыми в виртуальной машине Java (JVM) веб-браузера.
Платформа Java Card включает в себя три части: