smartphones - ms activesync ... kommunikationsschnittstellen: irda, bluetooth, seriell, wlan ......

55
1 Web(Site)-Engineering Smartphones Alexander Zinchenko 13.12.2005

Upload: hoangnhi

Post on 11-Mar-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

1

Web(Site)-Engineering

Smartphones

Alexander Zinchenko 13.12.2005

Page 2: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

2

Smartphones

■ Gliederung 1. Endgeräte 2. Betriebssysteme 3. Anwendungen 4. Trends 5. Konnektivität 6. Mobile Security 7. Web-Site Engineering 8. Anwendungs-Engineering

- 8.1 Entwicklungsoptionen- 8.2 J2ME

9. Ausblick

Page 3: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

3

Endgeräte Smartphones1 Endgeräte1.1 Geschichtliche Entwicklung: von PDA zum Smartphone

- Mobilität gewinnt Ende 90-er immer mehr an Bedeutung- Unterstützt durch technologische Fortschritte

Page 4: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

4

Endgeräte Smartphones

■ PDA (Personal Digital Assistent): handgroße Geräte mit Display QWERTZ-Tastatur oder Touchscreen Stellen viele Organizer- und PIM-Funktionalitäten zur Verfügung Schnittstellen zur Anbindung an andere mobile/stationäre

Geräte (IR,WLAN, BT)

Erste PDAs bereits 1985 (HP95LX von HP) Ende 90-er immer leistungsstärkere PDAs Trotzdem ehe geringe Verbreitung wegen hoher Preise und

grösstenteils Business-Funktionalitäten

Page 5: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

5

Endgeräte Smartphones

■ Handy-Boom Ende 90-er sinkende Gerätekosten Subventionen von Mobilfunkanbietern➔ grosse Beliebtheit im Consumer-Bereich

Ende 90-er: leistungsschwache Geräte, ermöglichen Gespräche und primitive

Datenübertragungsfunktionen

Ab 2000: neue leistungsstärkere Generationen von Handys bieten neue Kommunikations- und Datenaustausch Features an Java Unterstützung auf CLDC/MIDP Basis

Page 6: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

6

Endgeräte Smartphones

➔ Vereinigung der beiden Gerätetypen zum „smart device“ 2001: Ericsson stellt eines der ersten Smartphones mit Betriebssystem Symbian vor

■ Smartphones: „schlaues Telefon", auch PDA-Phone vereint Leistungsumfang eines PDAs mit einem

Mobiltelefon weitere „smarte“ Funktionalitäten:

- integrierte Camera- MP3 Player, Radio - TV-Tuner- GPS-System

Page 7: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

7

Endgeräte Smartphones1.2 Smartphones■ Wichtigste Merkmale:

Funktionsumfang des BS per Software erweiterbar (1) Konnektivität, diverse Schnittstellen (2) PIM, Organizer und Office Funktionen Grosses Display Effizientere Bedienung durch QWERTZ-Tastatur oder

Touchscreen■ Problem: Abgrenzung von „Smart-Handys“

zunehmend leistungsstärkere Handys mit „Smartphone“-Charakter

Geräte unterschiedlicher Hersteller tendieren oft stärker zu Handy als zu PDA (z.B. Motorola MPX 220)

➔ Merkmale (1) und (2) als Abgrenzungskriterien

Page 8: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

8

Endgeräte Smartphones

■ Hardware Ausstattung

Prozessor OMAP 150 MHz dual core RAM, intern, extern 64 MB, 80MB, MMC-cards Display 640 x 200 Pixel (65k Farben) Außen-Display 128 x 128 Pixel (65k Farben) Schnittstellen WLAN, Bluetooth, Infrarot, USB

2.0, Pop-Port GPRS 236,8 kbit/s (53,6kbit/s in DE) Betriebssystem Symbian OS 7.0S Software Büro-Programme, Opera Browser,

Mail-Client, … Sonstige Features QWERTZ-Tastatur,

HTML,xHTML, Java-Script, Flash 5, IP4/IP6, IMAP4 Camera, MM-Player

Prozessor OMAP (204 MHz) RAM, intern, extern 32MB, 32 MB, SD-cards Display 176 x 220 Pixel (65k Farben) Außen-Display 96 x 64 Pixel (4096 Farben) Schnittstellen Bluetooth, Infrarot, USB GPRS 53,6 kbit/s Betriebssystem Smartphone 2003 SE Software Media Player, Pocket Outlook,

Pocket Internet Explorer, MSN Messenger, MS ActiveSync

Sonstige Features 1.2M Camera, MM-Player, Keypad

Motorola MPx220

Nokia 9500Communicator

Page 9: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

9

Betriebssysteme Smartphones2 Betriebssysteme

2.1 Symbian OS Zusammenschluss der wichtigsten Mobiltelefonhersteller

- Nokia, Siemens, Sony Ericsson, Samsung Betriebssystem für Smartphones der beteiligten Unternehmen Aktuelle Version: SymbianOS v9.x

Features: präemptives Multitasking, Multithreading, Speicherschutz PIM, Messaging, HTTP-, WAP-Browser Java MIDP 2.0 and CLDC Communication services Connectivity services

Page 10: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

10

Betriebssysteme Smartphones■ SymbianOS: Nokia Communicator 9500, Verwaltung

■ SymbianOS: Nokia Communicator 9500, Mail Client

Page 11: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

11

Betriebssysteme Smartphones

2.2 Windows CE (Pocket PC, Windows Smartphone)■ Frühere Versionen: Hardware-Abhängigkeiten

(besonders bzgl. CPU-Typen)■ Seit Pocket PC Version 2002: nur noch ARM-CPUs unterstützt■ Windows CE .NET(2003): Ausführung von verwalteten Programmen weitgehend systemunabhängig■ Aktuelle Version: Windows Mobile 5.0

■ Softwareangebot wächst rapide■ Unterstützung der Software-Entwicklung durch .NET Development

Kits und Emulatoren

Page 12: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

12

Betriebssysteme Smartphones■ Features:

Menüführung ähnlich Desktop-Windows leistungsfähigere Handschrifterkennung präemptives Multithreading, Semaphore, priorisierte Interrupts Pocket Office Anwendungen: Word, Excel, Organizer, ...

Page 13: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

13

Betriebssysteme Smartphones

2.3 PalmOS Zu PDA Zeiten sehr erfolgreiches Handheld-Betriebssystem im Jahr 2000 waren 70 % aller PDAs PalmOS-basiert derzeit immer mehr durch Windows Mobile verdrängt

■ Features: zahlreiche Organizer-Funktionen und Kommunikationsdienste Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN Verwaltung von Ressourcen und Energieverwaltung Bedienung per Stift, führt Handschrifterkennung ein Verwalten der Daten im batterie-gepufferten Speicher kooperatives Multithreading, Semaphore, priorisierte Interrupts Multitasking erst in der neusten PalmOS 6 Vielfalt an vorhandener Software(Freeware) für jeden Zweck

Page 14: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

14

Betriebssysteme Smartphones

■ PalmOS

Page 15: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

15

Anwendungen Smartphones

3 Anwendungen Wireless e-mail, Internet, Web browsing, fax Personal information management (PIM) Online banking LAN connectivity Handschrifterkennung Datenübertragung zwischen mobile/static devices Remote control Unified messaging Always-On-Funktionalität: push services für Mails LBS (location based services) Kontextsensitive Dienste

Page 16: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

16

Anwendungen Smartphones

■ Weitere Beispiele: Remote Datenbankzugriff Remote CRM Wbm-learning

NewsReaderSmallServ: a simple http server for Symbian OS

http://www.symbian.com/developer/techlib/staffapps_cpp.html

Page 17: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

17

Trends Smartphones

4 Trends

■ Evolution von Handys zu Smartphones Leistungsfähigere Hardware Ausstattung Steigende Anzahl von Zusatzfunktionen und Features

■ Evolution von PDAs zu Smartphones Bereits durch Palm angekündigt Umstieg auf Windows Mobile

Page 18: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

18

Konnektivität Smartphones5 Konnektivität5.1 Mobilfunktechnologien■ alle Smartphones verfügen über die Möglichkeit Daten über

Mobilfunknetze zu übertragen

■ 2G Geräte (Handys): Datenübertragung mittels CSD(Circuit Switching Data) langsam(ca. 9,6 kbps) leitungsvermittelt: teuer sowohl für Netzbetreiber als auch für

Kunden

■ 2,5G Geräte: Erweiterung von 2G um schnellere Datenübertragungen mittels

✔ HCSD: durch Kanalbündelung 14,4 kbit/s bis zu 57,6 kbit/s✔ GPRS(General Packet Radio Service): paketorientierte

Datenübertragungsmethode bis zu 53,6 kbit/s

Page 19: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

19

Konnektivität Smartphones

■ 3G Geräte: hohe Datenraten durch UMTS-Netze Übertragungsrate geschwindigkeitsabhängig: zwischen 144kbps

und 2Mbps UMTS ermöglicht auf mobilen Geräten Multimedia-

Anwendungen, Downloads, Videokonferenzen uvm. gleichzeitige Einbuchung der UMTS-Geräte in mehreren Zellen

- zuverlässigere Verbindungen- schnelleres Handover- effizientere Auslastung und Resourcenverwaltung der

Zellen

Page 20: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

20

Konnektivität Smartphones

5.2 Gerätespezifische optionale Schnittstellen

■ IrDA: Punkt-zu-Punkt-Übertragung von Daten durch Infrarotlicht

zwischen eng zusammenliegenden Geräten Entfernung: ca. 1-2 m (Einfallswinkel unter 30° !!!) Übertragungsrate: 115 kbps

➔ Umständlich, ineffizient, veraltet➔ Neue Standards in Entwicklung

■ WLAN: noch bei wenigen Smartphones angeboten Ermöglicht flexible Bildung von ad-hoc und Infrastrukturnetzen

Page 21: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

21

Konnektivität Smartphones■ Bluetooth:

zur drahtlosen Anbindung von Peripherie und mobilen Geräten eingesetzt

Synchrone und asynchrone Übertragungsmodi bis zu 751 kbps Reichweite: 1 – 100m (offiziell) Bluetooth 2.0: EDR (Enhanced Data Rate) Erweiterung:

Durchsatz bis zu 2.2Mbps

■ Probleme: bis jetzt verschiedene Schnittstellentechnologien technologieabhängige Softwareentwicklung keine transparente Konnektivität

Page 22: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

22

Konnektivität Smartphones5.3 Trends■ Mobilfunk 4G

Konvergenz von derzeit getrennten Diensten, Netztypen, Übertragungstechnologien

Konvergenz zwischen Mobilfunk und Festnetz, inklusive VoIP➔ hybride Netzwerke

nahtloser Wechsel zwischen unterschiedlichen Netztypen Nicht das Netz, sondern die Dienstleistungen stehen im

Mittelpunkt hohe Bandbreiten und niedrige Betriebskosten Technologieunabhängige Applikationsplattform Userzentrierte Entwicklung von Anwendungen und

Technologien

Page 23: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

23

Konnektivität Smartphones

■ Konvergenz der Kommunikationstechnologien

Page 24: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

24

Mobile Security Smartphones

6 Mobile Security

Noch vor wenigen Jahren waren mobile Geräte von Bedrohungen kaum betroffen

Aktuell gewinnt die Betrachtung der mobilen Security immer mehr an Bedeutung, wegen

- enormer Verbreitung von mobilen Geräten- stark gestiegener Konnektivität der Geräte- sinkender Online-Kosten (erste Flatrates)

Erste Bedrohungen und Angriffsmöglichkeiten:- Sicherheitslücken in Schnittstellentechnologien (Bluetooth)- Privacy Problematiken ( Push-Dienste, Lokationsbestimmung)- Viren und Trojaner für Smartphones

Page 25: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

25

Mobile Security Smartphones

6.1 Beispiele: Viren und Trojaner:

Wurm Cabir (SymbianOS): Verbreitet sich über Bluetooth Sucht nach neuen Targets in Bluetooth Umgebung Startet automatisch mit SymbianOS Zerstört keine Daten

Trojaner MetalGier (SymbianOS): Fake Version von Spiel Metal Gier Solid Deaktiviert mögliche Antivirenprogramme und installiert Cabir-Wurm Deaktiviert Handset’s Menü button

Page 26: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

26

Mobile Security SmartphonesTrojaner Skull.D (SymbianOS): gibt sich als neue Version von Flash Player deaktiviert Anwendungen, installiert Cabir und informiert

Benutzer über sich überschreibt alle existierenden Anwendungen

Trojaner Gavno (SymbianOS): gibt sich als wichtiger patch aus sabotiert Kernfunktionen des Smartphones: Telefonie, SMS, Mail

6.2 Trends verbesserte Sicherheitsmechanismen der

Kommunikationstechnologien erste Antiviren-Software für Smartphones (F-Secure) Entwicklung der Viren auch für andere BS

Page 27: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

27

Web-Site Engineering für Smartphones

7 Web-Site Engineering für Smartphones

■ WAP: Initiiert durch WAP-Forum in der Zeit der 2G

Kommunikationstechnik für effiziente Übertragung und Darstellung einfacher Inhalte auf

leistungsschwachen mobilen (2G) Geräten inzwischen überholt wegen modernerer Technologien (UMTS,

3G-Smartphones)

■ HTML/xHTML/XML

Page 28: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

28

Web-Site Engineering für Smartphones7.1 Wireless Application Protocol (WAP)■ Vorteile:

offene Protokoll-Architektur angepasst für mobile Geräte Integration und Erweiterung von vorhandenen Standards Interoperabilität zwischen Endgeräten unterschiedlicher

Hersteller und Basisdiensten der verschiedenen Mobilfunkstandards

ermöglicht effizienten Zugriff auf WML programmierte Seiten effiziente Datenkodierung reduziert Kommunikationsaufwand

■ Nachteile: Web-Seiten müssen mit WML (Wireless Markup Language)

programmiert werden geeignet nur für Darstellung von einfachen Texten und Bildern

Page 29: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

29

Web-Site Engineering für Smartphones■ WML:

basiert auf XML mit speziellen Elementen für die drahtlose Übertragung

WML-Seite wird als "Deck" bezeichnet unterteilt in "Cards" (die auf Display angezeigt werden)

Page 30: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

30

Web-Site Engineering für Smartphones

7.2 HTML/xHTML/XML

■ Ziel: Interoperable Darstellung von multimedialen Internetinhalten auf mobilen und stationären Geräten

■ Wurde möglich durch: höhere Übertragungsraten in 2,5G und 3G

Kommunikationsnetzen leistungsfähigere Endgeräte hochauflösende Displays

➔ Spätestens ab 4G-Kommunikationssystemen wird WAP vollständig vedrängt

Page 31: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

31

Web-Site Engineering für Smartphones

Clientseitige Herausforderungen:

■ Mobile xHTML/XML Browser notwendig Wichtigste Aufgabe: Seiteninhalte parsen und auf die

verfügbare Displaygrösse angepassen Verantwortlich für die Wahl der passenden Darstellung (Style Sheet)

■ Vorreiter: Opera Browser for Mobile Small-Screen Rendering Technology: verändert Geometrie der

Seite Opera Mobile Accelerator: eliminiert unnötige Inhalte vor dem

Download Probleme mit der Darstellung von Skripten und Frames

Page 32: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

32

Web-Site Engineering für Smartphones

Serverseitige Herausforderungen:

■ In Richtung 4G: Möglichst xml für Web-Site Engineering verwenden Trennung von Inhalt, Struktur und Darstellung Unterschiedliche Darstellungen anbieten Eigenschaften von Client-Geräten berücksichtigen:

- JPEG-2000 Bilder: geeignete Version des Bildes anbieten- Animationen durch statische Elemente ersetzen

Page 33: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

33

Web-Site Engineering für Smartphones7.3 Vorschläge für interoperables WebSite-Engineering (Opera Developer’s Corner)

1. Web-Seiten mit mehreren Views: media dependent CSS

- View für einen Media-Typ effizient entwerfen - Views für andere Media-Typen ergeben sich durch

Anpassung von wenigen Zeilen

<!-- This stylesheet will be displayed by all --><link rel="stylesheet" href="all.css">

<!-- This stylesheet will only be displayed on PC screens --><link rel="stylesheet" href="desktop.css" media="screen">

<!-- This stylesheet will only be used for printing --><link rel="stylesheet" href="printout.css" media="print">

<!-- This stylesheet will be used by devices --><link rel="stylesheet" href="phone.css" media="handheld">

Page 34: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

34

2. Document order überlegt wählen: wichtige Elemente am Anfang zusätzliche Elemente(z.B. Navigationssektionen) am Ende

- können schnell übersprungen werden- benutzt von Operas Small-Screen Rendering Technologie

3. Kompakten Code begünstigen: Rule Of Thumb: so wenig Markups wie möglich, so viel wie

nötig Ersetze alle font tags mit CSS Klassen (Vorteil: Semantic

Meaning)

Links auf externe Dateien statt Einbettung von scripts/stylesheets

Web-Site Engineering für Smartphones

<h3>A Headline</h3> statt<p><font size="+2" face="Helvetica"><b>A Headline</b></font></p>

Page 35: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

35

Web-Site Engineering für Smartphones

4. Effiziente Graphiken Spezifiziere immer image height und width in source code Verwende “alternate text” bei Bildern

- insbesondere für Navigationstasten, um Funktionalität sicherzustellen

Verwende statt white-spaces relative units

Setze Display: none für unwichtige Elemente

<h1><img alt="An Image Headline" /></h1 >

margin-left: 10%

#huge_menu{display: none;}

Page 36: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

36

Web-Site Engineering für Smartphones

5. Begrenzte Eingabemöglichkeiten berücksichtigen bei der Wahl von input time-outs keine Maus keine mouseover und mouseout events

6. Darstellungsproblematiken vermeiden max-width und max-height sind sehr empfehlenswert in

handheld style sheet Fallbacks für JavaScript, plug-ins, dynamic effects und menus

bereitstellen Vermeide frames, pop-ups, context menus Vermeide tief verschachtelte Tabellen Wähle guten Kontrast für Vordergrund und Hintergrund

Page 37: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

37

Web-Site Engineering für Smartphones7.4 Trends:

■ Media Queries: Erlauben präzisere Beschreibung und Angaben zu Style Sheets Media Query besteht aus media type und expressions (bzgl.

media features)

User Agent verantwortlich für die Wahl der passenden Darstellung(Style Sheet)

<link rel="stylesheet" media="screen and (color)" href="http://www.example.com/color" />

Page 38: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

38

Anwendungs-Engineering für Smartphones

8 Anwendungs-Engineering für Smartphones

8.1 Entwicklungsoptionen: grobe Einteilung

Spezielle SDKs der Hersteller mobiler Geräte Umfangreiche Möglichkeiten für die Nutzung spezieller

Gerätefunktionen➔ Geräte- und Plattformabhängige Anwendungen

SDKs und Entwicklungsumgebungen für jeweilige Betriebssysteme Umfangreiche Möglichkeiten für die Nutzung der (low-level) BS-Funktionen➔ BS- (u. U. Version-) abhängige Anwendungen

Page 39: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

39

Anwendungs-Engineering für Smartphones

Java 2 Micro Edition (J2ME) Geräte- und Betriebssystemunabhängige Anwendungen nach

WORA-Prinzip J2ME-Anwendungen laufen in einer Sandbox

➔ kein direkter Zugriff auf BS-Funktionen !!!- aus Gründen der Datensicherheit sehr begrüssenswert- erschwert Implementierung von Anwendungen, die auf

BS-Zugriffe angewiesen sind Speicherung der Daten in Record Management System

innerhalb der Sandbox

Page 40: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

40

Anwendungs-Engineering für Smartphones

8.2 J2ME8.2.1 Übersicht

Page 41: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

41

Anwendungs-Engineering für Smartphones

Konfiguration● angepasste VM● Basis-API für Geräte-Klasse

Profile● Erweiterte APIs für spezielle Endgerätenklassen

Optionale Packete● Ergänzende APIs für spezielle Anwendungs- bereiche

Page 42: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

42

Anwendungs-Engineering für Smartphones

CDC (Connected Device Configuration): ● JVM-Implementierung für leistungsstärkere mobile Geräte (PDAs)● Personal Profile: umfangreichster CDC-Profil● volle GUI-Kompatibilität mit dem java.AWT Paket● JAVA-Applets ausführbar

Page 43: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

43

Anwendungs-Engineering für Smartphones

CLDC (Connected Limited Device Configuration): Umfasst: Definition der virtuellen Java Maschine KVM für

leistungsschwächere mobile Geräte elementare Bibliotheken (java.lang.*, java.util.*) die I/O-Operationen unterstützenden Klassen Netzwerkkommunikation Trennung der Applikation vom Betriebssystem Unicode-Unterstützung

Versionen: CLDC 1.0, CLDC 1.1● wichtig: Gleitkomma-Berechnungen erst in CLDC 1.1

unterstützt

Page 44: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

44

Anwendungs-Engineering für Smartphones

CLDC Klassen-Bibliotheken

Page 45: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

45

Anwendungs-Engineering für SmartphonesMIDP: setzt auf CLDC auf und erweitert deren Klassenbibliothek speziell auf die Fähigkeiten kleiner mobiler Endgeräte ausgelegt J2ME Applikationen sind immer für ein Profile entwickelt

■ MIDP 1.0 (verwendet CLDC 1.0) ermöglicht Aufbau eines GUIs Bearbeitung, der vom Benutzer eingegebenen Daten Darstellung von Grafikdateien Verwendung von Timern Daten in/von interner Datenbank speichern/lesen HTTP-Verbindungen herstellen

■ MIDP 2.0 (verwendet CLCD 1.1) erweitert MIDP 1.0 um sichere HTTP-Verbindungen über SSL digitale Unterschriften OTA (over-the-air) Unterstützung

Page 46: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

46

Anwendungs-Engineering für Smartphones

Optionale Pakete ● Java APIs für Bluetooth● Webservices API● Location API● Wireless Messaging API● PDA Optional Packages● Mobile Media API ● SIP API

Page 47: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

47

Anwendungs-Engineering für Smartphones

8.2.2 Einführung in die MIDP-Programmierung

Entwicklungsumgebungen: J2ME Wireless Toolkit von Sun Microsystems (im Zusammenspiel mit Eclipse oder Borland JBuilder) - enthält auch viele einfache Beispiele mit Anleitungen Nokia Series60 MIDP Concept SDK Motorola SDK for J2ME Siemens Mobility Toolkit

Page 48: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

48

Anwendungs-Engineering für Smartphones

MIDlets Anwendungen für das MIDP heißen MIDlets Klasse MIDlet definiert 3 Hauptmethoden

- startApp(), pauseApp() und destroyApp(), die in jedem MIDlet zu implementieren sind- wichtig: startApp() wir sowohl beim ersten Start als auch

nach jeder Rückkehr aus Paused aufgerufen MIDlets besitzen wie Applets keine main() Methode und werden

unter Kontrolle der AMS (Application Management Software) zur Ausführung gebracht:

- herunterladen, installieren und löschen von MIDlets- Kommunikation zwischen der AMS und Web-Servern

erfolgt über HTTP

Page 49: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

49

Anwendungs-Engineering für Smartphones

MIDlet-Suite Ein oder mehrere MIDlets bilden eine MIDlet-Suite Eine MIDlet-Suite ist die kleinste installierbare Einheit Vorteile der Zuordnung der MIDlets zu einer MIDlet-Suite:

✔ gemeinsame Berechtigungspolitik ✔ Zugriff auf gemeinsame persistente Datenbestände ✔ Kommikation durch static Variablen ✔ Applikationsdeskriptor ( .jad-Datei )

Page 50: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

50

Anwendungs-Engineering für Smartphones8.2.3 MIDlets schreiben

Quick Guide: Beispiel: Einfaches MIDlet1. Kontrolle über Device-Display erlangen:

2. Displayable-Elemente auf Display darstellen lassen: 3. Gewünschte Items auf Form platzieren:

4. Commands hinzufügen:

5. commandAction implemetieren:

Display display = Display.getDisplay(this);

display.setCurrent(startScreen = new Form(“Welcome”));

startScreen.append(amount_TF = new TextField ("Money", "10", 256, TextField.NUMERIC));

startScreen.addCommand(exitCommand = new Command( "Exit", Command.SCREEN, 1));

startScreen.setCommandListener(this);

if (c == exitCommand) …

Page 51: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

51

Anwendungs-Engineering für Smartphones

Generic Connection Framework(GCF): MIDP Netzwerkprogrammierung Beispiel: Bilder laden

1. http-Verbindung herstellen und (Daten-)Inputstream öffnen

2. Daten einlesen:

3. Eingelesene Daten als Bild darstellen:

httpCon = (HttpConnection) Connector.open(imgURL); httpInput = httpCon.openDataInputStream();

int size = 0; // read all image data .... while ((size = httpInput.read()) != -1) imageBuffer.write(size);

byte byteImage[] = imageBuffer.toByteArray(); Image image = Image.createImage(byteImage, 0, byteImage.length);

Page 52: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

52

Anwendungs-Engineering für Smartphones

Weitere Pakete und Klassen: Low-Level API: Kontrolle von Bildschirminhalt (Canvas) und

Tasten-Events (Game API) XML Verarbeitung durch JSR 172 Optional Package JAXP Web Services Optional Package JAX-RPC

Page 53: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

53

Ausblick Smartphones

9 Ausblick leistungsfähigere multifunktionale smarte Endgeräte Konvergenz der Technologien sinkende Online-Kosten für mobile Nutzung enorme Verbreitung und Einsatz von Smartphones alway-on: durchdringende Konnektivität

➔ Smartphone als unentbehrlicher Begleiter des Menschen➔ Pervasive Computing:

Alles umfassende und durchdringende Kommunikation und Informationsverarbeitung mit smarten Endgeräten zu jedem beliebigen Zeitpunkt und an jedem beliebigen Ort

Page 54: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

54

Ende Smartphones

■ Ende Vielen Dank für die Aufmerksamkeit! Fragen?

Page 55: Smartphones -  MS ActiveSync ... Kommunikationsschnittstellen: IrDA, Bluetooth, seriell, WLAN ... Java 2 Micro Edition (J2ME)

55

Quellen Smartphones■ Pervasive Computing, Uni Erlangen, Lehrstuhl 7

http://www7.informatik.uni-erlangen.de/~dulz/pvc/05/

■ Opera Developer's corner

http://my.opera.com/community/dev/device/

■ OPL–Die Open Programming Language

http://www.martin-dehler.de/download/OPL_Die_Open_Programming_Language.pdf

■ WORMS AND TROJANS GO MOBILE

http://www.niser.org.my/resources/worms_and_trojans_go_modile.pdf

■ Seminar Mobile Computing SS 2003, Uni Osnabrück

http://www-lehre.inf.uos.de/mc/

■ PDA als Datenerfassungsgeräte, Wirtschaftsuniversität Wien

http://wwwai.wu-wien.ac.at/~koch/lehre/inf-sem-ss-02/gros/PDA.pdf

■ http://www.symbian.com

■ Mobilfunk 4G

http://www.web-media.at/374202.htm■ http://www.w3.org/TR/css3-mediaqueries/