Kommunikationssysteme Teil 2.4 Anwendungsdesign

39
Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp Kommunikationssysteme Teil 2.4 Anwendungsdesign Stephan Rupp Informatik Masterstudium www.dhbw-stuttgart.de

description

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. - PowerPoint PPT Presentation

Transcript of Kommunikationssysteme Teil 2.4 Anwendungsdesign

Page 1: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp

Kommunikationssysteme Teil 2.4 Anwendungsdesign

Stephan Rupp

Informatik Masterstudium

www.dhbw-stuttgart.de

Page 2: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 2

Inhalt

Anwendungsdesign

• Intra-Prozess Kommunikation

• Organisation von Angebot und Nachfrage

• Beispiel: Bluetooth

• Anwendungsentwicklung

Page 3: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 3

Kommunikation

Austausch von Nachrichten

Sender

Zur Interpretation der Nachrichten: Kontext?Zur Interpretation der Nachrichten: Kontext?

EmpfängerAnfrage

Antwort

System A System B

Kommunikation durch Austausch von NachrichtenKommunikation durch Austausch von Nachrichten

Page 4: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 4

Kommunikation im System

Benutzer

Privilegien

Kernel Executive Routine

Server-ThreadClient-Thread

Kernel

Privilegien

Server

AntwortAnfrage

Client Interface

Inter-Thread read/write

Nachricht

Kernel

Was ist der Kontext der Kommunikation?

Was ist der Kontext der Kommunikation?

Beispiel: Symbian Service Framework

Page 5: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 5

Beispiel: Aufruf von Server-Funktionen

Anfragef1 a b c

ServerClient

x = f1(a,b,c)

Service (Message)

Message.Complete (x)

x

AntwortKontext: Nachrichtentyp für Funktionsaufrufe mit Datentypen der Übergabevariablen und des Rückgabewertes

Kontext: Nachrichtentyp für Funktionsaufrufe mit Datentypen der Übergabevariablen und des Rückgabewertes

Page 6: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 6

Client und Server Klassen

SessionBase

CreateSession()

SendReceive()

Session

Service()

Message

Function()

Complete()

Read()

Write()

Kernel

1..n

„hat“

Legende:

Server

Kontext: Ist durch die Programmierumgebung festgelegt (Framework API)

Kontext: Ist durch die Programmierumgebung festgelegt (Framework API)

ServerClient

Page 7: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 7

Kommunikation zwischen Systemen

Client,

User Agent

System A System B

Server,

User Agent

Systeme enthalten Software für verteilte

Anwendungen wie z.B. Clients, Server bzw.

User Agents.

Page 8: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 8

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.

Page 9: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 9

Abstraktion einer Verbindung

Beispiel: Java Generic Connection Framework (J2ME CLCD)

6. Semester, Nachrichtentechnik, 2012

Connection

StreamConnectionNotifier

InputConnection

OutputConnection

DatagramConnection

StreamConnection

ContentConnection

Page 10: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 10

Inhalt

Anwendungsdesign

• Intra-Prozess-Kommunikation

• Organisation von Angebot und Nachfrage

• Beispiel: Bluetooth

• Anwendungsentwicklung

Page 11: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 11

Anatomie eines Benutzer-Agenten

User Agent

Angebot

Angebot:

• User Agent (UA)

• UA Gruppe

• Module

• Inhalte

• Endpunkte

Module:

• Dienste

• Anwendungen

UA_ID

Endpunkte der Kommunikation

lokale Information über andere User Agents

Für Vermittler: lokale Information über die Angebote anderer User Agents

Inhalte

Page 12: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 12

Interaktionen und Beziehungen

Beziehungen

(Kenntnis der anderen, erlischt mit der Zeit, wenn nicht erneuert)

Local User

Agent

Ang.

Neues Angebot lokal ankündigen

Ang.

lokales Angebot löschen

Angebot beim Vermittlungsagenten publizieren (erlischt mit der Zeit, wenn nicht erneuert)

Page 13: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 13

Kontakt aufnehmen

lokaler User

Agent

Ang.

1. Angebot über Kommunikations-schnittstelle publizieren

entfernter

User

Agent

2. Schnittstelle finden und Endpunkt anbinden

3. Nachrichten über die Verbindung austauschen

in out

Page 14: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 14

Angebot und Nachfrage im Netz

Organisation durch Verzeichnisdienste

User Agent

Meta-Information

(Wo?)

Betriebsmittel(CPU, Speicher)

Semantische Modelle

(Was?)

Web-Service

Semantik-Verarbeitung

Werkzeuge und

Methoden

Page 15: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 15

Inhalt

Anwendungsdesign

• Intra-Prozess-Kommunikation

• Organisation von Angebot und Nachfrage

• Beispiel: Bluetooth

• Anwendungsentwicklung

Page 16: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 16

Bluetooth Service Discovery

Service Discovery Protokoll (SDP)

Client Anwendung

Server Anwendung

SDP

ClientSDP

Server

SDP Anfrage

SDP Antwort

SDP: Service Discovery Protocol

UUID: Universally Uniform Identifier (als Dienstattribut genutzt)

UUID

Service

Discovery

Anwendung

UUIDUUID

UUID

Service

Record

Ang.

Page 17: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 17

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

Dienstattribute sind als

Wertepaare (ID, Wert)

durch UUIDs (Wert)

gekennzeichnet

Page 18: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 18

Bluetooth Geräteprofile

Standardisierung der Dienste

Page 19: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 19

Bluetooth Frequenzen

Kanalsprungverfahren (Frequency Hopping)

Quelle: Harald Orlamünder

Page 20: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 20

Netzkonfigurationen

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

Page 21: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 21

Zeitliche Nutzung der Kanäle

Im Detail unterschiedliche Paketlängen

Quelle: Harald Orlamünder

Page 22: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 22

Bluetooth IP Stack

Que

lle: H

aral

d O

rlam

ünde

r

Page 23: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 23

Bluetooth Paketformate

Quelle: Harald Orlamünder

Page 24: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 24

Systemzustände

Quelle: Harald Orlamünder

Page 25: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 25

Network Access Point

Internet Zugang per Bluetooth

Quelle: Harald Orlamünder

Page 26: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 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

Page 27: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 27

Beispiel: Socket Server API

RSocketServ

<<active>>

CSocketEngine

RHostResolver RSocket

<<active>>

CSocketWriter

<<active>>

CSocketReader

CSocketsAppView

MTimeoutNotifier MEngineNotifier

MUINotifier

Beispiel: Symbian Service Framework

Page 28: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 28

Socket Verbindung aufbauen

:CSocketEngine :CTimeOutTimer :CSocketReader :RSocket

:FrameworkENotConnected

EConnecting

1. ConnectL(TUint32 aAddr)

2. Open()

3. Connect()

4. ChangeStatus()

5. After()

6. SetActive()

EConnected

8. Cancel()

9. ChangeStatus()

7. RunL()

10. Read()

11. Start()

Page 29: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 29

Beispiel: Bluetooth Message Server

Realisierung über Sockets

RSocketServ RSocket

CMessageServerAdvertiser

RBTMan

CBTPointToPointAppUIRBTSecuritySettings

TBTServiceSecurity

RSdp

RSdpDatabase

CMessageServer

Page 30: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 30

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

Page 31: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 31

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

Page 32: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 32

Nachrichten Server

Messaging Framework

Data Format of Messages

UI Data MTM Application UI User Interface

MTM

Client Side

MTM

Message ServerServer Side

MTM

Transport of Messages

Session

Page 33: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 33

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

Page 34: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 34

Datenhaltung

.

Anwendung

DBMS

RDBMS ODBMS

Objekte

persistente

Objekte

Relationen

Object TransferTransformation

Relationale oder

objektorientierte

Darstellung sind

transformierbar

DBMS: Datenbank Management System

RDBMS: Relationales DBMS

ODBMS: Objekzorientiertes DBMS

Page 35: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 35

Beispielanwendung

Mobiltelefon als Fernbedienung

Broadcast

Netz

IP-Netz PPV System

Select movie

Pay movie

Play movie

Mobiltelefon

TV &

Set-Top-BoxPPV: Pay per View

Page 36: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 36

Anwendungsfälle und Komponenten

Media Control CentreSelect movie

Pay movie

Play movie

User Update user

account

Authenticate

user <<include>>

<<include>>

<<actor>>

AAA-Server

<<actor>>

Media-Gateway

PPV-Control

Page 37: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 37

Aktivitäten

Log in check user identity

Generate selection of movies

Prepare for play out

Select movie

Pay movie

Selection

Movie object in selected state

Select media format Start Media-

Controller

Start media player

[user log in not successful][user log in successful]

User object: entry in user account

User object: identity and privileges

User object: media channel

User Media Control Centre

Page 38: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 38

Benutzerschnittstelle

<<entity>>

Channel

Status

Channel()store()delete() ...

<<boundary>>

B_Channel

B_Channel(c:Channel)

check()

start()

<<control>>

C_Channel

C_Channel(c:Channel)

C_Channel()

start()

close()

1

1

<<control>>

MediaControlCenter

<<instantiate>><<instantiate>>

administers

B_Texttitle

play

stop

mute

B_Radio_Button

B_Radio_Button

...

process

1

B_Radio_Button

1

Page 39: Kommunikationssysteme Teil  2.4  Anwendungsdesign

Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.4, S. Rupp 39

Kommunikationssysteme

ENDE Teil 2.4

Anwendungsdesign