Mobile Computing
Betriebssysteme und
Entwicklungsumgebungen
Hauptseminarvortrag 12. Juni 2002
Vortragende Gabi Frings
Betreuer Dr. Jürgen Nützel
Gliederung
• Definition
• Schichten-Architektur
– (Mobile) Kommunikationskanäle
– (Mobile) Hardware
– (Mobile) Betriebssysteme
– (Mobile) Entwicklungsumgebungen
Beispiel J2ME
Kontrast: .NET
• Zusammenfassung
• Ausblick
Gliederung 1
Definition
Mobile Computing:
portabel + mobil + vernetzt
Nomadic Computing:
portabel + mobil | räumlich begrenzt, evtl. vernetzt
Ubiquitious Computing:
Nomadic + Mobile Computing
Definition 2
Schichten - Architektur
Mobile Anwendung (Client)
Telefonie, WAP Browser, SMS, Java MIDlet, ...
Java VM
Mobile Betriebssysteme
Symbian EPOC, PalmOS, Microsoft CE, Embedded Linux, ...
Mobile Hardware
Mobile Phone, Smart Phone, Tablet, Personal Digital Assistent, Subnotebook, ...
Mobile Kommunikationskanäle
GSM, GPRS, EDGE, UMTS, Bluetooth, IrDA, WLAN
Schichten-Architektur 3
Kommunikationskanäle
Generation Übertragungs-Technologie Verbreitung
1G (analog) AMPS Advanced Mobile Phone Service USA
2G (digital) CDMA Code Division Multiple Access USA
TDMA Time Division Multiple Access USA
GSM Global System for Mobile Communications Japan, Europa
2.5G
cdma2000 (1X), GPRS/EDGE, ... USA, Europa
(digital)
3G (digital) CDMA2000 Breitband CDMA USA
Japan, Europa,
W-CDMA Wideband CDMA
USA
- (Mobile) Kommunikationskanäle 4
Hardware - Referenzdesigns
Handset PDA PC
(Pearl, (Quartz, (Crystal,
Smartphone) Pocket PC) Handheld PC)
sprachzentriert informationszentriert informationszentriert
tastaturbasiert stiftbasiert tastaturbasiert
• Eingabe
• Verarbeitung
Rahmenbedingungen bzgl.
• Ausgabe
• Netzwerk
- (Mobile) Hardware 5
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) Hardware 6
(Mobile) Betriebssysteme
• Palm OS • Windows CE
– bekannt – Namensverwirrung
– auf 1 Referenzdesign – abnehmende Unterstützung
beschränkt (PDA) vieler Referenzdesigns
– Kompatibilität der Palm- – einheitliches „Look & Feel“
Programme gesichert => Microsoft Mobile Software
• Symbian EPOC • Embedded Linux
– Vom „Erfinder“ des PDA – Compaq sponsort Forum
– Joint-Venture: Psion, => Kernel von handhelds.org
Siemens, Nokia, Motorola, – viele Distributionen mit GUI
Sony Ericsson, Panasonic ( FLTK, Qt )
- (Mobile) Betriebssysteme 7
Entwicklungsansätze
• Native Code • Browser Based
(GNU-PRC-Tools, .NET, OPL) – geringere Komplexität
– umfangreichere Funktionalität – standardisiert
– portabel
– Off-line verwendbar
• Java
(VAME, WABA, J2ME)
– vereint Vorteile
– langsam ?
– Ressourcen ?
- (Mobile) Entwicklungsumgebungen 8
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
- (Mobile) Entwicklungsumgebungen 9
Beispiel J2ME
• Voraussetzungen:
– J2SE SDK Version 1.3.0 oder
J2RE Version 1.3.0
– J2ME Wireless Toolkit
– Editor
-- Beispiel J2ME 10
1 import javax.microedition.lcdui.*;
2 import javax.microedition.midlet.*;
3 public class HelloMIDlet
4 extends MIDlet
5 implements CommandListener {
6 private Form mMainForm;
7 public HelloMIDlet() {
8 mMainForm = new Form("HelloMIDlet");
9 mMainForm.append(new StringItem(null, "Hello, MIDP!"));
10 mMainForm.addCommand(new Command("Exit", Command.EXIT, 0));
11 mMainForm.setCommandListener(this);
12 }
13 public void startApp() {
14 Display.getDisplay(this).setCurrent(mMainForm);
15 }
16 public void pauseApp() {}
17 public void destroyApp(boolean unconditional) {}
18 public void commandAction(Command c, Displayable s) {
19 notifyDestroyed();
20 }
21 }
-- Beispiel J2ME 11
Vorgehensweise
• Am Entwicklungsrechner
– Codieren
.java
– Compilieren build
.class
– Preverifizieren
.class*
– Emulieren
package
– Packen
.jar
• Auf dem Zielgerät
– Download
– Verifizieren zur Laufzeit
– Ausführen
-- Beispiel J2ME 12
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
-- Kontrast .NET 13
Zusammenfassung
PalmOS 43 %
• Unterschiedliche Anwendungsszenarien Windows CE 28 %
Symbian 14 %
• breites Spektrum mobiler Geräte
Rest 15 %
• Vielfalt an Betriebssystemen
• plattformunabhängige Entwicklung
– J2ME
– .NET ?
Zusammenfassung 14
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 ?
Ausblick 15