• Keine Ergebnisse gefunden

Verteilte Systeme Hochschule Mannheim

N/A
N/A
Protected

Academic year: 2022

Aktie "Verteilte Systeme Hochschule Mannheim"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Verteilte Systeme Hochschule Mannheim

VSY Team 5

Tim Braner, Jochen Gutermann, Steffen Hennh¨ofer, Sven Sch¨onung, Sebastian Tschirpke

8.4.2011

(2)

Gliederung

Architektur

Vor- und Nachtteile Server

HTTP-Request Rest-Interface

Konsequenzen und Probleme Clients

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 2/31

(3)

Architektur

(4)

Gliederung

Architektur

Vor- und Nachtteile Server

HTTP-Request Rest-Interface

Konsequenzen und Probleme Client

Vor- und Nachtteile

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 4/31

(5)

Architektur

(6)

Java

Vorteile

Plattformunabh¨angig

Automatische Speicherverwaltung Vielzahl an Open-Source libaries

Einfache Entwicklung von Server Anwendung durch Servlet-API Nachteile

Nicht so performant wie C++

keine Mehrfachvererbung

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 6/31

(7)

Client / Server

Warum Client Server?

Vorteile

Zentrale Regelung des Systems Konsistenz der Daten Einfach

Hohe Performance Nachteile

Ausfallgefahr

(8)

Webinterface

Warum Webinterface?

Vorteile

Keine eigene Software notwendig Vorkenntnisse nicht erforderlich Nachteile

Browserunabh¨angigkeit Aufwendig

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 8/31

(9)

REST-Interface

Warum REST-Interface?

Vorteile

Simpel, einfache Entwicklung Nutzt vorhandenes HTTP-Protokoll erlaubt die Nutzung anderer Clients Skalierbarkeit der Dienste

Nachteile

keine Standardisierung

Schwierige Abbildung der Anwendungsfunktionalit¨at auf Ressourcen

(10)

XML

Warum XML?

Vorteile

F¨ur Menschen verst¨andlich/lesbar Eigene Datenstruktur definierbar

Standardlibaries vorhanden z.B. zum Parsen Nachteile

Komplizierter als andere Formate wie z.B. Json

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 10/31

(11)

Server

(12)

REST Interface

Wurde im Jahre 2000 von Roy Fielding definiert Mehr ”Philosophie”, kein formaler Standart basiert stark auf den Ideen von HTTP

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 12/31

(13)

REST Interface

Hypertext Transfer Protokol

(14)

REST Interface

Methoden operieren auf Ressourcen Ressourcen

Identifiziert durch URIs Methoden

GET (Eine Ressource abfragen) POST (Eine Ressource hinzuf¨ugen) PUT (Eine Ressource ersetzen) DELETE (Eine Ressource l¨oschen) ...

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 14/31

(15)

REST Interface

Identifikation der Ressourcen In unserem Fall:

Spieler: http://localhost:8080/buzzwordbingo/rest/players Spiele: http://localhost:8080/buzzwordbingo/rest/games Boards: http://localhost:8080/buzzwordbingo/rest/boards

(16)

REST Interface

Repr¨asentation der Ressourcen: XML

GET /buzzwordbingo/rest/players HTTP/1.1 Host: 127.0.0.1:8080

...

<players from="0" to="99">

<link rel="prev" href="/rest/players/?from=0&to=99" />

<link rel="next" href="/rest/players/?from=100&to=199" />

<player>

<link rel="self" href="/rest/players/foo/" />

<name>foo</name>

<loginTime>1301662134113</loginTime>

</player>

<player>

<link rel="self" href="/rest/players/bar/" />

<name>bar</name>

<loginTime>1301662133984</loginTime>

</player>

</players>

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 16/31

(17)

REST Interface

HATEOAS

Hypertext As The Engine Of Application State

Clients sollen das REST Interface navigieren k¨onnen wie ein Mensch das Web navigiert

Entkopplung des Clients vom Server

Nur eine URL braucht bekannt zu sein: Entry Point

(18)

REST Interface

Entry Point

In unserem Fall: http://localhost:8080/buzzwordbingo/rest/

<resources>

<link rel="self" href="/rest/" />

<games>

<link rel="self" href="/rest/games/" />

</games>

<players>

<link rel="self" href="/rest/players/" />

</players>

<boards>

<link rel="self" href="/rest/boards/" />

</boards>

</resources>

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 18/31

(19)

REST Interface

REST API Definition

(20)

Problem: Wie kann verhindert werden dass ein Spieler auf Ressourcen eines anderen Spielers zugreift?

Antwort: Authentifizierung durch Passwort

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 20/31

(21)

Konsequenzen & Probleme

Passwort wird beim erstellen eines Spielers mitgegeben:

POST /rest/players

<player> <name>foo</name> <password>pass</password> </player>

(22)

Konsequenzen & Probleme

Gesch¨utzte Aktionen:

POST /rest/games/(Spiel erstellen)

DELETE /rest/players/{name} (Spieler ausloggen) POST /rest/players/{name}/games/{id} (Spiel joinen) DELETE /rest/players/{name}/games/{id} (Spiel verlassen) PUT /rest/boards/{id} (Spielfeld ¨andern)

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 22/31

(23)

Konsequenzen & Probleme

HTTP Basic Authentication

Client schickt Anfrage an Server

Server meldet dass ein Passwort n¨otig ist Client sendet Request mit Passwort DELETE /rest/players/foo HTTP/1.1 Host: 127.0.0.1:8080

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

(24)

Konsequenzen & Probleme

Vorsicht

Ubertragung praktisch unverschl¨¨ usselt

Kein userdefiniertes Passwort verwenden (z.B. UUID) Gesamte Kommunikation ¨uber SSL laufen lassen

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 24/31

(25)

Konsequenzen & Probleme

Konsequenz: Clients m¨ussen Server regelm¨aßig anfragen um Ver¨anderungen mitzubekommen

um zu erfahren ob ein Spieler bereits gewonnen hat

um zu erfahren ob ein Spieler ein Spiel betreten oder verlassen hat

(26)

Konsequenzen & Probleme

Problem: Wie erf¨ahrt der Server ob ein Client ¨uberhaupt noch anwesend ist?

Verbindung gekappt Client abgest¨urzt ...

Antwort: Anhand z.B. der Polls f¨ur die Spielerliste!

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 26/31

(27)

Konsequenzen & Probleme

(28)

Clients

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 28/31

(29)

Clients

Zwei Clients

Browser-Client (AJAX) Java-Client

(30)

Clients

Webclient

Oberfl¨ache: HTML/CSS

Asynchrones Javascript (mit jQuery) Pollen der Spielerliste

Pollen des m¨oglichen Gewinners Cookies zum Sessionmanagement

VSY Team 5 – Verteilte Systeme – Hochschule Mannheim – SS2011 30/31

(31)

Clients

Javaclient

Oberfl¨ache: Swing

Kommunikation ¨uber REST-Template XML zum Verarbeiten der Informationen

Referenzen

ÄHNLICHE DOKUMENTE

Hat sich nicht jedes Kind schon einmal gefragt, was der Weihnachtsmann den Rest des Jahres macht.. Die überschaubaren Texte und die lustigen Bilder motivieren auch

• no-store: Antwort- oder Anfragemitteilungen dürfen nicht gespeichert werden. • weitere: max-age, max-stale, min-fresh, no-transform, only-if- cached, public,

Kommt es Bettina Gaus vor allem da- rauf an, ihren Lesern ein anderes Bild von Afrika zu vermitteln, geht Sebas- tian Schoepp für Lateinamerika noch einen Schritt weiter:

Im Jahr 2019 wurden drei Projekte der Vereine KETAAKETI, Chancen für Alle und Human &amp; Environment mit jeweils 9.071,54 Euro aus den Rest-Cent-Mitteln gefördert..

Wir erleben in unseren Projektreisen und durch die zahlreichen Telefonate mit SPOWC größte Motivation und Freude über das gemeinsam Erreichte bei unseren Partnern, den

In Nepal werden bislang durch unseren Partner SPOWC in 34 Projekten mehr als 11.000 Schüler in Social Classes mit Hilfe des 1-€-Modells unterstützt; mehr als 750

ment e. V.) und „Perspektiven für Straßenkinder in Kamerun“ (Chancen für Alle e. V.) werden auch in diesem Jahr weiterhin durch die Rest-Cent-Initiative gefördert.. Der Verein

[r]