Discovery von Location Based Services

January 19, 2018 | Author: Anonymous | Category: Ingenieurwissenschaften, Informatik, Java
Share Embed Donate


Short Description

Download Discovery von Location Based Services...

Description

Discovery von LBS Seminararbeit von Florian Pepping im Rahmen der Projektgruppe „Location Based Services for Wireless Devices“

AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn

Motivation • Wieso:  Service Discovery zusammen mit LBS unserer PG?  Service Discovery, was steckt denn dahinter?

• Weshalb:

• Darum:  Service Discovery als leistungsfähiges Konzept für diese Aufgaben  Service Discovery als Verbindung Dienst  Dienstbenutzer  Service Discovery als zentrale Dienstverwaltung / Middleware

16.05.2016

PG LBS: Discovery von LBS

Folie 2

Florian Pepping, November 2004

 Anzahl netzfähiger mobiler Endgeräte steigt rasant  Netzwerke stellen immer mehr Dienste zur Verfügung  User erwartet einfache Nutzung der Dienste - sofort und überall

Agenda • Dienst und Service Discovery Protokoll

• Protokolle Service Location Protocol (SLP) Salutation Universal Description, Discovery and Integration (UDDI) Universal Plug and Play (UPnP) Java Intelligent Network Infrastructure (JINI)

• Fazit & Bewertung

16.05.2016

PG LBS: Discovery von LBS

Folie 3

Florian Pepping, November 2004

    

Dienst und Service Discovery Protokoll • Was ist ein Dienst?

abgeschlossene (Programm-) Einheit mit spezieller Aufgabe kann Menge von Funktionen besitzen wird von Dienstanbieter erbracht und von Dienstnutzer verwendet Infrastruktur-, Mobilitäts-, Informations- und Ortungsdienste

• Wozu Service Discovery Protokolle?

(nach [CBL])

 Stellen einen Mechanismus für das dynamische Entdecken der verfügbaren Dienste in einem Netz und für das Sammeln der notwendigen Informationen zur Verfügung:  Suchen und Browsen des Dienstes  Auswahl des richtigen Dienstes  Benutzen des Dienstes

2

1: 2: 3: 4:

Dienstvermittler

Registrierung Dienstanfrage Antwort Dienstnutzung

1

3

Dienstnutzer

Dienstanbieter

4 nach ([MCFS]) 16.05.2016

PG LBS: Discovery von LBS

Folie 4

Florian Pepping, November 2004

   

(nach [CBL])

Service Location Protokoll (SLP 1) • Service Location Protokoll  Standard der Internet Engineering Task Force  Definition durch eine Reihe von RFC‘s  Protokoll zum Auffinden von Diensten in einem TCP/IP-Netzwerk

• Dreistufiges Konzept der SLP Architektur:  Benutzeragenten (User Agents):  Ausführung des Service Discovery  Client bezogen  Anmeldung der Dienste mit ihren Positionen und Eigenschaften beim Verzeichnisagenten

 Verzeichnisagenten (Directory Agents):  Service-Adressen und -Informationen der Service Agents sammeln  Beantworten der Service-Anfragen der User Agents Multicast

16.05.2016

PG LBS: Discovery von LBS

Folie 5

Florian Pepping, November 2004

 Dienstagenten (Service Agents):

Service Location Protokoll (SLP 2) • Zwei unterschiedliche Ausführungsmodi 1) Directory Agent verfügbar  Sammeln aller Serviceinformationen der Service Agents und User Agents durch Unicast  Service Agent gibt Dienst-Infos an Directory Agent (Service Advertisement)  User Agents suchen nach Services (Service Requests)

Directory Agent

16.05.2016

Service Request

Service Registration

Service Reply

Service Ack

PG LBS: Discovery von LBS

Service Agent

Service

Folie 6

Florian Pepping, November 2004

User Agent

Service Location Protokoll (SLP 3) • Zwei unterschiedliche Ausführungsmodi 2) Directory Agent nicht verfügbar  User Agents melden sich per Multicast bei allen SLP Multicast-Adressen  wird der Dienst eines Service Agent nachgefragt  Sendung einer Antwort zum User Agent  Service Agents melden sich periodisch bei allen SLP Multicast-Adressen  User Agents finden neue Dienste

Service Request

Service Agent Service Reply SLP nach: [MC], [SDuJ], [SLP], [SDP], [SLPTW], [TS] 16.05.2016

PG LBS: Discovery von LBS

Folie 7

Florian Pepping, November 2004

Service Agent

User Agent

Salutation (1) • Salutation (Anrede, Begrüßung)  Von Salutation Consortium entwickelt  mehr als 20 Unternehmen beteiligt (z. B. IBM, HP, Xerox, Toshiba,…)

• Ziel:  Kommunikation zwischen den Komponenten  Kommunikationstechnologie protokollunabhängig  Endgeräteunabhängigkeit

Server

Laptop

Handy

Server

SM-API

Salutation Application Interface

SM-API

Salutation Manager

Salutation Manager

Salutation Manager

Transport Manager Salutation Protocol Transport Layer 16.05.2016

Desktop

Transport Man.

Transport Man.

Transport Manager Salutation Protocol Transport Layer

PG LBS: Discovery von LBS

Folie 8

Florian Pepping, November 2004

• Architektur von Salutation

Salutation (2) • Hauptkomponente: Salutation Manager (SLM)  Funktionalität eines Service Brokers und Dienstregistrierung  Dienste anfragen durch Clients  anschließend Anforderung der Dienste beim SLM

• Aufgaben des Salutation Managers:  Salutation Manager verwaltet Registry; Clients können Dienste an- und abmelden  Minimalanforderung: Speicherung von Infos über Dienste, die an den SLM angeschlossen sind  Optional: Speicherung von Infos über Dienste anderer SLM‘s  Zentrales Verzeichnis für alle Dienste im Netzwerk möglich

 Service Discovery:  SLM findet Dienste, die bei anderen SLM‘s registriert sind  Vergleich von Attributen über Salutation Manager Protocol 16.05.2016

PG LBS: Discovery von LBS

Folie 9

Florian Pepping, November 2004

 Service Registry:

Salutation (3) • Aufgaben des Salutation Managers:  Service Availability:  Client Applikation fordert SLM auf, periodisch Verfügbarkeit der Dienste abzufragen  Status-Check zwischen SLM der Client Applikation und SLM des Dienstes

 Service Session Management

 Object Locate & Load  Salutation kann Doc Storage Service beschreiben  Doc Storage kann „Page Images“, Gerätetreiber, Anwendungsdaten,... enthalten  Find-and-Bind Salutation nach: [SDuJ], [Salutation], [SDP], [TS] 16.05.2016

PG LBS: Discovery von LBS

Folie 10

Florian Pepping, November 2004

 Aufbau der Datenleitung zwischen Client und gefundenem Dienst  3 Modi: Native Mode (Native Data in Native Packtes) Emulated Mode (Native Data in Salutation Packets) Salutation Mode

Universal Description, Discovery and Integration (UDDI) • Universal Description, Discovery and Integration Verzeichnisdienst für dynamische Webservices Entwicklung von IBM, Ariba, Sun und Microsoft (Konsortium von 300 Firmen) standardisiert das Publizieren und Finden von Infos über Webservices verwaltet und speichert Metadaten über Webservices und ist selbst Webservice  öffentliches Register (wie DNS für Business Anwendungen)  Eintragen/Abfragen von Daten über SOAP-basierte API‘s (nur 40 Operationen)  konzipiert für das WWW mit stark heterogenen Strukturen UDDI nach: [CBL], [UDDI], [WebS]  baut auf TCP/IP, XML, SOAP und WSDL UDDI White Pages

- Namensregister,

sortiert nach Namen - Auflistung der Anbieter mit Detailangaben - Kontaktinformationen (Telefon, Telefax, Mail,…) - textuelle Beschreibung 16.05.2016

Yellow Pages

- Branchenverzeichnis - Spezifische Suche nach Taxonomien (Ort, Dienstart) - Kategorisierung (Gelbe Seiten) - Verweist auf White Pages

PG LBS: Discovery von LBS

Green Pages

- Technische Details zu den angebotenen Web Services und zu ihrem Zugang - WSDL-Beschreibungen - Binding Informationen

Web-Service

Architektur

Folie 11

Florian Pepping, November 2004

   

Universal Plug and Play (UPnP 1) • Universal Plug and Play  Entwicklung durch UPnP-Forum; gegründet 1999  Über 450 Mitglieder, Microsoft an der Spitze  Ziel: Erweiterung der Plug & Play-Idee für den Fall, dass Geräte über TCP/IP miteinander verbunden sind  Steuerung über Webbrowser oder UPnP-Applikation  UPnP nutzt TCP, IP, UDP, HTTP und XML

   

16.05.2016

den UPnP fähigen Geräten den Diensten den (Benutzer-) Kontrollpunkten (Control Point) einer optionalen zentralen Komponente (SSDP-Proxy)

PG LBS: Discovery von LBS

Folie 12

Florian Pepping, November 2004

• UPnP-System besteht aus drei Grundkomponenten:

Universal Plug and Play (UPnP 2) • Service Discovery und Vernetzung in 5 Schritten: 1) Discovery and Advertisement

Voraussetzung: gültige IP-Adresse  Addressing melden der Existenz des Dienstes im Netz via UDP-Multicast Control Points fragen bei Beitritt verfügbare Dienste ab Basis ist das Secure Service Discovery Protocol (SSDP) Datenaustausch über Discovery-Messages Messages enthalten nur sehr wenig Information (effizient) Service Registrierung [3]

SSDP-Proxy

Service Antwort [4]

Server [1]

MulticastAnfrage

Client

16.05.2016

1) Control Point sendet Dienst-Anfrage über Multicast ins Netz 2) passender Service antwortet über UDP

[2]

Service Antwort [4]

3) Dienst registiert sich bei der zentralen Kommponente SSDP-Proxy 4) Dienstanfragen durch Proxy beantwortet

PG LBS: Discovery von LBS

Folie 13

Florian Pepping, November 2004

     

Universal Plug and Play (UPnP 3) • Service Discovery und Vernetzung in 5 Schritten: 2) Description

 Dienstbeschreibung in Form von XML-Dokumenten  Download via HTTP von der mitgeteilten URL  Inhalt: u. a. Hersteller, Statusvariablen, Dienstangebot, Steuerungs-URL‘s

3) Control

 Control Point sendet Controle Messages an Control URL des Dienstes  Steuerung der Dienstes über SOAP-Mitteilungen in XML-Format  Dienst sendet Ergebniswerte als Antwort    

Verhinderung ständiger Statusabfragen von Diensten Dienst gibt Updates der Statusvariablen bekannt Control Point kann Event-Messages bei jeder Statusänderung abonnieren Basis: General Event Notification Architecture von XML (GENA)

5) Presentation

 Alternative zu Steuerungs- und Statusmeldungen  Presentation-URL aus Beschreibung erlaubt Zugriff auf Dienst via Webbrowser  ermöglicht erweiterte Steuerung und Beschreibung

Florian Pepping, November 2004

4) Eventing

UPnP nach: [MC], [SDuJ], [SDP], [UPnP]

16.05.2016

PG LBS: Discovery von LBS

Folie 14

Java Intelligent Network Infrastructure • Java Intelligent Network Infrastructure (JINI)  von SUN definierter Standard (Satz von API‘s) für die Kommunikation von Geräten und Diensten untereinander  Veröffentlicht im Januar 1999 (aktuell Version 2.0_002)  Paradigma: Network Plug & Play, vereinfachte Netzwerknutzung

     

16.05.2016

Spontane Netzwerkbildung und –auflösung Verwaltung von Diensten und Clients im Netzwerk selbstständige Discovery brauchbarer Dienste Vereinfachung der Netzwerkadministration Mobile Computing (Positionswechsel ohne Anbindungsverlust) Selbstheilung

PG LBS: Discovery von LBS

Folie 15

Florian Pepping, November 2004

• Ziele von JINI

Java Intelligent Network Infrastructure Architektur • Logische Schicht (Middleware) über die einzelnen JVM‘s  Kommunikation über Netzwerk (RMI oder proprietäres Protokoll)  Applikationen setzen auf JINI auf

• Architektur bestehend aus drei Teilen

Service-Protokoll JINI Services JINI Services Druckdienste Kartendienste ÖPNV Druckdienste Kartendienste ÖPNV JINI JINI Discovery, Join, Lookup Infrastruktur: Discovery, Join, Lookup Infrastruktur: Discovery, Join, Lookup Prog.-Modell: Events, Transaktionen, Leasing Prog.-Modell: Events, Transaktionen, Leasing Java-RMI Java 2 Plattform Java 2 Plattform JVM, RMI, Netzwerk, Sicherheit, Serialisierung JVM, RMI, Netzwerk, Sicherheit, Serialisierung Betriebssystem

Betriebssystem

Prozessor

Prozessor Netzwerk

16.05.2016

PG LBS: Discovery von LBS

Folie 16

Florian Pepping, November 2004

1) Infrastruktur (Verwaltung / Verteilung) 2) Programmiermodell (Diensterstellung) 3) Services

Java Intelligent Network Infrastructure Zentrale Konzepte • Lookup und Discovery  besteht aus drei Protokollteilen: Discovery (Client und Server)

• Lookup-Service

Join (Server) Lookup (Client)

als Dienst implementiert

 findet und löst Dienste auf, registriert sie  identifiziert Dienste über Typ-Match-Regeln oder Attribute  Kontaktvermittlung zwischen Dienstanbieter und -nutzer  erzielen Dynamik und automatische Konfiguration des Netzwerkes  Zugriff auf Dienst nur gültig für bestimmte Zeitperiode (Lease erneuern)

• Remote-Events  verteilte Events, basierend auf Java-Bean Events  Abonnement von Events wird unterstützt 16.05.2016

PG LBS: Discovery von LBS

Corba/JINI

Folie 17

Florian Pepping, November 2004

• Leasing

Java Intelligent Network Infrastructure Ablauf Web-Server

Druck-Service

Lookup-Service

1 Discovery 2

3 Registrierung

LS-Service-Proxy

5 Use-Service

JINI nach: [JAOS], [JINI], [JINI 01], [JINISun], [SDuJ], [SDP] 16.05.2016

PG LBS: Discovery von LBS

Folie 18

Florian Pepping, November 2004

6

Service Discovery Protokolle Vor- und Nachteile

  

einfache Implementierung geeignet auch für beschränkte HW flexibel und skalierbar

 schwaches Sicherheitskonzept  keine bzw. schlechte Interoperatibilität  beschränkte Funktionalität, nur für TCP/IP

  

netzwerkunabhängig Kollaboration von SM untereinander unabhängig von Programmiersprache

 Spezifikation enthält keine Sicherheitsaspekte  vor allem auf Vermittlung von Hardware ausgerichtet

 

XML für Protokollstandardisierung aufbauend auf Protokollen niedriger Netzwerkebene (effizient) mit XML gute Dienstbeschreibung möglich

   

nur für TCP/IP-Netzwerke Spezifikation enthält keine Sicherheitsaspekte keine attributbasierte Suche von Diensten keine Interoperabilität

großer Funktionsumfang plattformunabhängig/objektorientiert Sicherheitskonzept (Policy/Sandbox) Mobile-Code Feature

   

setzt JVM auf jedem Endgerät voraus nur für TCP/IP-Netzwerke (im Standard) ressourcenhungrig (CPU, Speicher) unübersichtliche, komplizierte API von JINI

• Salutation

• Universal Plug & Play



• JINI     16.05.2016

PG LBS: Discovery von LBS

Folie 19

Florian Pepping, November 2004

• Service Location Protokoll

Fazit & Bewertung Anforderungen/Möglichkeiten unserer PG • Service Discovery im Rahmen der PG      

zentrale Komponente problemlos verfügbar, eher Routingprobleme keine Bandbreitenprobleme, da über WLAN Endgeräte genügend leistungsfähig (Laptop, PDA) genaue Dienstspezifikation und Dienstsuche über Attribute wichtig Plattformunabhängigkeit und Mobile-Code erforderlich Ist Sicherheitskonzept notwendig?  Klärung erforderlich

• Mögliche Systemarchitektur Zentrale Komponente Client registrieren Client

Software installieren

Dienst registrieren Dienst

best. Dienst anfordern Dienstadresse mitteilen

regelm. Dienststatus abfragen

- Client wählt im Browser www.upb.de - Splash-Screen mit Dienstangebot und Softwareinstallationsaufforderung 16.05.2016

PG LBS: Discovery von LBS

Folie 20

Florian Pepping, November 2004

Interaktion Dienst / Client

Fazit & Bewertung • Möglichkeiten für unsere Projektgruppe:  Vorschlag 1: Java Intelligent Network Infrastructure Plattformunabhängigkeit ist gegeben gute Kompatibilität mit anderen Anforderungen (z. B. Java-Applets) zahlreiche erweiterte Funktionalitäten (z. B. Transaktionen) Restriktionen wie leistungsschwache Endgeräte, geringe Bandbreite und die benötigten JVM‘s kommen im Projekt nicht zum Tragen  javabasiertes Sicherheitskonzept    

    

16.05.2016

setzt auf vorhandene, etablierte Technologien auf (HTTP, XML, TCP, IP) gute Dienstbeschreibung mit Hilfe von XML möglich bietet erweiterten Funktionsumfang (Eventing, Presentation) Konzept ohne zentrale Komponente kein Sicherheitskonzept vorhanden PG LBS: Discovery von LBS

Übersicht

Folie 21

Florian Pepping, November 2004

 Vorschlag 2: Universal Plug & Play

Fragen & Diskussion

Bitte jetzt um Fragen und Diskussion 16.05.2016

PG LBS: Discovery von LBS

Folie 22

Florian Pepping, November 2004

Vielen Dank für Ihre Aufmerksamkeit.

Quellenangaben

[JAOS]: [JINI]: [JINI 01]: [JINISun]: [MC]:

[MCFS]:

[Salutation]:

16.05.2016

Computer-Base Lexikon ComputerBase Medien Gbr, 2004 http://www.computerbase.de Jini Architectural Overview Sun Microsystems, 1999 Homepage der JINI-Gruppe http://www.jini.org Scott Oaks & Henry Wong: JINI in a Nutshell, Deutsche Ausgabe O’Reilly Verlag Köln, 1. Auflage 2001 Homepage von Jini bei SUN http://wwws.sun.com/software/jini Developing Ad-Hoc Component Systems for Mobile Computing Hauptseminar Prof. Dr. Broy TU München, WS 2000 / 2001 Antonino Leanza: Fachseminar Mobile Computing Juni 2000 Homepage Salutation Consortium http://www.salutation.org

[SDuJ]:

C. Hanin & B. Penz Service Discovery und Jini Seminar ang. Informatik, SS 2002 [SLP]: Homepage der OpenSLP-Gruppe http://www.openslp.org [SLPTW]: Charles Perkins SLP Technical Whitepaper, Sun 1997 http://www.playground.sun.com/srvloc [UDDI]: Homepage der UDDI-Gruppe http://www.uddi.org [UPnP]:

Homepage des UPnP Forums http://www.upnp.org [TS]: Tine Schneider: Basistechnologien für spontane Vernetzung, Seminar SS 2001 Eberhard-Karls-Uni-Tübingen [SDP]: Mirco Tegler: Service Discovery Protokolle Seminar technische Informatik, Januar 03 [WebS]: Ralf Heese: GIS-Datenbank für webservicebasierten Zugriff auf standortbez. Informationen Diplomarbeit Humboldt Universität Berlin

PG LBS: Discovery von LBS

Folie 23

Florian Pepping, November 2004

[CBL]:

Background

16.05.2016

PG LBS: Discovery von LBS

Folie 24

Florian Pepping, November 2004

Backgroundfolien mit zusätzlichen Informationen

16.05.2016

Protokoll

SLP

Salutation

UPnP

Jini

Entwickler / Organisation

IETF

Salutation Consortium

Microsoft

Sun

Entstehungsjahr

1997

1995

1999

1998

Status

In Entwicklung

Im Gebrauch

Übergang Marktreife

Übergang Marktreife

Lizenz / Spezifikation

Open Source

Open Source

Open Source / kontrolliert

Open Source / kontrolliert

Programmiersprache

Unabhängig

Unabhängig

Unabhängig

Java

Netzwerktransport

TCP/IP

Unabhängig

TCP/IP

Unabhängig

Dienst-Beschreibung

String

String

String

Java Interface

Server-Registrierung

Authenticated Multicast

nur lokal

Multicast / Unicast

Multicast mit TCP-Callback

Code-Mobilität

nein

nein

nein

Java-RMI

Sicherheitsmodell

nein

Ja

Ja

Java-basiert

HW / SW Anforderungen

TCP / IP

keine

TCP / IP, HTTP, XML

Java, JVM JRE 1.2 >

Interoperation mit anderen SDPs

nein

ja

nein

ja

PG LBS: Discovery von LBS

Folie 25

Florian Pepping, November 2004

Background Übersicht über die Protokolle

Background Broadcast, Multicast, Unicast • Broadcast    

Rundruf ins Netz mit Versand von Paketen an alle Teilnehmer Verwendung, wenn Empfängeradresse unbekannt jeder Empfänger muss über Verarbeitung entscheiden ein Broadcast wird von Routern nicht weitergeleitet

 Punkt-zu-Gruppe Übertragung (Mehrpunktverbindung)  gleichzeitiger Versand von Nachrichten an mehrere Teilnehmer oder geschlossene Teilnehmergruppe  Pakete werden an Router/Switch kopiert und dann weitergeleitet

• Unicast  Punkt-zu-Punkt Verbindung ohne Zwischenvermittlung  Pakete werden von Routern/Switches weitergeleitet nach [CBL] 16.05.2016

PG LBS: Discovery von LBS

Folie 26

Florian Pepping, November 2004

• Multicast

Background Unterschiede JINI – Corba • Corba  beruht auf dem Client-Server-Paradigma. Fokus liegt mehr auf verteilten Objekten als auf verteilten Diensten  vermittelt Methodenaufruf, wenn Server aktuell erreichbar  setzt eng gekoppeltes, homogenes System voraus; arbeit in heterogenem System nur mit hohem Aufwand möglich  sprachunabhängig  beruht auf dem Dienst-Paradigma. Clients beschreiben den Dienst, den sie benötigen  bietet Ausweichmöglichkeiten, wenn Dienst nicht erreichbar  informiert, wenn Dienst wieder bzw. neu verfügbar (Eventing)  unterstützt proaktive Fehlererkennung (Leasing)  bietet weitere Dienste wie Transaktionsmechanismen usw. 16.05.2016

PG LBS: Discovery von LBS

Folie 27

Florian Pepping, November 2004

• JINI

Background Service Desription in SLP • Service Description  Setzt sich zusammen aus

 Service URL  Service Scheme (Menge von Schlüssel-Wert-Paaren)  Service Requests wird Query hinzugefügt (formuliert als boolsches Prädikat)

• Beispiel

service:printer://lj4050.tum.de:1020/queue1 scopes = profs, pg-lbs, administrator printer-name = lj4050 printer-model= HP LJ4050 N printer-location = Room 409 color-supported = false pages-per-minute = 9 sides-supported = one-sided, two-sided Beispielprädikat: (&(q6))

16.05.2016

PG LBS: Discovery von LBS

Folie 28

Florian Pepping, November 2004

 Service Schema eines Netzwerkdruckers:

Universal Description, Discovery and Integration (UDDI) • Grundlegende Architektur von UDDI UDDI

Service Verzeichnis

Universal Description, Discovery and Integration als öffentliches Verzeichnis

Finden

Publizieren

WSDL

WSDL

Service Nutzer

16.05.2016

Binden (Kommunikation über SOAP-Nachrichten)

PG LBS: Discovery von LBS

Service Anbieter

Folie 29

Florian Pepping, November 2004

Kommunikation über SOAP

Background Definition Web-Service • Definition Web-Service  Ein Web-Service (Web Dienst) ist eine Software, die    

auf einem Server bereitgestellt wird, eine bestimmte Funktionalität als Blackbox zur Verfügung stellt, über gängige Internet-Protokolle unter Benutzung von SOAP zugreifbar ist und über eine mit WSDL beschriebene Schnittstelle verfügt.

     

16.05.2016

implementieren keine neuen Systeme Fassade für bestehende Systeme, um auf diese einfach zuzugreifen nutzen gängige Internet-Protokolle wie HTTP(S), SMTP und FTP verwenden XML-Standards SOAP und WSDL unabhängig von Programmiersprachen und Betriebssystemen zwei Erscheinungsformen: entfernte Prozeduraufrufe (synchron) oder Messaging (asynchron)

PG LBS: Discovery von LBS

Folie 30

Florian Pepping, November 2004

 Eigenschaften von Web-Services

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF