Взаємодія SIM-карти з зовнішнім світом (SIM-ME interface, SIM-Toolkit API, JavaCard API)
І ось десь на початку дев'яностих специфікація на інтерфейс між SIM і ME була розширена і туди були додані функції, що забезпечують роботу того, що зазвичай називають терміном "SIM Toolkit".
По-просту кажучи, SIM Toolkit - це додаток (ія), що працює на SIM-карті і взаємодіючі з ME по інтерфейсу, описаного в GSM 11.14.
Такі додатки можуть:
З огляду на, що специфікований і стандартизований тільки інтерфейс SIM-ME, а самі програми виконуються всередині SIM-карти, не має ніякого значення, як саме і на чому вони написані.
Перші SIM-карти з STK містили "статичний" набір додатків, змінити які можна було тільки помінявши саму SIM-карту. Ясна річ, що апетит приходить під час їжі, і дуже скоро оператори зрозуміли, що можливість змінювати STK "на ходу" - це наше все. Але для реалізації цієї можливості треба було "відкрити" процес написання софта для SIM-карт і дати можливість незалежним постачальникам писати програми для SIM-карт, що явно було не до вподоби виробникам SIMок.
Рішенням стала поява SIM-карт, здатних виконувати сильно обрізану JVM (Java Virtual Machine) і створення специфікації JavaCard, що дозволило третім фірмам писати applet-и для таких SIM-карт. На даний момент на ринку вже існує кілька моделей SIM-карт з неміряно обсяг пам'яті, доступної - 32K або 64К, що дозволяє розмістити на них 2-3-4-5 аплетів.
PS А для остаточного розширення горизонтів свідомості пошукайте в Google-е слова "How to turn SIM card into Web Server" :)