Platforma MSA staví na specifikacích platforem JME
(Java Micro Edition) které přišly před ní, včetně
MIDP (Mobile Information Device Profile), CLDC
(Connected Limited Device Configuration) a JTWI (Java
Technology for Wireless Industry). Jak trh s
bezdrátovými zařízeními pokračuje ve vývoji a
začleňování nových technologií, od BlueTooth přes
vektorovou grafiku až po webové služby, tak na
celosvětovém trhu s mobilními zařízeními vzniká
potřeba nové platformy která tyto nové technologie
standardizuje. Široká podpora a úspěch MIDP a CLDC
následované úspěchem platformy JTWI jsou nyní na trhu
s mobilními zařízeními následovány jiným standardem v
tomto průmyslu – MSA.

MSA si klade za cíl vytvořit předvídatelné
prostředí pro vývojáře aplikací kteří chtějí ve svých
aplikacích použít nejnovější mobilní technologie.
Výběrem této specifikace mohou výrobcí těžit z
velkého množství kompatibilních aplikací které budou
plně využívat hardwarové a softwarové funkcionality
jejich zařízení. Při vytváření produktů pro toto
softwarové a servisní prostředí mohou vývojáři
přistupovat k širokému poli zařízení která budou
jejich aplikace podporovat.

Specifikace MSA, která je vlastně JSR 248 (Java
Specification Request), zvedá laťku funkcionality pro
výkonnější mobilní zařízení a zároveň redukuje
odlišnosti v prostředí platformy a rozšiřuje základnu
mobilních aplikací. Definuje novou mobilní platformu
pro aplikace a služby.

Specifikace MSA dále zahrnuje:

  • Plán vývoje různých JSR pro mobilní zařízení a
    popisy jejich dostupnosti na různých trzích po
    celém světě. V minulosti mobilní zařízení ne vždy
    podpoporvala stejný hardware a software. MSA
    specifkace byla vytvořena experty bezdrátového
    průmyslu tak, aby se zaměřila speciálně na tento
    problém.
  • Specifikaci popisující základní komponenty
    klienta aplikačního prostředí mobilního telefonu
    plus doporučenou kombinaci technologií platformy
    Java ME. Tyto požadavky jsou navrženy tak aby
    rošířily kompatibilitu.
  • TCK (Technology Compatibility Kit) který ověřuje
    kompatibilitu definovanou MSA a integrovanou
    implementaci technologií popsaných ve specifikaci.

Funkcionalita a povinné JSR

Cíle MSA specifikace jsou definovat standardní
množinu funkcionality aplikací pro mobilní zařízení a
současně vyjasnit interakce mezi různými
technologiemi spojenými s MIDP a CLDC specifikacemi.
Protože ale existuje široká škála hardwarových a
softwarových abilit, nabizí specifikace MSA dvě
možnosti: implementovat predefinovanou podmnožinu MSA
specifikace nebo implementovat celou MSA specifikaci.
MSA kompatibilní zařízení musí implementovat buď vše
nebo jen právě predefinovanou podmnožinu:

  • Podmnožina splňuje požadavky na dnešní běžnou
    míru funkcionality zařízení.
  • Úplná specifikace je zaměřena na vysoce funkční,
    technologicky vyspělá mobilní zařízení.

S tím jak se dnešní vyspělé technologie stávají
zítřejší základní funkcionalitou, tak úplná MSA
specifikace bude dalším běžným základním prostředím
pro většinu mobilních zařízení.

Podmnožina MSA zahrnuje mnoho JSR: 139, 118, 75,
135, 82, 184, 205 a 226. Úplná specifikace MSA
zahrnuje všechny JSR z podmnožiny plus nějaké navíc:
172, 180, 211, 229, 234, 238, 177 a 179. Zatímco
většina JSR je povinných, pár JSR je částečně
povinných protože závisí na zařízení poskytující
hardwarovou implementaci podporující JSR. Navíc MSA
specifikace definuje další upřesnění pro JSR
specifikace, často povinnující části které byly
předtím volitelnými částmi specifikace. Účelem je
vytvořit více předvídatelné prostředí mobilních
zařízení.

MSA diagram

 

Podmnožina MSA

Aby zařízení implementovalo podmnožinu MSA, musí
podporovat CLDC (JSR 139) a MIDP (JSR 118) a stejně
tak JSR 75, 135, 184, 205 a 226. Pokud zařízení
podporuje BlueTooth, musí také podporovat JSR 82.
Navíc musí zařízení podporovat některá upřesnění k
těmto JSR jak je naznačeno ve specifikaci MSA. S
touto množinou specifikací mohou vývojáři vytvořit
široké pole mediálních aplikací které se lehce
integrují s daty v PIM (Personal Information Manager)
zařízení.

V první verzi MSA si operátoři a výrobci mohou
vybrat implementovat podmnožinu MSA jako společnou
základnu pro všechna zařízení, implementující úplnou
MSA specifikaci jen pro telefony s OS nebo jinak
technologicky vyspělé telefony. Jak se zvyšují
schopnosti hardware napříč všemi zařízeními, měla by
úplná specifikace MSA převažovat nad podmnožinou MSA.
Jak úplná tak částečná specifikace MSA mohou být
implementovány pomocí CDC (Connected Limited
Configuration) za předpokladu že tato implementace
vyhovuje specifikaci MSA.

JSR 139: CLDC 1.1 (povinné)

Základní konfigurací MSA je CLDC 1.1. Tato
specifikace je založena na virtuálním stroji
navrženým s ohledem na levná, prostředky omezená
zařízení. Poskytuje základní technologii pro běhové
prostředí a knihovny platformy Java ME a používá se
jako základ pro jeden nebo více profilů, včetně MIDP.
Více informací o CLDC lze nalézt na stránce http://java.sun.com/products/cldc

JSR 118: MIDP 2.1 (povinné)

MIDP poskytuje základní funkcionalitu pro mobilní
aplikace, včetně uživatelského rozhraní, síťového
připojení, lokálního ukládání dat a řízení životního
cyklu aplikace. Je zaměřen na mobilní zařízení jako
bezdrátové telefony nebo PDA. Více informací o MIDP
lze najít na stránce http://java.sun.com/products/midp

JSR 75: Volitelné balíčky PDA pro
platformu Java Micro Edition

JSR 75 specifikuje dva balíčky pro platformu Java
ME, oba dva jsou povinné. Balíček PIM dovoluje
vývojářům přistupovat k datům PIM jako je kalendář,
adresář kontaktů a seznam úloh a poznámek, které lze
najít na většině mobilních zařízení. Balíček File
Connection dovoluje vývojářům přistupovat k datům v
různé podobě jako jsou obrázky, zvuky, videa a další
soubory uložené na systému souborů mobilního
zařízení. To platí i pro vyměnitelná úložná zařízení,
jako jsou paměťové karty podporované daným mobilním
zařízením. Přístup k PIM a datovým souborům umožňuje
aplikacím tesnější integraci s informacemi uloženými
na zařízení a dovoluje vyvíjet inteligentnější
aplikace s použitelnějším rozhraním.

JSR 135: Mobile Media API 1.2
(povinné)

MMAPI umožňuje přístup a ovládání, včetně
přehrávání a nahrávání, k základním audio a
multimediálním zdrojům na mobilních zařízeních.
Výsledkem je mediálně bohatá uživatelská zkušenost a
současně to rozšiřuje platformu o multimédia. MMAPI
je malý, nenáročný balíček který pomáhá vývojářům
získat přístup k nativním službám pro multimédia.
Více informací o MMAPI lze nalézt na http://java.sun.com/products/mmapi

JSR 82: Java API pro BlueTooth 1.1
(částečně povinné)

JSR 82 umožňuje vývojářům vytvořit aplikace
používající technologii BlueTooth, která je široce
používaným standardem pro bezdrátovou komunikaci.
BlueTooth může být použita k výměně souborů, obrázků,
vizitek nebo jiných dat mezi mobilním zařízeními.
Pokud zařízení podporuje BlueTooth, tak musí
podporovat také JSR 82 aby vyvhovovalo specifikaci
MSA.

JSR 184: Mobile 3D Graphics API pro
JME 1.1 (povinné)

Mobile 3D Graphics API specifikace umožňuje použít
sofistikovanou 3D grafiku v nenáročném, interaktivním
prostředí s malým paměťovým otiskem v paměti pro
čtení (ROM) a paměti s náhodným přístupem (RAM). 3D
grafika se používá v různých mobilních aplikacích, od
her až po animované spořiče obrazovky a textování.
JSR 184 může být implentován jak na vyspělých tak i
na méně vyspělých platformách napříč všemi mobilními
zařízeními které lze dnes na trhu nalézt.

JSR 205: Wireless Messaging API 2.0
(povinné)

Wireless Messaging API 2.0 (WMA) je nadmnožinou WMA
1.0 (JSR 120). Dává Java ME vývojářům možnost posílat
a přijímat zprávy přes SMS (Short Message Service),
MMS (Multimedia Messaging Service) a CBS (Cell
Broadcast Service) formáty. Protože textování je
jedním z nejpopulárnějších využití mobilních
zařízení, WMA umožňuje vývojářům začlenit textování i
do jiných aplikací na těchto zařízeních.

JSR 226: Scalable 2D Vector Graphics
API pro JME 1.1 (povinné)

Specifikace Scalable 2D Vector Graphics API (API
pro škálovatelnou vektorovou 2D grafiku) definuje API
pro renderování 2D grafiky dle W3C (World Wide Web
Consortium) SVG Tiny (Scalable Vector Graphics)
formátu. SVG umožňuje vývojářům vytvořit interaktivní
grafický obsah s možností přibližování a změnou
velikosti na obrazovkách s různým rozlišením a
poměrem stran. JSR 226 také definuje podmnožinu uDOM
API (Micro Document Object Model) umožňující
uživateli interagovat a dynamicky manipulovat SVG
obsahem.

V porovnání s rastrovanou grafikou je SVG
škálovatelnější protože umožňuje přibližování bez
ztráty kvality, což je důležitá vlastnost pro
aplikace používající mapy nebo při prohlížení obrázků
na malé obrazovce bezdrátového zařízení. SVG také
umožňuje uživatelům vyhledávat text vložený v
grafice, což činí rozhraní aplikací
interaktivnějšími. Klasickým příkladem je vyhledávání
názvu ulice na mapě. Aplikace které využívají JSR 226
mohou ukládat, načítat, vrstvit, manipulovat a
renderovat 2D grafiku, vytvářející dynamičtější a
bohatější uživatelskou zkušenost.

Pomocí JSR 226 mohou vývojáři využít velkého
množství dostupného SVG obsahu. Protože SVG je
založeno na XML (eXtensible Markup Language), vývojář
se zkušeností se skriptováním může také využít
robustnosti kterou nabízí plně programovatelné
prostředí, jakým je například jazyk Java.

Úplná specifikace MSA

Aby implementace splňovala požadavky úplně
specifikace MSA, musí splňovat požadavky podmnožiny
MSA stejně jako požadavky a upřesnění k JSR. Úplná
specifikace MSA je zaměřena na technologicky vyspělá
mobilní zařízení. Tato specifikace také naznačuje
cestu pro platformu která má být implementována
drtivou většinou mobilních zařízení v blízké
budoucnosti. Následováním MSA specifikace mohou
operátoři a výrobci zařízení vytvořit robustní,
předvídatelnou základní platformu která vývojářům
umožní začlenit pokročilé hardwarové a softwarové
funkce do sofistikovaných, interaktivních aplikací.

JSR 172: JME Web Services
Specification 1.0 (povinné)

JME Web Services Specification dovoluje vývojářům
využít již existujících konceptů a konvencí webových
služeb pro vytváření klientů enterprise služeb.
Obsahuje XML parser, podmnožinu JAXP (Java API for
XML Processing), stejně jako API která umožňují RPC
(Remote Procedure Call) založené na XML (podmnožina
JAX-RPC). Specifikace JME Web Services následuje
konvence a API již existujících specifikací webových
služeb použitých na platformě JSE (Java Standard
Edition) a JEE (Java Enterprise Edition). S JSR 172
mohou vývojáři pozvednout již existující webové
koncepty a obsah a rychle vyvinout a rozšířit webové
služby.

JSR 180: SIP API pro JME 1.0.1
(povinné)

SIP API (Session Initiation Protocol) pro JME JSR
dovoluje vývojářům iniciovat, odpovídat a zpracovávat
SIP požadavky na paměťově omezených zařízeních jako
jsou mobilní telefony. SIP API spoléhají na nižší
vrstvě ležící CLDC Generic Connection Framework a
pracují dle bezpečnostního modelu MSA. SIP aplikace
umožňují instant messaging, hraní, chatování a
presence. Jak se stává IP prostředí v mobilních
zařízeních sofistikovanějším, tak SIP API bude
umožňovat MIDletům využívat zvýšené dostupnosti v
síti, umožňující průběžnou aktualizaci dat v reálném
čase.

JSR 211: Content Handler API 1.0
(povinné)

CHAPI (Content Handler API) umožňuje Java ME
aplikacím volat jiné aplikace které mohou obsluhovat
obsah specifického typu. Příslušná aplikace určená k
obsluze datového typu je založená na AMS (Application
Management System) zařízení. Aplikace mohou samy sebe
registrovat u AMS aby obsloužily různé typy obsahu. S
CHAPI lze vyvinout aplikace které předají obsah a
data na příslušné místo. Například pokud má zpráva
přiložený soubor se zvukem, pak textová aplikace může
použít CHAPI k zavolání audio přehrávače zařízení.

JSR 229: Payment API 1.1.0 (povinné)

Payment API dovoluje Java ME aplikacím vyžadovat a
iniciovat platební operace, jako je třeba platba
vyzváněcích tónů nebo tapet pro mobilní zařízení.
Také definuje syntaxi pro popis poskytovaných dat k
podpoře různých platebních schémat. Toto flexibilní
API podporuje mnoho metod plateb, služby účtované
operátorem, jednorázové platby třetím stranám a
ukládání platebních účtů.

JSR 234: Advanced Multimedia
Supplements 1.0 (povinné)

Advance Multimedia Supplements má za cíl doplnit
MMAPI poksytnutím přístupu k doplňkům které se staly
bežnými na mobilních zařízeních jako jsou foťáky,
kamery, soubory s 3D zvukem, rádia, soubory s obrázky
a nástroje pro zpracování obrázků. JSR 234 umožňuje
vývojářům aplikací přístup k multimediálním
přostředkům zařízení, dovolujícím aplikacím ovládání
multimédií jako například softwarový jukebox rádia.
Ostatní aplikace mohou mohou zahrnovat multimédia
jako třeba textovací aplikace umožňující uživatelům
posílat obrázky z jejich foťáků.

JSR 238: Mobile Internationalization
API 1.0 (povinné)

JSR 238 umožňuje internacionalizaci Java ME
aplikací, čili izolovat lokální zdroje a uplatnit je
za běhu v uživatelsky nebo aplikací zvolených
místních formátech. To umožňuje vývojáři jednoduše
vytvořit vícejazyčnou aplikaci s podporou různých
regionů po celé planetě ve správném jazyce, se
správným formátem času, měn a čísel.

JSR 177: Security and Trust Services
API for JME 1.0 (povinné, částečně povinné,
volitelné)

SATSA (Security and Trust Services API) poskytuje
přístup k bezpečnostním službám pro mobilní zařízení,
včetně bezpečného ukládání určeného k ochraně
citlivých dat, kryptografické operace podporující
platební transakce a integritu dat a bezpečné
prostředí pro vykonávání uzpůsobených bezpečnostních
nastavení. Vývojáři mohou využít těchto služeb k
podpoře široké škály aplikací, od bankovnictví a
platebních operací až po identifikaci a autentifikaci
uživatele.

SATSA sestává ze čtyř balíčků:

  • SATSA-CRYPTO (povinný) k podpoře
    kryptografických operací jako je message digest,
    ověření pravosti podpisu a enkrypce nebo dekrypce
  • SATSA-APDU (částečně povinný) pro komunikaci se
    smart card aplikacemi
  • SATSA-PKI (částečně povinný) k podpoře
    digitálních podpisů
  • SATSA-JCRMI (volitelný) k podpoře vzdáleného
    volání Java Card zařízení

Kromě bezpečnostního modelu zahrnutého v Java ME
aplikacích SATSA dovoluje vývojářům jednoduše
implementovat bezpečnostní služby které podporují
identifikaci uživatele, integritu dat a platební
operace. Tyto služby obsahují správu práv a commerce
na mobilních zařízeních, potenciálně vytvářející nové
obchodní modely.

JSR 179: Location API for JME 1.0.1
(částečně povinné)

JSR 179 umožňuje Java ME zařízením určit jejich
fyzické umístění a tudíž i tvorbu aplikací na této
bázi. Příklady zahrnují aplikace využívající mapy,
textovací aplikace s presence a aplikace pro lovce
pokladů.