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ů.