1 / 33

Mobil Rendszerek Programozása

Mobil Rendszerek Programozása. Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu. A J2ME architektúrája. Tartalom. A Java család A J2ME architektúrája Konfigurációk Profilok Opcionális csomagok. A Java család. A Java ME célja.

Download Presentation

Mobil Rendszerek Programozása

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobil Rendszerek Programozása Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu A J2ME architektúrája

  2. Tartalom • A Java család • A J2ME architektúrája • Konfigurációk • Profilok • Opcionális csomagok

  3. A Java család

  4. A Java ME célja • Lehetővé tegye a Java alkalmazások futtatását hordozható eszközökön, figyelembe véve azok korlátozó tényezőit: • Korlátozott kijelző méret • Memória • Teljesítmény • Akkumulátor • Kompatibilitás a Java SE-vel

  5. J2ME komponensei • Különböző képességű eszközök memória, feldolgozási idő, hardver, megjelenítés szempontjából • Konfigurációk: • meghatározzák egy készülékcsoport legalapvetőbb közös tulajdonságait • Profilok: • magasabb szintű csoportosítást tesznek lehetővé a konfigurációkon felül • Opcionális csomagok: • a készülékek egyedi, speciális funkciói számára

  6. J2ME Profil Vertikális eszközcsoport (pl. telefonok) Konfiguráció Horizontális eszközcsoport, hasonló teljesítménybeli tulajdonságok, megszorítások

  7. A J2ME magasszintű architektúrája

  8. Konfigurációk

  9. Konfigurációk • Meghatározza azokat a minimális JVM funkciókat és osztálykönyvtárakat, amelyek elérhetők egy bizonyos eszköz kategória számára • A felhasználók által kevésbé láthatók • A „legkisebb közös nevező” a Java platform szolgáltatásaira és osztályaira nézve • A profil fejlesztők a konfigurációra építenek

  10. Konfigurációk Egy konfiguráció komponensei: • Virtuális gép • Teljes JVM, vagy annak egy része • Alapvető osztálykönyvtárak gyűjteménye • Biztosítják az egy kategóriába tartozó eszközök számára az alapfunkcionalitásokat (pl. memóriakezelés, hálózati kapcsolat)

  11. Konfigurációk • CDC és CLDC esetén többnyire a J2SE API részhalmazai, J2ME bővítményekkel • A konfigurációk nagyon alacsony szintű API-t biztosítanak • Nincs UI elérés • Az alkalmazások életciklusát (betöltés, aktiválás) nem felügyelik

  12. J2ME konfigurációk alap jellemzői • CLDC(Connected Limited DeviceConfiguration) • Kis és középkategóriás PDA-k, mobiltelefonok, személyhívók, stb. számára • Szigorú memória korlátok • Erősen megcsonkított virtuális gép és osztálykönyvtár • CDC(ConnectedDeviceConfiguration) • „High end” PDA-k és telefonok, beltéri egységek, egyéb beágyazott rendszerek számára • Teljes JVM specifikáció támogatása • A Java SE kevesebb memóriával rendelkező készülékekre optimalizált változata

  13. J2SE, CDC, CLDC viszonya

  14. CDC és CLDC

  15. A CLDC konfiguráció • Szigorú memóriakorlátokhoz való igazodás • A virtuális gép és az osztálykönyvtárak terén megszorítások (KVM virtuális gép, megszüntetett jellemzők) • Szabványosítja a Java alkalmazások fejlesztését a korlátozott erőforrásokkal rendelkező eszközökön • „SmallFootprint” • Alkalmazások fejlesztésére fókuszál • Alkalmazások dinamikus letöltésének biztosítása

  16. A CLDC konfiguráció Kilo(byte) Virtual Machine: • Tipikusan 16-32bites processzorok számára • Minimális memóriaigény • Erősen csonkított JVM • Célja: „Minél gyorsabb, minél egyszerűbb, minél kisebb”

  17. A CLDC konfiguráció A CLDC biztosítja: • Virtuális gép • Java alapkönyvtárak (java.lang.*, java.util.*) • Input / Output • Hálózat elérés • Biztonság • Nemzetközi funkciók biztosítása

  18. A CLDC konfiguráció A CLDC NEM biztosítja: • Alkalmzás életciklus menedzselése (telepítés, betöltés, törlés) • Felhasználói felület • Eseménykezelés • High-level application model (the interaction between the user and the application) • Ezeket a PROFILOK biztosítják!

  19. CLDC biztonság • Alacsonyszintű (VM) biztonság class-file verification segítségével • Minden metódus ellenőrzésre kerül, pl. egy szerveren a készülékre töltés előtt • Stack map attribútummal látja el az osztály metódusait, ez kb. 5% többlet méretet eredményez • Alkalmazás szintű biztonság • „sandbox” modell • Rendszer osztályok védelme • Dynamic class loading korlátozás (csak a saját jar fájlból)

  20. A CLDC-ben megszüntetett JVM jellemzők • Lebegőpontos számábrázolás (float double) • Reflexió • Felhasználó által definiált osztálybetöltő • Thread csoportok, daemon-threadek • Finalization metódus • Aszinkron kivételkezelés • Szűkített Error osztálykészlet

  21. CLDC 1.0 konfiguráció Minimális hardver követelmények: • Minimum 192k memória • Min. 160k nem felejtő memória: KVM, CLDC library-k • Min. 32k felejtő memória: KVM • 16, vagy 32 bites processzor • Alacsony energiafogyasztás (akkumulátor) • Hálózati kapcsolat

  22. CLDC 1.1 újításai • Lebegőpontos támogatás • Float, double • Újratervezett osztályok • Calendar, Date, TimeZone • Hibajavítások • Weakreference osztályok • 160 kb => 192 kb

  23. Profilok

  24. Profilok alap jellemzői • A konfigurációknál magasabb szintű API • A konfigurációkra épülnek, azokat bővítik • Alkalmazás életciklus modell • Felhasználói interfész • Tárolók támogatása • Hálózati technológia támogatása • Stb. • A profilok egymásra rétegezhetők • A profil(ok) a konfigurációval együttesen alkotja(ák) a J2ME futtató környezetet (JRE)

  25. Profilok - CLDC • Mobile Information Device Profile (MIDP) • Hálózat, UI, Local Storage • A legnépszerűbb profil • Wireless Java alapja • PDA Profile (PDAP) • PDA-k számára készített profil

  26. Profilok - CDC • Foundation Profile • Java 2 1.3 kiterjesztése a CDC számára • Más profilokhoz alapként használható • Personal Basis Profile • Alapvető UI funkciókkal való bővítés • A Personal Profile nem biztosítja a több ablakos, komplex UI elemeket • Personal Profile • Komplex, egyedi UI-k számára • RMI Profile • Game profile

  27. MIDP Minimális hardver követelmények: • Megjelenítés • 96x54, ff, 1:1 arányú pixelméret • •Adatbevitel • Egy-vagy kétkezes billentyűzet, touchscreen • •Memória • 256k nem felejtő(a CLDC-n felül) • 8k nem felejtő az alkalmazások számára • 128k felejtő memória a Java runtime számára (heap) • Hálózat • Kétirányú, vezeték nélküli, korlátozott sávszélesség • Hang lejátszása

  28. MIDP Minimális szoftver követelmények: • Minimális kernel támogatás • Megszakítások kezelése, ütemezés • Nem felejtő memória elérése (Record Management System API) • Hálózati funkciók (Networking API) • Időmérés (Timer API) • Képernyőelérése • Input eszköz elérése • MIDlet életciklus támogatása

  29. MIDP 2.0 újdonságai • SecureNetworking • HTTPS, SSL • Multimédia – Hang visszajátszás, hang képzés (Mobile Media API részhalmaza) • Game API • Layer-ek, Sprite-ok • RGB • Jogosultságok kezelése • Trusted/untrustedcode, codesigning, certificate-ek

  30. Opcionális csomagok

  31. Opcionális csomagok • További bővítések a futtatókörnyezet számára, különféle igényeket elégítenek ki, pl.: • Adatbázis kapcsolat • Grafika • Kommunikációs technológiák • Lehet konfiguráció független (CDC és CLDC támogatás is) vagy konfiguráció függő

  32. Néhány opcionális csomag • Mobile Media API (MMAPI) (JSR-135) • Location API for J2ME (JSR-179) • SIP API forJ2ME (JSR-180) • Wireless Messaging API (WMA) (JSR-120, JSR-205) • Securityand Trust Services API for J2ME (JSR-177) • Mobile 3D Graphics API for J2ME (JSR-184) • Java API for Bluetooth (JSR-82) • J2ME Web Services (JSR-172)

  33. A J2ME architektúrája

More Related