Mobile Computing Betriebssysteme und Entwicklungsumgebungen 12. Juni 2002 Gabi Frings Dr. Jürgen Nützel Hauptseminarvortrag Vortragende Betreuer
Gliederung1 Definition Schichten-Architektur –(Mobile) Kommunikationskanäle –(Mobile) Hardware –(Mobile) Betriebssysteme –(Mobile) Entwicklungsumgebungen Beispiel J2ME Kontrast:.NET Zusammenfassung Ausblick
Definition2 Mobile Computing: portabel + mobil + vernetzt Nomadic Computing: portabel + mobil | räumlich begrenzt, evtl. vernetzt Ubiquitious Computing: Nomadic + Mobile Computing
Schichten-Architektur3 Mobile Hardware Mobile Phone, Smart Phone, Tablet, Personal Digital Assistent, Subnotebook,... Mobile Betriebssysteme Symbian EPOC, PalmOS, Microsoft CE, Embedded Linux,... Mobile Anwendung (Client) Telefonie, WAP Browser, SMS, Java MIDlet,... Java VM Mobile Kommunikationskanäle GSM, GPRS, EDGE, UMTS, Bluetooth, IrDA, WLAN
- (Mobile) Kommunikationskanäle4 Kommunikationskanäle GenerationÜbertragungs-TechnologieVerbreitung 1G (analog)AMPS Advanced Mobile Phone ServiceUSA 2G (digital) CDMA Code Division Multiple AccessUSA TDMA Time Division Multiple AccessUSA GSM Global System for Mobile CommunicationsJapan, Europa 2.5G (digital) cdma2000 (1X), GPRS/EDGE,...USA, Europa 3G (digital) CDMA2000 Breitband CDMAUSA W-CDMA Wideband CDMA Japan, Europa, USA
- (Mobile) Hardware5 Hardware - Referenzdesigns Eingabe Verarbeitung Ausgabe Netzwerk PDAHandsetPC Rahmenbedingungen bzgl. (Pearl, Smartphone) sprachzentriert tastaturbasiert (Quartz, Pocket PC) informationszentriert stiftbasiert (Crystal, Handheld PC) informationszentriert tastaturbasiert
- (Mobile) Hardware6 Hardware morgen Mobile Geräte von morgen: –Anoto Pen, Cross Pad –Networked Surfaces –Intra-Body Kommunikation –See-through Displays –Innovative Geräte –Vernetztes Heim –Wearables
- (Mobile) Betriebssysteme7 (Mobile) Betriebssysteme Palm OS –bekannt –auf 1 Referenzdesign beschränkt (PDA) –Kompatibilität der Palm- Programme gesichert Windows CE –Namensverwirrung –abnehmende Unterstützung vieler Referenzdesigns –einheitliches Look & Feel => Microsoft Mobile Software Symbian EPOC –Vom Erfinder des PDA –Joint-Venture: Psion, Siemens, Nokia, Motorola, Sony Ericsson, Panasonic Embedded Linux –Compaq sponsort Forum => Kernel von handhelds.org –viele Distributionen mit GUI ( FLTK, Qt )
- (Mobile) Entwicklungsumgebungen8 Entwicklungsansätze Native Code (GNU-PRC-Tools,.NET, OPL) –umfangreichere Funktionalität –Off-line verwendbar Browser Based –geringere Komplexität –standardisiert –portabel Java (VAME, WABA, J2ME) –vereint Vorteile –langsam ? –Ressourcen ?
- (Mobile) Entwicklungsumgebungen9 Java 2 Plattform Java 2 Enterprise Edition (J2EE) –für Server und Unternehmen –HotSpot VM Java 2 Standard Edition (J2SE) –für Desktop und PC –Java VM Java 2 Micro Edition (J2ME) –??? Java Card APIs –für Smartcards –Card VM
-- Beispiel J2ME10 Beispiel J2ME Voraussetzungen: –J2SE SDK Version oder J2RE Version –J2ME Wireless Toolkit –Editor
-- Beispiel J2ME11 import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HelloMIDlet extends MIDlet implements CommandListener { private Form mMainForm; public HelloMIDlet() { mMainForm = new Form("HelloMIDlet"); mMainForm.append(new StringItem(null, "Hello, MIDP!")); mMainForm.addCommand(new Command("Exit", Command.EXIT, 0)); mMainForm.setCommandListener(this); } public void startApp() { Display.getDisplay(this).setCurrent(mMainForm); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable s) { notifyDestroyed(); }
-- Beispiel J2ME12 Vorgehensweise build.class.class*.jar.java package –Compilieren –Preverifizieren –Emulieren –Packen Auf dem Zielgerät –Download –Verifizieren zur Laufzeit –Ausführen Am Entwicklungsrechner –Codieren
-- Kontrast.NET13 Kontrast.NET Was ist.NET? –Plattform zur Entwicklung von Internet-Anwendungen Bestandteile –Framework und Tools –Building Block Services –Enterprise Servers –Devices Add-Ons –.NET Compact Framework –Smart Device Extensions
Zusammenfassung14 Zusammenfassung Unterschiedliche Anwendungsszenarien breites Spektrum mobiler Geräte Vielfalt an Betriebssystemen plattformunabhängige Entwicklung –J2ME –.NET ? Windows CE 28 % PalmOS 43 % Rest 15 % Symbian 14 %
Ausblick15 Ausblick Der Weg in die Zukunft Kommunikationskanäle –Brauchen wir UMTS überhaupt ? Hardware –Sind Wearables die Armbanduhr der Computer-Entwicklung ? Betriebssysteme –Welche Chancen hat Embedded Linux ? Anwendungsentwicklung –MS.NET oder Java ?