Teil 6 - Anwendungen auf mobilen Geräten

Download Report

Transcript Teil 6 - Anwendungen auf mobilen Geräten

Rechnerkommunikation und Vernetzung
Teil 6 – Anwendungen auf mobilen Geräten
Stephan Rupp
Nachrichtentechnik
www.dhbw-stuttgart.de
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
5. Semester, Nachrichtentechnik, 2013
Inhalt
Anwendungen auf mobilen Geräten
•
Intra-Prozess Kommunikation
•
Organisation von Angebot und Nachfrage
•
Bluetooth
•
Anwendungsentwicklung
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
2
5. Semester, Nachrichtentechnik, 2013
Kommunikation
Austausch von Nachrichten
Anfrage
Sender
Empfänger
System B
System A
Antwort
Kommunikation durch
Austausch von Nachrichten
Zur Interpretation der
Nachrichten: Kontext?
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
3
5. Semester, Nachrichtentechnik, 2013
Kommunikation im System
…
Client-Thread
Server-Thread
Was ist der
Kontext der
Kommunikation?
Inter-Thread
read/write
Anfrage
Antwort
Server
Benutzer
Privilegien
Client Interface
Nachricht
Kernel
Privilegien
Kernel Executive Routine
Kernel
Beispiel: Symbian Service Framework
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
4
5. Semester, Nachrichtentechnik, 2013
Beispiel: Aufruf von Server-Funktionen
Client
Server
x = f1(a,b,c)
f1
a
b
c
Anfrage
Service (Message)
Message.Complete (x)
x
Antwort
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
Kontext: Nachrichtentyp für
Funktionsaufrufe mit Datentypen der
Übergabevariablen und des
Rückgabewertes
5
5. Semester, Nachrichtentechnik, 2013
Client und Server Klassen
Client
Server
Message
Server
Function()
SessionBase
Complete()
CreateSession()
Session
SendReceive()
Service()
Legende:
„hat“
1..n
Write()
Kontext: Ist durch die
Programmierumgebung
festgelegt (Framework API)
Kernel
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
Read()
6
5. Semester, Nachrichtentechnik, 2013
Kommunikation zwischen Systemen
Client,
User Agent
System A
Server,
User Agent
Systeme enthalten
Software für verteilte
Anwendungen wie z.B.
Clients, Server bzw.
User Agents.
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
7
System B
5. Semester, Nachrichtentechnik, 2013
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.
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
8
5. Semester, Nachrichtentechnik, 2013
Abstraktion einer Verbindung
Beispiel: Java Generic Connection
Framework (J2ME CLCD)
Connection
StreamConnectionNotifier
InputConnection
StreamConnection
OutputConnection
DatagramConnection
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
9
ContentConnection
5. Semester, Nachrichtentechnik, 2012
6.
2013
Inhalt
Anwendungen auf mobilen Geräten
•
Intra-Prozess-Kommunikation
•
Organisation von Angebot und Nachfrage
•
Bluetooth
•
Anwendungsentwicklung
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
10
5. Semester, Nachrichtentechnik, 2013
Anatomie eines Benutzer-Agenten
Inhalte
Module:
• Dienste
• Anwendungen
Angebot
UA_ID
User Agent
Endpunkte der
Kommunikation
Für Vermittler:
lokale Information
über die Angebote
anderer User Agents
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
Angebot:
• User Agent (UA)
• UA Gruppe
• Module
• Inhalte
• Endpunkte
lokale Information
über andere User
Agents
11
5. Semester, Nachrichtentechnik, 2013
Interaktionen und Beziehungen
Angebot beim
Vermittlungsagenten
publizieren (erlischt mit
der Zeit, wenn nicht
erneuert)
Neues Angebot
lokal ankündigen
Ang.
Local User
Agent
Ang.
Beziehungen
(Kenntnis der anderen,
erlischt mit der Zeit,
wenn nicht erneuert)
lokales
Angebot
löschen
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
12
5. Semester, Nachrichtentechnik, 2013
Kontakt aufnehmen
1. Angebot über Kommunikationsschnittstelle publizieren
2. Schnittstelle finden
und Endpunkt anbinden
Ang.
lokaler User
Agent
out
in
entfernter
User
Agent
3. Nachrichten über die
Verbindung austauschen
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
13
5. Semester, Nachrichtentechnik, 2013
Angebot und Nachfrage im Netz
Organisation durch Verzeichnisdienste
User Agent
Werkzeuge
und
Methoden
Web-Service
Semantik-Verarbeitung
Semantische
Modelle
(Was?)
MetaInformation
(Wo?)
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
14
Betriebsmittel
(CPU, Speicher)
5. Semester, Nachrichtentechnik, 2013
Inhalt
Anwendungen auf mobilen Geräten
•
Intra-Prozess-Kommunikation
•
Organisation von Angebot und Nachfrage
•
Bluetooth
•
Anwendungsentwicklung
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
15
5. Semester, Nachrichtentechnik, 2013
Bluetooth Service Discovery
Service Discovery Protokoll (SDP)
Ang.
UUID
UUID
Service
Discovery
Anwendung
UUID
UUID
Client
Anwendung
SDP
Client
Server
Anwendung
SDP
Anfrage
SDP
Antwort
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
16
SDP
Server
Service
Record
SDP: Service Discovery
Protocol
UUID: Universally
Uniform Identifier (als
Dienstattribut genutzt)
5. Semester, Nachrichtentechnik, 2013
Bluetooth Dienstverzeichniss
Service Record (Liste der Dienstattribute)
ServiceRecordHandle
ServiceClassIDList
ID
ServiceRecordState
ServiceID
Value
...
...
...
ProtocolDescriptionList
BrowseGroupList
LanguageBasedAttributeIDList
ServiceInfoTimeToLive
ServiceAvailability
z.B. Wert =
UUID
oder Wert =
Liste von UUIDs
BluetoothProfileDescriptorList
DocumentationURL
ClientExecutionURL
IconURL
ServiceName
ServiceDescription
ProviderName
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
17
5. Semester, Nachrichtentechnik, 2013
Bluetooth Geräteprofile
Standardisierung der Dienste
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
18
5. Semester, Nachrichtentechnik, 2013
Bluetooth Frequenzen
Kanalsprungverfahren (Frequency Hopping)
Quelle: Harald Orlamünder
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
19
5. Semester, Nachrichtentechnik, 2013
Netzkonfigurationen
Master organisiert die Sequenz der Kanäle (Hopping-Sequence)
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
20
5. Semester, Nachrichtentechnik, 2013
Zeitliche Nutzung der Kanäle
Im Detail unterschiedliche Paketlängen
Quelle: Harald Orlamünder
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
21
5. Semester, Nachrichtentechnik, 2013
Quelle: Harald Orlamünder
Bluetooth IP Stack
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
22
5. Semester, Nachrichtentechnik, 2013
Bluetooth Paketformate
Quelle: Harald Orlamünder
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
23
5. Semester, Nachrichtentechnik, 2013
Systemzustände
Quelle: Harald Orlamünder
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
24
5. Semester, Nachrichtentechnik, 2013
Network Access Point
Internet Zugang per Bluetooth
Quelle: Harald Orlamünder
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
25
5. Semester, Nachrichtentechnik, 2013
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
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
26
5. Semester, Nachrichtentechnik, 2013
Beispiel: Socket Server API
MTimeoutNotifier
MEngineNotifier
MUINotifier
<<active>>
CSocketWriter
<<active>>
CSocketEngine
CSocketsAppView
RSocketServ
<<active>>
CSocketReader
RHostResolver
RSocket
Beispiel: Symbian Service Framework
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
27
5. Semester, Nachrichtentechnik, 2013
Socket Verbindung aufbauen
:CSocketEngine
:Framework
:CTimeOutTimer
:CSocketReader
:RSocket
ENotConnected
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()
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
28
5. Semester, Nachrichtentechnik, 2013
Beispiel: Bluetooth Message Server
Realisierung über Sockets
RSocketServ
RSocket
RBTMan
CBTPointToPointAppUI
CMessageServer
RBTSecuritySettings
TBTServiceSecurity
CMessageServerAdvertiser
RSdp
RSdpDatabase
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
29
5. Semester, Nachrichtentechnik, 2013
Bluetooth Verbindung aufsetzen
:CMessageServer
:CBTPointToPointAppUI
:CListeningSocket
:CMessageServiceAdvertiser
:CAcceptedSocket
:Framework
1. HandleCommandL()
User starts
Receiver
2. StartL()
3. StartAdvertising()
Configure settings for entries
in the service data records
4. Open()
EWaitingForConnect
5. RunL()
6. RequestData()
Sender requests a
connection
7. RecvOneOrMore()
EWaitingForMessage
8. RunL()
Receiver is receiving
a message
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
9. RequestData()
10. RecvOneOrMore()
30
5. Semester, Nachrichtentechnik, 2013
Dienstverzeichnis (Service Record)
Zur Verbindung
Service Record (Bluetooth Punkt-zu-Punkt Verbindung)
ServiceClassIDList
Serial Port Services Class UUID
ProtocolDescriptionList
L2CAP UUID
RFCOMM UUID
Channel Number
ServiceName
“Serial Port”
ServiceDescription
“Simple P-T-P Data Tranfer”
Service Availability
True
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
31
5. Semester, Nachrichtentechnik, 2013
Nachrichten Server
Messaging Framework
UI Data MTM
Application UI
User Interface
MTM
Client Side
MTM
Data Format of
Messages
Session
Transport of
Messages
Message Server
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
32
Server Side
MTM
5. Semester, Nachrichtentechnik, 2013
Speichern von Nachrichten
Nachricht
Index Liste
Index
Body
Anlagen
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.)
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
33
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
5. Semester, Nachrichtentechnik, 2013
Datenhaltung
Relationale oder
Anwendung
objektorientierte
Objekte
Darstellung sind
transformierbar
Transformation
Relationen
Object Transfer
DBMS
persistente
Objekte
DBMS: Datenbank
Management System
RDBMS: Relationales DBMS
ODBMS: Objekzorientiertes
DBMS
RDBMS
ODBMS
.
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
34
5. Semester, Nachrichtentechnik, 2013
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
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
35
5. Semester, Nachrichtentechnik, 2013
Anwendungsfälle und Komponenten
PPV-Control
Media Control Centre
Select movie
<<include>>
Authenticate
user
Pay movie
User
<<include>>
Update user
account
Play movie
<<actor>>
<<actor>>
Media-Gateway
AAA-Server
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
36
5. Semester, Nachrichtentechnik, 2013
Aktivitäten
User
Media Control Centre
Log in
check user identity
User object:
identity and
privileges
[user log in not successful]
[user log in successful]
Movie object in
selected state
Selection
Select movie
Pay movie
User object:
entry in user
account
Generate selection
of movies
Prepare for play out
Start MediaController
Select media format
User object:
media channel
Start media player
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
37
5. Semester, Nachrichtentechnik, 2013
Benutzerschnittstelle
<<control>>
<<boundary>>
C_Channel
B_Channel
C_Channel(c:Channel)
C_Channel()
start()
close()
1
1
B_Channel(c:Channel)
check()
start()
title
B_Text
play
B_Radio_Button
stop
B_Radio_Button
mute
B_Radio_Button
...
<<instantiate>>
<<instantiate>>
process
administers
1
<<control>>
MediaControlCenter
1
<<entity>>
Channel
Status
Channel()
store()
delete()
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
38
...
5. Semester, Nachrichtentechnik, 2013
Rechnerkommunikation und Vernetzung
ENDE Teil 6 – Anwendungen auf mobilen
Geräten
Rechnerkommunikation und Vernetzung, Teil 6, S. Rupp
39
5. Semester, Nachrichtentechnik, 2013