Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten Stephan Rupp Nachrichtentechnik www.dhbw-stuttgart.de.

Slides:



Advertisements
Ähnliche Präsentationen
Powerpoint-Präsentation
Advertisements

Einer der Dienste im Internet
Attribute Protocol.
Basis-Architekturen für Web-Anwendungen
Kapitel 8: Nachrichtenbasierte Kommunikation mit JMS
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
Mobile Systeme und drahtlose Netzwerke
Attribute Profile.
Lightweight Directory Access Protocol
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java News & Music Der Chat
An's Netz An's Netz An's.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Rechneraufbau & Rechnerstrukturen, Folie 14.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 14.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
Netze Vorlesung 11 Peter B. Ladkin
JAVA RMI.
GAP Generic Access Profile. Physical Layer Link Layer Host Controller Interface L2CAP Attribute Protocol Attribute Profile PUIDRemote ControlProximityBatteryThermostatHeart.
Universität Heidelberg Rechenzentrum Hartmuth Heldt Sicherheitskonzept - Netzwerk 1.
Access 2000 Datenbanken.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
UML Begleitdokumentation des Projekts
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
WAP = Wireless Application Protocol Protokollstack Ein Protokoll ...
Kommunikationssysteme Teil 2.4 Anwendungsdesign
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Allgemeine Technologien I Sitzung am Mailserver
Netzwerkprogrammierung
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Präsentation von Lukas Sulzer
Management- und Web Services- Architekturen
Netzwerke.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Das IT - Informationssystem
Analyseprodukte numerischer Modelle
Meldungen über Ethernet mit FINS/UDP
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Untersuchungen zur Erstellung eines
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
->Prinzip ->Systeme ->Peer – to – Peer
VoIP Voice over IP per SIP.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
 Präsentation transkript:

Rechnerkommunikation und Vernetzung Teil 6 – Anwendungen auf mobilen Geräten Stephan Rupp Nachrichtentechnik www.dhbw-stuttgart.de

Inhalt Anwendungen auf mobilen Geräten Intra-Prozess Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

Austausch von Nachrichten Kommunikation Austausch von Nachrichten Anfrage Sender Empfänger System B System A Antwort Kommunikation durch Austausch von Nachrichten Zur Interpretation der Nachrichten: Kontext?

Kommunikation im System … Client-Thread Server-Thread Inter-Thread read/write Was ist der Kontext der Kommunikation? Anfrage Antwort Server Client Interface Benutzer Privilegien Nachricht Kernel Privilegien Kernel Executive Routine Kernel Beispiel: Symbian Service Framework

Beispiel: Aufruf von Server-Funktionen Client Server x = f1(a,b,c) f1 a b c Anfrage Service (Message) Message.Complete (x) x Antwort Kontext: Nachrichtentyp für Funktionsaufrufe mit Datentypen der Übergabevariablen und des Rückgabewertes

Client und Server Klassen Message Function() Complete() Read() Write() Server SessionBase CreateSession() SendReceive() Session Service() 1..n Kontext: Ist durch die Programmierumgebung festgelegt (Framework API) Legende: Kernel „hat“

Kommunikation zwischen Systemen Client, User Agent Server, User Agent Systeme enthalten Software für verteilte Anwendungen wie z.B. Clients, Server bzw. User Agents. System A System B

Kommunikation und Kontext Kommunikation innerhalb des Systems: Der Kontext ist festgelegt durch die Programmierumgebung. Kontext: Nachrichten mit Datentypen für die Übergabevariablen und Rückgabewerte, sowie weitere Abstraktionen (Klassen) für die Kommunikation mit Server-Bibliotheken. Kommunikation über Systemgrenzen hinaus: Eine Festlegung des Kontextes ist erforderlich, damit die Systeme sich verstehen, und kann z.B. durch eine Protokollspezifikation erfolgen. Außerdem ist die Lokalisierung der Serverschnittstelle über das Netz erforderlich, genauer eine Referenz auf das Server-Objekt. Beispiele: URL, IP-Socket (IP Adresse plus Port Nummer), Verbindung aus J2ME.

Abstraktion einer Verbindung Beispiel: Java Generic Connection Framework (J2ME CLCD) Connection StreamConnectionNotifier InputConnection StreamConnection OutputConnection ContentConnection DatagramConnection 6. Semester, Nachrichtentechnik, 2012

Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

Anatomie eines Benutzer-Agenten Angebot Angebot: • User Agent (UA) • UA Gruppe • Module • Inhalte • Endpunkte Inhalte Module: • Dienste • Anwendungen UA_ID Endpunkte der Kommunikation User Agent lokale Information über andere User Agents Für Vermittler: lokale Information über die Angebote anderer User Agents

Interaktionen und Beziehungen Angebot beim Vermittlungsagenten publizieren (erlischt mit der Zeit, wenn nicht erneuert) Ang. Neues Angebot lokal ankündigen Local User Agent Beziehungen (Kenntnis der anderen, erlischt mit der Zeit, wenn nicht erneuert) Ang. lokales Angebot löschen

Kontakt aufnehmen Ang. 1. Angebot über Kommunikations- schnittstelle publizieren 2. Schnittstelle finden und Endpunkt anbinden out lokaler User Agent in entfernter User Agent 3. Nachrichten über die Verbindung austauschen

Angebot und Nachfrage im Netz Organisation durch Verzeichnisdienste Werkzeuge und Methoden User Agent Web-Service Semantik-Verarbeitung Semantische Modelle (Was?) Meta- Information (Wo?) Betriebsmittel (CPU, Speicher)

Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung

Bluetooth Service Discovery Service Discovery Protokoll (SDP) Ang. UUID UUID UUID UUID Service Discovery Anwendung Client Anwendung Server Anwendung Service Record SDP Anfrage SDP: Service Discovery Protocol UUID: Universally Uniform Identifier (als Dienstattribut genutzt) SDP Client SDP Server SDP Antwort

Bluetooth Dienstverzeichniss Service Record (Liste der Dienstattribute) ServiceRecordHandle ServiceClassIDList ServiceRecordState ServiceID ProtocolDescriptionList BrowseGroupList LanguageBasedAttributeIDList ServiceInfoTimeToLive ServiceAvailability BluetoothProfileDescriptorList DocumentationURL ClientExecutionURL IconURL ServiceName ServiceDescription ProviderName ID Value ... ... ... z.B. Wert = oder Wert = Liste von UUIDs UUID Dienstattribute sind als Wertepaare (ID, Wert) durch UUIDs (Wert) gekennzeichnet

Bluetooth Geräteprofile Standardisierung der Dienste

Kanalsprungverfahren (Frequency Hopping) Bluetooth Frequenzen Kanalsprungverfahren (Frequency Hopping) Quelle: Harald Orlamünder

Netzkonfigurationen Master organisiert die Sequenz der Kanäle (Hopping-Sequence)

Zeitliche Nutzung der Kanäle Im Detail unterschiedliche Paketlängen Quelle: Harald Orlamünder

Bluetooth IP Stack Quelle: Harald Orlamünder

Bluetooth Paketformate Quelle: Harald Orlamünder

Systemzustände Quelle: Harald Orlamünder

Internet Zugang per Bluetooth Network Access Point Internet Zugang per Bluetooth Quelle: Harald Orlamünder

Inhalt Anwendungen auf mobilen Geräten Intra-Prozess-Kommunikation Organisation von Angebot und Nachfrage Bluetooth Anwendungsentwicklung Abstraktionen für Verbindungen Daten relational und objektorientiert Vorgehensweise mit UML

Beispiel: Socket Server API RSocketServ <<active>> CSocketEngine RHostResolver RSocket CSocketWriter CSocketReader CSocketsAppView MTimeoutNotifier MEngineNotifier MUINotifier Beispiel: Symbian Service Framework

Socket Verbindung aufbauen :CSocketEngine :CTimeOutTimer :CSocketReader :RSocket ENotConnected :Framework 1. ConnectL(TUint32 aAddr) 2. Open() 3. Connect() 4. ChangeStatus() EConnecting 5. After() 6. SetActive() 7. RunL() 8. Cancel() 9. ChangeStatus() EConnected 10. Read() 11. Start()

Beispiel: Bluetooth Message Server Realisierung über Sockets RSocketServ RSocket CMessageServerAdvertiser RBTMan CBTPointToPointAppUI RBTSecuritySettings TBTServiceSecurity RSdp RSdpDatabase CMessageServer

Bluetooth Verbindung aufsetzen :CBTPointToPointAppUI :CMessageServiceAdvertiser :CListeningSocket :Framework EWaitingForConnect 1. HandleCommandL() :CMessageServer :CAcceptedSocket 2. StartL() 3. StartAdvertising() 4. Open() 5. RunL() EWaitingForMessage 6. RequestData() 7. RecvOneOrMore() 8. RunL() 9. RequestData() 10. RecvOneOrMore() User starts Receiver Sender requests a connection Receiver is receiving a message Configure settings for entries in the service data records

Dienstverzeichnis (Service Record) Zur Verbindung Service Record (Bluetooth Punkt-zu-Punkt Verbindung) ServiceClassIDList ProtocolDescriptionList ServiceName ServiceDescription Service Availability Serial Port Services Class UUID L2CAP UUID RFCOMM UUID Channel Number “Serial Port” “Simple P-T-P Data Tranfer” True

Nachrichten Server Messaging Framework Data Format of Messages UI Data MTM Application UI User Interface MTM Client Side MTM Message Server Server Side MTM Transport of Messages Session

Speichern von Nachrichten Index Liste Index Body Anlagen Nachricht Attachment Flag Complete Flag Connected Flag Deleted Flag Description Details: sender/receiver name of attachment name of folder name of service Identifier within Index MTM associated New Flag (new Msg.) Owner Flag (is parent) Parent ID of index entry Priority Read Flag (Msg. read) Related folder Sending State Service (Transport Service) Size Standard Folder Flag Time Type ID Visibility Flag

Datenhaltung Relationale oder objektorientierte Darstellung sind transformierbar Anwendung DBMS RDBMS ODBMS Objekte persistente Relationen Object Transfer Transformation DBMS: Datenbank Management System RDBMS: Relationales DBMS ODBMS: Objekzorientiertes DBMS .

Mobiltelefon als Fernbedienung Beispielanwendung Mobiltelefon als Fernbedienung IP-Netz PPV System Select movie Mobiltelefon Pay movie Broadcast Netz Play movie TV & Set-Top-Box PPV: Pay per View

Anwendungsfälle und Komponenten PPV-Control Media Control Centre Select movie <<include>> Authenticate user Pay movie User <<include>> Update user account Play movie <<actor>> Media-Gateway <<actor>> AAA-Server

Aktivitäten User Media Control Centre Log in check user identity User object: identity and privileges Log in check user identity [user log in not successful] Movie object in selected state [user log in successful] Generate selection of movies Selection Select movie Pay movie Prepare for play out User object: entry in user account Start Media- Controller User object: media channel Select media format Start media player

Benutzerschnittstelle <<control>> C_Channel <<boundary>> B_Channel title 1 B_Text C_Channel(c:Channel) C_Channel() start() close() B_Channel(c:Channel) check() start() play 1 B_Radio_Button stop B_Radio_Button mute B_Radio_Button ... <<instantiate>> <<instantiate>> process administers 1 <<control>> MediaControlCenter <<entity>> Channel 1 Status Channel() store() delete() ...

Rechnerkommunikation und Vernetzung ENDE Teil 6 – Anwendungen auf mobilen Geräten