1 / 39

Kommunikationssysteme Teil 2.4 Anwendungsdesign

Kommunikationssysteme Teil 2.4 Anwendungsdesign. Stephan Rupp Informatik Masterstudium. www.dhbw-stuttgart.de. Inhalt. Anwendungsdesign Intra -Prozess Kommunikation Organisation von Angebot und Nachfrage Beispiel: Bluetooth Anwendungsentwicklung. Anfrage. Antwort. Kommunikation.

owen-roy
Download Presentation

Kommunikationssysteme Teil 2.4 Anwendungsdesign

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KommunikationssystemeTeil 2.4 Anwendungsdesign Stephan Rupp Informatik Masterstudium www.dhbw-stuttgart.de

  2. Inhalt Anwendungsdesign • Intra-Prozess Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung

  3. Anfrage Antwort Kommunikation • Austausch von Nachrichten Sender Empfänger System B System A KommunikationdurchAustausch von Nachrichten Zur Interpretation der Nachrichten: Kontext?

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

  5. 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: NachrichtentypfürFunktionsaufrufemitDatentypen der Übergabevariablen und des Rückgabewertes

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

  7. System A KommunikationzwischenSystemen Client, User Agent Server, User Agent Systemeenthalten Software fürverteilteAnwendungenwiez.B. Clients, Server bzw. User Agents. System B

  8. Kommunikation und Kontext Kommunikationinnerhalb des Systems: • Der Kontextistfestgelegtdurch die Programmierumgebung. • Kontext: NachrichtenmitDatentypenfür die Übergabevariablen und Rückgabewerte, sowieweitereAbstraktionen (Klassen) für die Kommunikationmit Server-Bibliotheken. KommunikationüberSystemgrenzenhinaus: • EineFestlegung des Kontextesisterforderlich, damit die Systemesichverstehen, und kannz.B. durcheineProtokollspezifikationerfolgen. • Außerdemist die Lokalisierung der Serverschnittstelleüber das Netzerforderlich, genauereineReferenz auf das Server-Objekt. Beispiele: URL, IP-Socket (IP Adresse plus Port Nummer), Verbindungaus J2ME.

  9. AbstraktioneinerVerbindung • Beispiel: Java Generic Connection Framework (J2ME CLCD) Connection StreamConnectionNotifier InputConnection StreamConnection OutputConnection ContentConnection DatagramConnection 6. Semester, Nachrichtentechnik, 2012

  10. Inhalt Anwendungsdesign • Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung

  11. Angebot: •User Agent (UA) • UA Gruppe • Module • Inhalte • Endpunkte Inhalte Module: •Dienste • Anwendungen Angebot Endpunkte der Kommunikation FürVermittler: lokale Information über die Angeboteanderer User Agents lokale Information überandere UserAgents AnatomieeinesBenutzer-Agenten UA_ID User Agent

  12. NeuesAngebotlokalankündigen AngebotbeimVermittlungsagentenpublizieren (erlischtmit der Zeit, wennnichterneuert) Ang. Ang. Beziehungen (Kenntnis der anderen, erlischtmit der Zeit, wennnichterneuert) lokalesAngebotlöschen Interaktionen und Beziehungen Local User Agent

  13. 1. AngebotüberKommunikations-schnittstellepublizieren 2. Schnittstellefinden und Endpunktanbinden Ang. out 3. Nachrichtenüber die Verbindungaustauschen Kontaktaufnehmen lokalerUser Agent in entfernter User Agent

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

  15. Inhalt Anwendungsdesign • Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung

  16. Ang. UUID UUID UUID UUID SDP Anfrage SDP Antwort Bluetooth Service Discovery • Service Discovery Protokoll (SDP) Service Discovery Anwendung Client Anwendung Server Anwendung Service Record SDP: Service Discovery Protocol UUID: Universally Uniform Identifier (alsDienstattributgenutzt) SDP Client SDP Server

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

  18. Bluetooth Geräteprofile • Standardisierung der Dienste

  19. Bluetooth Frequenzen • Kanalsprungverfahren (FrequencyHopping) Quelle: Harald Orlamünder

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

  21. ZeitlicheNutzung der Kanäle • Im Detail unterschiedliche Paketlängen Quelle: Harald Orlamünder

  22. Bluetooth IP Stack Quelle: Harald Orlamünder

  23. Bluetooth Paketformate Quelle: Harald Orlamünder

  24. Systemzustände Quelle: Harald Orlamünder

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

  26. Inhalt Anwendungsdesign • Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung • Abstraktionen für Verbindungen • Daten relational und objektorientiert • Vorgehensweise mit UML

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

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

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

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

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

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

  33. Nachricht Index Liste 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 Index Body Anlagen Speichern von Nachrichten

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

  35. 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

  36. 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

  37. Aktivitäten User Media Control Centre User object: identity and privileges Log in check user identity [user log in not successful] [user log in successful] Movie object in selected state 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

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

  39. Kommunikationssysteme • ENDE Teil2.4 • Anwendungsdesign

More Related