Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits...

38
Mobile Web Services 1. Folie Mobile Web Services Mobile Web Services Vorlesung: Verteilte Systeme und Informationssicherheit Von Dirk Bade, WS 07/08

Transcript of Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits...

Page 1: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 1. Folie

Mobile Web Services

Mobile Web Services

Vorlesung:

Verteilte Systeme und Informationssicherheit

Von Dirk Bade, WS 07/08

Page 2: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 2. Folie

Einleitung

Was sind mobile Web Services ?

„[MWS] are the application of Web Services technology to the mobile environment“ [Farley & Capp, 2005]

Page 3: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 3. Folie

Einleitung

Service-orientierte Architekturen

▪ Lose gekoppelte Softwaresysteme▪ Automatisches Auffinden von Diensten▪ Emergentes Verhalten durch Dienst-Komposition▪ Interaktion über standardisierte XML-Nachrichten ▪ Austausch von Nachrichten über Standard-Protokolle▪ Interoperabilität von Diensten▪ XML, WSDL, SOAP, UDDI▪ Von der Industrie bereits akzeptiert

Quelle:Nokia, White Paper, S. 3Berger 2003, S. 2/3

Page 4: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 4. Folie

Rahmendaten▪ Über 100.000.000 mobile Internetnutzer (Sept. '03),

größtenteils in Japan/Korea, höchste Wachstumsraten in Europa erwartet

▪ > 47.000.000.000 US-$ Einnahmen in 2005 durchmobile Datendienste; exponentielles Wachstum erwartet ('04)�

▪ Nahezu flächendeckende Verfügbarkeit zellulärer Netze▪ Stetig wachsende Datenraten in zellulären Netzen (3G)�

▪ Sinkende Preise für den mobilen Datenverkehr• Häufig volumen-, statt zeitbasierte Abrechnung

▪ Stetige Leistungssteigerung mobiler Geräte

▪ Fortwährend neue Anwendungen

Einleitung

Quellen: Sun Microsystems, Inc. (2004) & Ariel Pashtan (2003)�

Page 5: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 5. Folie

Einleitung

Motivation▪ Zusammenfluss gegenwärtiger Trends

Evolution von ...• statischem Inhalt hin zu Web Services

(Anbieten personalisierter, adaptiver Informationen)�

• Client/Server hin zu P2P und pervasive Computing• stationärer hin zu mobiler,verteilter Datenverarbeitung

Farley & Capp 2005, S.2 Srirama 2006, S.1

Page 6: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 6. Folie

Einleitung

Unterschiede mobile WS vs. WS▪ Beweglichkeit des Gerätes▪ Beschränkungen mobiler Geräte▪ Assoziation eines Gerätes mit seinem Benutzer

• Personalisierung von Anwendungen• Höhere Sicherheit bei Authentifizierung

Quelle:Farley & Capp 2005, S. 2

Page 7: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 7. Folie

Ziele mobiler Web Services▪ Weitergehende Personalisierung von Diensten▪ Zugriff auf WS von mobilen Geräten aus▪ Anbieten von WS auf mobilen Geräten=> Interoperabilität von Komponenten

Einleitung

Farley & Capp 2005, S.2 Srirama 2006, S.1

Page 8: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 8. Folie

Alternativen zu Mobile Web Services

▪ Informationsübermittlung über Push-Technologien• Nachrichten per SMS

▪ Internetportale für mobile Geräte• Wireless Application Protocol (WAP)�

▪ Zugriff auf WS über Proxies / Gateways• WSOAP, gSOAP

• SOAPClient

• SMS

• VoiceXML

Alternativen

Nokia, White Paper, S. 3Farley & Capp 2005, S.4/5Srirama 2006, S.2XML.com 2003

Page 9: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 9. Folie

Alternativen

Gegenüberstellung der

Alternativen

Page 10: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 10. Folie

Alternativen

Gegenüberstellung der

Alternativen (2) �� ��

Page 11: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 11. Folie

Alternativen

Besondere Eigenschaften von Yell.com mobile

Page 12: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 12. Folie

Mobile Geräte

Mobile Geräte

▪ Zum Bsp. Notebook, PDA, Smartphone, Handy, Uhr▪ Geringe Entfernung zum Benutzer▪ Hohe Verfügbarkeit („always on“)�

▪ Können evtl. Ortsinformationen liefern

==> „Anytime, anywhere“ Eigenschaft

Berger 2003, S.3

Page 13: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 13. Folie

Mobile Geräte

Beschränkungen

▪ geringe Rechenleistung▪ wenig Speicher▪ begrenzte Energiereserven▪ instabile Kommunikationsverbindungen (Funk, IrDA)�

• geringe Datenraten• hohe Latenzzeiten• wechselnde (IP-)Adressen

▪ kleines Display▪ unbequeme Eingabeschnittstellen

Quelle: Berger 2003, S.3Srirama 2006, S.4

Page 14: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 14. Folie

Mobile Geräte

Beschränkungen (2) �� ��

▪ Art der Anbindung an ein WAN (Firewall, Gateway, NAT)�

Quelle: Berger 2003, S.3

Page 15: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 15. Folie

NetzwerkoperatorenVom netzwerk-zentrierten Modell zum Transportmodell

Mobile Netzwerke

nachPashtan 2005, S.5

Page 16: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 16. Folie

NetzwerkoperatorenVom netzwerk-zentrierten Modell zum Transportmodell

Mobile Netzwerke

nachPashtan 2005, S.5

Page 17: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 17. Folie

Mobile Netzwerke

nach Pashtan 2005, S.8

Alternative Sicht: Verteiltes Betriebssystem

Page 18: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 18. Folie

Warum mobile Web Services ?

Vorteile für die Anwender

▪ Dienste jederzeit und allerorten zugreifbar

▪ Schneller, effizienter und bequemer Zugriff auf Anwendungsdaten

▪ Personalisierung von Diensten▪ Einfaches Auffinden von Diensten (über UDDI)�

▪ Größere Auswahl an Diensten

▪ Konsolidierte Abrechnungen (z.B. über Telefonrechnung)�

▪ Erhöhte „Sicherheit“ durch Kombination von Gerät + Passwort bei der Nutzung von Diensten

▪ Mobiles Gerät wird zum Mehrbenutzergerät

Farley & Capp 2005, S.4

Page 19: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 19. Folie

Warum mobile Web Services ?

Vorteile für die Entwickler

▪ Verwendung offener Standards▪ Weniger Anpassungsaufwand für spez. Geräte▪ Einfache Auswahl unter mehreren Dienstanbietern▪ Konzentration auf Anwendungsentwicklung

• Kommunikations- und Sicherheitsaspekte bereits Teil der Infrastruktur

Nokia, White PapFarley & Capp 20

Page 20: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 20. Folie

Warum mobile Web Services ?

Vorteile für die Netzwerkoperatoren

▪ Bessere Ausnutzung ihrer Infrastruktur durch erhöhte Nutzung von Datendiensten

▪ Erhöhte ARPU (Average Revenue Per Unit)�

• ARPU für Sprachdienste ist gering=> höhere ARPU durch (komplexe) Datendienste

oder Abrechnungsdienstleistungen▪ Flexiblere Preismodelle▪ Bessere Abgrenzung gegenüber Konkurrenz

über Differenzierung angebotener Datendienste

Farley & Capp 2005, S.4

Page 21: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 21. Folie

Warum mobile Web Services ?

Vorteile für die Hardware-Hersteller

▪ Höhere Nachfrage leistungsstarker Geräte▪ Geräte bedürfen weiterer funktionaler Komponenten,

z.B. zur Verbesserung der• Kommunikation (z.B. W-LAN)�• Anzeige (z.B. größere Displays)�• Context Awareness (z.B. Sensoren)�

▪ Netzwerke müssen weiter ausgebaut werden

Pashtan 2005, S.8

Page 22: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 22. Folie

Anwendungsklassen

(1) Physische Gegenstände ersetzen• Kredit- und ec-Karten, Schlüssel, Ausweise

(2) Anbieten von Diensten des mobilen Gerätes selbst� Ort, Zeit, Sensordaten, Kontextinformationen,

Wörterbücher, Dokumente etc. (3) Personendaten

� Fähigkeiten, Interessen, Präferenzen(4) Komposition von Diensten versch. Anwendungsklassen

Anwendungsbeispiele

Berger 2003, S.2

Page 23: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 23. Folie

� Allgemeine Informationen

� Nachrichten, Börsenkurse, Wetterberichte, Horoskope, Online-Wörterbuch etc.

� Reise

� Navigationsunterstützung, Verkehrsnachrichten, Zugverbindungen, Ticketreservierungen etc.

� Unterhaltung

� Restaurant-/Kinoreservierung, Spiele etc.

� eCommerce / mCommerce

� mobiles Einkaufen, Online Banking etc.

� Erreichbarkeit

� eMail, Instant Messaging etc.

Anwendungsbeispiele

Pashtan 2005, S.2

Page 24: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 24. Folie

Anwendungsbeispiele

Anwendungsbeispiel: Kiosk

▪ Kiosk besteht aus einem Terminal (normaler PC)�

▪ Benutzerschnittstelle ist ein Browser▪ Darstellung über JSP + Servlets▪ Zahlung über einen Wallet Service des mob. Gerätes

Berger 200

Page 25: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 25. Folie

Anwendungsbeispiele

Anwendungsbeispiel: Kiosk (2) �� ��

Berger 200

Page 26: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 26. Folie

Anwendungsbeispiele

Anwendungsbeispiel: Kiosk (3) �� ��

Berger 200

Page 27: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 27. Folie

Authentifizierung

Authentifizierung über SIM-Karten

▪ Telefonkunden werden in einem Mobilfunknetz unabhängig von ihrem Gerät über eine SIM-Karte(Subscriber Identity Module) identifiziert

▪ Mögliche Nutzung auch zur Identifikation bei Diensten▪ Noch sicherer: Kombination mit Passwort oder PIN▪ Single Sign-On möglich

Farley & Capp

Page 28: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 28. Folie

Architektur

Farley & Capp, 2004

• Architektur definiert Deployment-Rahmenwerk

• erlaubt Anwendungensicheren, authentifiziertenZugriff auf Web Services

• Schließt mobile undstationäre Geräte ein

• Basiert auf einemSingle Point of Contact

Page 29: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 29. Folie

Anwendungsbeispiel

Find-a-Friend

Farley & Capp 20

Page 30: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 30. Folie

Anbieten mobiler Web Services

Herausforderungen

▪ Aufruf stellt von mobilen Geräten aus keine große Hürde dar (ledigl. XML-Parser benötigt)�

▪ Anbieten hingegen steht vor verschiedenenHerausforderungen

(1) Ressourcenbeschränktheit mobiler Geräte berücksichtigen

(2) Ressourcenbedarf des Dienstes selbst minimieren(3) Kompatibilität zu herkömmlichen

WS-Schnittstellen wahren

Srir

Page 31: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 31. Folie

Anbieten mobiler Web Services

Architektur eines mobilen Wirts

Quelle: Srirama et al. 2006Mobile Web Service Provisioning

Quelle: Microsoft 2003.NET Compact Framework Mobile Web Server Architecture

Page 32: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 32. Folie

Sun Microsystems, Inc.

▪ bietet mit J2ME bereits eine Client-Plattform für mobile Geräte

▪ J2ME definiert Geräteklassen-abhängige Profile (CLDC, CDC, MIDP)�

▪ JSR-172 spezifiziert die J2ME Web Services API und erweitert J2ME um:

• Java API for XML Processing (J2ME JAXP)�• Java API for XML-based RPC (J2ME JAX-RPC)�

• Sun und IBM liefern Implementierungen dieser Spec.• Einige Geräte wurden bereits mit diesen ausgeliefert• JSR-172 unterstützt weder UDDI noch WS-Provisioning

Akteure

Sun 20

Page 33: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 33. Folie

Sun's Mobile Webservices Specification

Aufruf eines entfernten Dienstes

Akteure

nachSun 2004, S.11

Page 34: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 34. Folie

Nokia

▪ Web Services-Rahmenwerk für mobile Endgeräte• basiert auf offenen Standards• abstrahiert von technischen Details

z.B. Nachrichtenübermittlung, Authentifizierung,Service Discovery etc.

• unterstützt sowohl Java als auch Symbian C++

Akteure

Nokia, White Paper, S. 3

Page 35: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 35. Folie

Nokia's Open Web Services Architecture

Akteure

Page 36: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 36. Folie

Ausblick

Probleme/Wünsche

▪ weitere Standardisierung der APIs• ermöglicht „wohlbekannte“ Dienste• WSDL-Ergänzung um Versionsinformationen

▪ Dedizierte Adressen für mobile Geräte• möglich mit Einführung von IPv6

Nokia, White Paper, S. 3Berger 2003, S.8

Page 37: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 37. Folie

Ausblick

Probleme/Wünsche

▪ Nutzung statischer WSDL- und WSIL-Dateien nicht möglich => dynamische Generierung

▪ Automatische Aktualisierung der Beschreibungen in der UDDI-Registrierung (w.g. Adresswechsel, Schlafmodus)�

▪ UDDI Garbage Collection

▪ Tokenized Markup für XML-Nachrichten (für SOAP)�

▪ Fehlerbehandlung

Page 38: Mobile Web Services · Mobile Web Services 32. Folie Sun Microsystems, Inc. bietet mit J2ME bereits eine Client-Plattform für mobile Geräte J2ME definiert Geräteklassen-abhängige

Mobile Web Services 38. Folie

Ende

Fragen ?