Úvod
První specifikace SAT se objevila v roce 1996, v době, která technologicky předjímala pozdější boom GSM technologie. Hlavní motivací pro její vznik byla, tak jako později v případě dalších mobilních aplikačních technologií, snaha operátorů nabídnout uživatelům nové služby. Od roku 1999 podporují SAT dle SIMalliance.org všechny modely mobilních telefonů uvedených na trh.
Asi nejrozšířenější SAT aplikací bylo a je GSM bankovnictví, typický příklad aplikace, ve které se ideálně snoubí možnosti SAT technologie s uživatelskými požadavky: jednoduché ovládání při vysoké uživatelské hodnotě, požadavek na bezpečnost ze strany bank i koncových uživatelů, využití SMS pro komunikaci a hlavně provozuschopnost na nenáročných, lowend mobilních telefonech. Lze říci, že tyto požadavky SAT také charakterizují, jedná se o nenáročnou technologii, uživatelsky velmi jednoduchou bez zbytečných okras, která je v závislosti na výrobci integrována do celkového uživatelského rozhraní mobilního telefonu a která umožňuje provozovat aplikace na nižší, systémové úrovni.
Vedle těchto výhod má SAT jednu základní nevýhodu – možnost nasazení vlastní¨aplikace. Ačkoliv je specifikace otevřená a k dispozici jsou i různé vývojové prostředky v různých cenových kategoriích, hlavním kamenem úrazu je nutnost spolupráce operátora pro nahrání aplikace na SIM kartu. Spolupráce s operátorem bývá většinou časově a administrativně tak náročná, že si tento proces mohou dovolit hlavně banky a např. rozvodné společnosti. Vedle těchto byrokratických problémů spojených s nasazením aplikace je i vývoj vlastní aplikace netriviální – závazná specifikace SAT popisuje aplikační protokol (mechanismus, aby se SIM karta a mobilní telefon domluvily), ale prostředí (operační systém) SIM karty i vývoj aplikací se mohou lišit co do SIM karty i výrobce. Nejvíce prosazovaná je varianta postavená na JavaCard, existují ale i karty s vývojem v C, Visual Basic (alespoň podle marketingových materiálů firmy Microsoft), příp. s vlastním, priprietárním způsobem vývoje aplikací (grafický návrh, speciální skriptovací jazyky).
Specifikace
SIM Application Toolkit je definován v dokumentu 3GPP TS 11.14 (číslování prodělává v rámci nových revizí standardů změny, nicméně 11.14 je číslo, které je obecně užívané pro odkaz na SAT specifikaci), který je spravován standardizační organizací ETSI a volně dostupný na www.etsi.org.
SAT je specifikován jako:
- soubor příkazů
- aplikační protokol
- penzum minimálních požadavků na SIM a mobilní zařízení
Z pohledu aplikace a aplikačního vývojáře je nejzajímavější soubor příkazů. Aplikační protokol definuje vlastní komunikaci mezi SIM a mobilním telefonem, což je oblast, které se vývojář dotkne zejména při ladění aplikací, ale v podstatě je protokol skrytý pod aplikační vrstvou – rozhraním. Veškerá komunikace mezi SIM kartou a mobilním telefonem má podobu příkazů, kterými SIM žádá telefon o vykonání nějaké funkce (např. zobrazení textu či dotaz na uživatele, odeslání SMS) a na které dostává od telefonu odpověď, a událostí (EVENT), kdy telefon informuje SIM, resp. aplikaci o nějaké nastalé události, např. výběru menu aplikace uživatelem, přijetí SMS nebo změny buňky sítě.
Komunikace mezi SIM kartou a mobilním zařízením je na nejnižší úrovni specifikována standardem ISO7816 a dále pak 3GPP TS 11.11, standardem popisujícím specifické GSM příkazy a obsah SIM karty. Protože veškerá komunikace dle ISO7816 předpokládá, že komunikaci řídí telefon – posílá příkazy SIM kartě, která je vykonává, bylo pro potřeby SAT, kde SIM požaduje po telefonu vykonání příkazu, „naroubovat“ mechanismus umožňující SIM kartě klást požadavky. Byly zavedeny čtyři nové SAT specifické APDU (application protocol data unit), v podstatě příkazy pro komunikaci mezi SIM a mobilním zařízením:
- FETCH – slouží k „vyzvednutí“ SAT příkazu mobilním zařízením na základě požadavku SIM karty
- TERMINAL RESPONSE – odpověď mobilního zařízení na SAT příkaz (FETCH)
- ENVELOPE – mobilní zařízení informuje SIM kartu (aplikaci) o nějaké ad hoc události (EVENTu)
- TERMINAL PROFILE - specifikuje podporu SAT daným mobilním zařízením
Základem komunikace je „vyvěšení“ požadavku ze strany SIM karty na FETCH. Tento požadavek má podobu odpovědi na jiný GSM příkaz (APDU). Mobilní telefon poté v jistý moment pošle FETCH příkaz SIM kartě a tím vybere SAT příkaz, který následně vykoná, např. vyzve uživatele k vložení textu. Poté co je příkaz vykonán, vrátí odpověď pomocí TERMINAL RESPONSE.
V případě minimálních požadavků je třeba mít na paměti, že specifikace SAT se vyvíjí a rozrůstá o nové možnosti. Naplnění standardu a implementace je ovšem závislá na výrobcích mobilních telefonů, přičemž někteří výrobci volí cestu implementace minimální množiny příkazů s ohledem na maximální pokrytí aplikačních požadavků, jiní výrobci se snaží o kompletní implementaci standardu včetně různých fines. Proto se lze setkat s posledním modelem mobilního telefonu výrobce X, který má slabší podporu SAT než zařízení výrobce Y před pěti lety.
Během doby SAT dospěl od tvorby základního uživatelského rozhraní a posílání SMS k souboru příkazů obsahujícímu například připojení do internetu nebo práci s obrázky. Příkazy můžeme rozdělit do následujících skupin:
- Uživatelské rozhraní (User interface) – příkazy pro interakci s uživatelem (obsluha klávesnice a displeje)
- Práce se SIM či telefonem (ME/SIM control commands) – , synchronizace SIM/ME paměti, výběr SIM, AT příkazy
- Práce s mobilní sítí ( Network commands) – Odesílání SMS, odesílání kódů DTML, vyvolání hovoru, aj.
- Lokalizační informace (Local information) – Získání pozičních informací mobilní sítě (číslo buňky, měření signálu,...)
- Časovače (Timer) – Správa hodin reálného času, alarmy
- Práci s internetem (Internetworking) – Odesílání a příjem dat, obsluha prohlížeče apod.
O podporovaných příkazech SAT informuje telefon SIM kartu v okamžiku inicializace pomocí tzv. TERMINAL PROFILE, což je soubor bytů, kde každý bit označuje podporu dané SAT funkce.
Aplikace a vývoj
Z pohledu možností SAT lze aplikace dle zaměření rozdělit do následujících hlavních skupin:
- bezpečnost, např. bankovnictví, peněženky
- práce se SMS, šifrované a PIN chráněné zprávy
- lokalizace, práce s polohovými informacemi
- práce se SIM, Over The Air (OTA) aktualizace záznamů na kartě, např. dobíjení kreditu
- informační služby, různá zpravodajství a zábava
Od vzniku SAT se objevily další technologie pro mobilní aplikace, zejména J2ME (mobilní Java) a přístup na úrovni operačního systému telefonu – chytré telefony (Symbian, MS Smartphone, Linux). Proto je na místě krátké porovnaní těchto aplikačních platforem.
SAT pozitiva:
- Nejvíce podporovaná technologie, nejrozšířenější co do počtu zařízení, dlouhá historie
- Nízkoúrovňové aplikace, jednoduché uživatelské rozhraní
- Akcent na práci se SMS
SAT negativa:
- Bez podpory multimédií (jen jednoduché obrázky)
- Nízká podpora vývoje aplikací
J2ME pozitiva:
- Orientace na hry, multimédia
- Silná podpora vývoje
J2ME negativa:
- Roztříštěnost implementací jednotlivých výrobců
- Slabá podpora nízkoúrovňových aplikací
OS pozitiva:
- Aplikace nižší i vyšší úrovně (multimedia, grafika)
OS negativa:
- Nejmenší počet zařízení
- Více velkých hráčů - Symbian, MS, Linux, roztříštěnost
Z pohledu dodavatele aplikace a mobilního operátora je zásadní výhoda SAT nezávislost na použitém mobilním telefonu, množství podporovaných mobilních telefonů a uživatelská jednoduchost.
Zásadní nevýhoda SAT je náročnější vývoj a nutnost spolupráce operátora, ale i zde se objevil pokus v intencích open source trendu o nezávislé řešení a vývoj. Jedná se příslušenství k mobilním telefonům Turbo SIM Toolkit Adapter firmy BLADOX:
Turbo adapter
Turbo Adapter obchází nutnost nahrávání aplikací na SIM kartu a funguje jako prostředník mezi telefonem a SIM kartou. Pro mobilní telefon se tváří jako SIM karta s aplikacemi, pro SIM kartu jako telefon. Vzhledem k použitému rozšířenému mikrokontroléru Atmel ATMega128 existuje kompletní volně dostupné vývojové prostředí, velké množství aplikací a hlavně možnost využití různých rozhraní a sběrnic pro připojení dalších čidel a zařízení, např. paměťové karty, GPS modulů, RFID čteček apod.
Vývoj aplikací je možný v jazyce C, existuje i jednoduchá varianta jazyka BASIC, která umožňuje skriptování přímo na mobilním telefonu.
Turbo
Adaptér si můžete zakoupit například v našem HW Shopu.
Závěr
SIM Application Toolkit je ve spojení s mobilním telefonem mocným nástrojem umožňujícím realizovat řadu aplikací zjednodušující práci s telefonem a rozšiřující jeho možnosti o další funkce. Ačkoli tento standard existuje již dlouhou řadu let, jeho nízké rozšíření lze přisuzovat jen obtížnosti vývoje, resp. možnosti nahrávání uživatelských aplikací na SIM kartu. Nyní se však vývojářům otvírají nové možnosti, jak tohoto nástroje využít a nebýt přitom závislí na ochotě či neochotě operátora a dodavatelů SIM karet. Snad se proto již brzy dočkáme výraznějšího rozšíření této technologie.
Pavel Zaboj
zaboj@ bladox.cz
Oldřich Mrázek
Mrazek@ HW.cz
DOWNLOAD & Odkazy
- SIM aliance - http://www.simalliance.org/
- Vývojářská dokumentace k SIMToolkitu - http://www.bladox.cz/docs.php?lang=cz#doc_devel_doc
- Turbo Lite - jednoduchý a levný GSM Pager
- Turbo - SIMToolkit v praxi
- Produkty SIMToolkitu na HW Serveru - SIMToolkit - Brána k mobilnímu telefonu
- Domovská stránka Bladox - http://www.bladox.cz/