Web(Site)-Engineering. Smartphones. Alexander Zinchenko 13.12.2005



Ähnliche Dokumente
Virtual Desktop Infrasstructure - VDI

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen

Mobile Betriebsysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Was ist neu in Sage CRM 6.1

4D Server v12 64-bit Version BETA VERSION

Präsentation Von Laura Baake und Janina Schwemer

IT- Wir machen das! Leistungskatalog. M3B Service GmbH Alter Sportplatz Lake Schmallenberg

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unified Communications & Collaboration

Malte Hesse

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Nokia Handy - Daten sichern.

Point of Information. Point of Information

Windows Server 2008 (R2): Anwendungsplattform

Internet Explorer Version 6

Java für Embedded Systems

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Installation von NetBeans inkl. Glassfish Anwendungs-Server

HANDBUCH LSM GRUNDLAGEN LSM

Der NCP-Client kann sowohl für den Wireless LAN-Zugang als auch für den VPN-Dienst der BTU Cottbus genutzt werden.

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Walkabout: Location Based Services mit Android und dem Google Phone

ES office die Branchenlösung Servicemanagement mit ES Techniker Mobile Wartung und Reparatur optimiert durch mobiles Datenmanagement

Step by Step Webserver unter Windows Server von Christian Bartl

TeamSpeak3 Einrichten

TeamViewer App für Outlook Dokumentation

Tess Relay-Dienste mobil nutzen

Man liest sich: POP3/IMAP

Mobility: Hoher Nutzen

Anleitung zur Nutzung des SharePort Utility

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

AppOcalypse now! Die Zukunft des Intranets ist Mobile Jussi Mori

LCM-6 Digital Signage Software

NET.Compact Framework

Mobile Computing Fallstudie am Beispiel der sd&m AG Vortrag im Seminar Beratungsbetriebslehre am 26. Juni 2003

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

AIRWATCH. Mobile Device MGMT

GMM WLAN-Transmitter

Installation / Aktualisierung von Druckertreibern unter Windows 7

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Kleines Handbuch zur Fotogalerie der Pixel AG

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

ESB - Elektronischer Service Bericht

IAB Formate und Verwendungen - Stand November 2008

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

NetBeans Installation für Handy-Programmierung

Warum? Keine umständliche Telefonbuch-Synchronisierung, alle Kontakte sind gleich zur Hand.

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

GKSpro WebServer. Überblick. Web Server. GKSpro. Datenbank. GKSpro. InfoBrief Nr. 61 November GKSpro WebServer.

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

PCC Outlook Integration Installationsleitfaden

Anleitung auf SEITE 2

Ein mobiler Electronic Program Guide

Anleitung zur Konfiguration von WLAN/VPN für das Hochschulnetzwerk mit:

Matrix42. Use Case - Inventory. Version Februar

Ein mobiler Electronic Program Guide für Android

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Systemvoraussetzungen

Cause every minute counts. three60mobile telecom GmbH. - mobile solutions - Stephan.mairhofer@three60mobile.com

Anleitung zum Prüfen von WebDAV

BusinessMail Exchange (SaaS) Einbindung mobiler Endgeräte. Deutsche Telekom Geschäftskunden. Einbindung mobiler Endgeräte

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

Meine Welt auf einen Blick erleben.

Samsung Large Format Display

Schulpaket 2015 / 2016 Installation

spherecast Content Management System

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Fallstudie HP Unified WLAN Lösung

Hauptseminar. Mobiles WWW Arndt Kühne

Systemvoraussetzungen winvs office winvs advisor

Elektronische Zustellung WKO / AustriaPro. Status Arbeitspakete PL.O.T

Elexis Barcode Unterstützung Motorola

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

Synchronisation mit PIA Sync

SANDBOXIE konfigurieren

Lizenzierung von System Center 2012

Smart Home. Quickstart User Guide

Update auf Windows 8.1 Schrittweise Anleitung

Telemonitoring von Vitaldaten Über die besonderen Herausforderungen einer mobilen Lösung und deren Umsetzung

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Systemvoraussetzungen

VENTA KVM mit Office Schnittstelle

EIDAMO Webshop-Lösung - White Paper

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

LCM-6 Digital Signage Software

Transkript:

Web(Site)-Engineering Alexander Zinchenko 13.12.2005 1

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 2

Endgeräte 1 Endgeräte 1.1 Geschichtliche Entwicklung: von PDA zum Smartphone - Mobilität gewinnt Ende 90-er immer mehr an Bedeutung Unterstützt durch technologische Fortschritte 3

Endgeräte 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 4

Endgeräte 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 5

Endgeräte Vereinigung der beiden Gerätetypen zum smart device 2001: Ericsson stellt eines der ersten mit Betriebssystem Symbian vor : 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 6

Endgeräte 1.2 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 7

Endgeräte Hardware Ausstattung Nokia 9500 Communicator Prozessor RAM, intern, extern Display Außen-Display Schnittstellen GPRS Betriebssystem Software Sonstige Features OMAP 150 MHz dual core 64 MB, 80MB, MMC-cards 640 x 200 Pixel (65k Farben) 128 x 128 Pixel (65k Farben) WLAN, Bluetooth, Infrarot, USB 2.0, Pop-Port 236,8 kbit/s (53,6kbit/s in DE) Symbian OS 7.0S Büro-Programme, Opera Browser, Mail-Client, QWERTZ-Tastatur, HTML,xHTML, Java-Script, Flash 5, IP4/IP6, IMAP4 Camera, MM-Player Motorola MPx220 Prozessor RAM, intern, extern Display Außen-Display Schnittstellen GPRS Betriebssystem Software Sonstige Features OMAP (204 MHz) 32MB, 32 MB, SD-cards 176 x 220 Pixel (65k Farben) 96 x 64 Pixel (4096 Farben) Bluetooth, Infrarot, USB 53,6 kbit/s Smartphone 2003 SE Media Player, Pocket Outlook, Pocket Internet Explorer, MSN Messenger, MS ActiveSync 1.2M Camera, MM-Player, Keypad 8

Betriebssysteme 2 Betriebssysteme 2.1 Symbian OS Zusammenschluss der wichtigsten Mobiltelefonhersteller - Nokia, Siemens, Sony Ericsson, Samsung Betriebssystem für 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 9

Betriebssysteme SymbianOS: Nokia Communicator 9500, Verwaltung SymbianOS: Nokia Communicator 9500, Mail Client 10

Betriebssysteme 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 11

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

Betriebssysteme 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 13

Betriebssysteme PalmOS 14

Anwendungen 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 15

Anwendungen Weitere Beispiele: Remote Datenbankzugriff Remote CRM Wbm-learning SmallServ: a simple http server for Symbian OS NewsReader http://www.symbian.com/developer/techlib/staffapps_cpp.html 16

Trends 4 Trends Evolution von Handys zu Leistungsfähigere Hardware Ausstattung Steigende Anzahl von Zusatzfunktionen und Features Evolution von PDAs zu Bereits durch Palm angekündigt Umstieg auf Windows Mobile 17

Konnektivität 5 Konnektivität 5.1 Mobilfunktechnologien alle 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 18

Konnektivität 3G Geräte: hohe Datenraten durch UMTS-Netze Übertragungsrate geschwindigkeitsabhängig: zwischen 144kbps und 2Mbps UMTS ermöglicht auf mobilen Geräten MultimediaAnwendungen, Downloads, Videokonferenzen uvm. gleichzeitige Einbuchung der UMTS-Geräte in mehreren Zellen - zuverlässigere Verbindungen - schnelleres Handover - effizientere Auslastung und Resourcenverwaltung der Zellen 19

Konnektivität 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 angeboten Ermöglicht flexible Bildung von ad-hoc und Infrastrukturnetzen 20

Konnektivität 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 21

Konnektivität 5.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 22

Konnektivität Konvergenz der Kommunikationstechnologien 23

Mobile Security 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 24

Mobile Security 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 25

Mobile Security Trojaner 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 : Telefonie, SMS, Mail 6.2 Trends verbesserte Sicherheitsmechanismen der Kommunikationstechnologien erste Antiviren-Software für (F-Secure) Entwicklung der Viren auch für andere BS 26

Web-Site Engineering für 7 Web-Site Engineering für 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-) HTML/xHTML/XML 27

Web-Site Engineering für 7.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 28

Web-Site Engineering für 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) 29

Web-Site Engineering für 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 30

Web-Site Engineering für 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 31

Web-Site Engineering für 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 32

Web-Site Engineering für 7.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"> 33

Web-Site Engineering für 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) <h3>a Headline</h3> statt <p><font size="+2" face="helvetica"><b>a Headline</b></font></p> Links auf externe Dateien statt Einbettung von scripts/stylesheets 34

Web-Site Engineering für 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 <h1><img alt="an Image Headline" /></h1 > Verwende statt white-spaces relative units margin-left: 10% Setze Display: none für unwichtige Elemente #huge_menu{display: none;} 35

Web-Site Engineering für 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 36

Web-Site Engineering für 7.4 Trends: Media Queries: Erlauben präzisere Beschreibung und Angaben zu Style Sheets Media Query besteht aus media type und expressions (bzgl. media features) <link rel="stylesheet" media="screen and (color)" href="http://www.example.com/color" /> User Agent verantwortlich für die Wahl der passenden Darstellung(Style Sheet) 37

Anwendungs-Engineering für 8 Anwendungs-Engineering für 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 38

Anwendungs-Engineering für 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 39

Anwendungs-Engineering für 8.2 J2ME 8.2.1 Übersicht 40

Anwendungs-Engineering für Optionale Packete Ergänzende APIs für spezielle Anwendungsbereiche Profile Erweiterte APIs für spezielle Endgerätenklassen Konfiguration angepasste VM Basis-API für Geräte-Klasse 41

Anwendungs-Engineering für 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 42

Anwendungs-Engineering für 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 43

Anwendungs-Engineering für CLDC Klassen-Bibliotheken 44

Anwendungs-Engineering für MIDP: 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 45

Anwendungs-Engineering für Optionale Pakete Java APIs für Bluetooth Webservices API Location API Wireless Messaging API PDA Optional Packages Mobile Media API SIP API 46

Anwendungs-Engineering für 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 47

Anwendungs-Engineering für 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 48

Anwendungs-Engineering für 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 ) 49

Anwendungs-Engineering für 8.2.3 MIDlets schreiben Quick Guide: Beispiel: Einfaches MIDlet 1. Kontrolle über Device-Display erlangen: Display display = Display.getDisplay(this); 2. Displayable-Elemente auf Display darstellen lassen: display.setcurrent(startscreen = new Form( Welcome )); 3. Gewünschte Items auf Form platzieren: startscreen.append(amount_tf = new TextField ("Money", "10", 256, TextField.NUMERIC)); 4. Commands hinzufügen: startscreen.addcommand(exitcommand = new Command( "Exit", Command.SCREEN, 1)); startscreen.setcommandlistener(this); 5. commandaction implemetieren: if (c == exitcommand) 50

Anwendungs-Engineering für Generic Connection Framework(GCF): MIDP Netzwerkprogrammierung Beispiel: Bilder laden 1. http-verbindung herstellen und (Daten-)Inputstream öffnen httpcon = (HttpConnection) Connector.open(imgURL); httpinput = httpcon.opendatainputstream(); 2. Daten einlesen: int size = 0; // read all image data... while ((size = httpinput.read())!= -1) imagebuffer.write(size); 3. Eingelesene Daten als Bild darstellen: byte byteimage[] = imagebuffer.tobytearray(); Image image = Image.createImage(byteImage, 0, byteimage.length); 51

Anwendungs-Engineering für 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 52

Ausblick 9 Ausblick leistungsfähigere multifunktionale smarte Endgeräte Konvergenz der Technologien sinkende Online-Kosten für mobile Nutzung enorme Verbreitung und Einsatz von 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 53

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

Quellen Pervasive Computing, Uni Erlangen, Lehrstuhl 7 http://www.niser.org.my/resources/worms_and_trojans_go_modile.pdf Seminar Mobile Computing SS 2003, Uni Osnabrück http://www.martin-dehler.de/download/opl_die_open_programming_language.pdf WORMS AND TROJANS GO MOBILE http://my.opera.com/community/dev/device/ OPL Die Open Programming Language http://www7.informatik.uni-erlangen.de/~dulz/pvc/05/ Opera Developer's corner 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/ 55