3 - Registry [ID:22006]
50 von 58 angezeigt

Hallo zusammen! In Aufgabe 1 soll euer Client eine Registry verwenden, um die Adressen eurer

Web-Service herauszufinden. Was der Sinn dahinter ist und wie ihr das in der Aufgabe

realisieren sollt, erzähle ich euch in diesem Video.

Warum verwenden wir denn überhaupt eine Registry? Man könnte die Adresse des Web-Services dem

Client ja auch einfach manuell konfigurieren. Das Problem hierbei ist, dass in einem System

normalerweise nicht nur ein Web-Service läuft, sondern viele verschiedene. Auch hat ein Web-Service

üblicherweise keine feste Adresse. Unser Service soll ja möglichst robust und zudem

noch dynamisch sein. Wenn der Server, auf dem der Dienst gerade läuft, abstürzt, wollen

wir den Dienst also so schnell wie möglich auf einem anderen Server starten. Dann ändert

sich aber natürlich die Adresse des Dienstes. Auch wollen wir gegebenenfalls mehrere Instanzen

unseres Dienstes starten, wenn es gerade einen großen Ansturm gibt. Weihnachten zum Beispiel.

In so einem Fall geben wir der einen Hälfte der Clients vielleicht Adresse A und der anderen

Adresse B, um die Last möglichst gleichmäßig zu verteilen. Um mit unserem Web-Service interagieren

zu können, benötigt ein Client aber natürlich die aktuelle Adresse des Web-Services. Hier

kommt die Registry ins Spiel. Die Registry ist ein eigener Dienst, der die Metadaten

der anderen zur Verfügung stehenden Dienste verwaltet, also zum Beispiel ihre Adressen.

Damit man hier keine Hand-to-Hand-to-Eye-Probleme bekommt, muss die Adresse der Registry aber

natürlich global im System bekannt sein. Und so sollte sich auch möglichst selten ändern.

Das ist allerdings nicht ganz so schlimm, da es sich hier nur um einen einzigen Dienst

handelt. Zudem sollte die Anfragelast der Registry üblicherweise verhältnismäßig

klein sein, da Clients die Registry ja normalerweise nur dann anfragen, wenn sie Informationen

über einen anderen Dienst brauchen. Solange sich diese dann nicht ändern, kommuniziert

der Client danach direkt mit dem gewünschten Web-Service. Die Registry ist also eine Art

Treffpunkt zwischen Dienst und Client. Ein Dienst registriert sich in der Registry mit

seiner Adresse und hält diese dort aktuell. Ein Client kann jetzt über die Registry die

derzeitige Adresse eines Dienstes abfragen. Wie schon erwähnt, läuft die eigentliche

Kommunikation des Clients mit dem Dienst dann an der Registry vorbei. Sie hat ihre Aufgabe

in dem Moment erfüllt. Für die Aufgabe bekommt ihr von uns Zugang auf eine vom Lehrstuhl

gehostete Registry. Diese ist, wie auch eure Web-Services, mit REST implementiert und liegt

auf einem Rechner des Lehrstuhls. Die Adresse der Registry findet ihr im Preuverzeichnis

in der Datei Registry.address. Unsere Registry verwaltet die Daten in einem

hierarchischen Schema. Auf unterster Ebene gibt es Gruppen. Hier gibt es eine Gruppe für

jede Übungsgruppe. Unter Gruppen kann es Dienste geben. Es kann mehrere Dienste pro

Gruppe geben, ein Dienst ist aber immer nur einer Gruppe zugeordnet. Ein Dienst hat wiederum

beliebig viele Schlüsselwertpaare. Auch hier ist wieder jedes Paar genau einem Dienst zugeordnet.

Hier seht ihr beispielhaft, wie so eine Registry aussehen kann.

Zum Lesen und Modifizieren bittet die Registry zudem folgende Schnittstellen an. Die Gruppen

sind fest und können nicht modifiziert werden. Dienste und Schlüsselwertpaare können aber

nach Belieben erstellt und gelöscht werden. Im Preuverzeichnis findet ihr wieder eine

ausführliche Beschreibung der Registry API. Der Zugriff auf unsere Registry ist durch

Nutzer geschützt. Jeder bekommt dafür von uns Zugangsdaten per E-Mail geschickt. Wenn

ihr noch keine Zugangsdaten habt, aber schon mit der Bearbeitung der Aufgabe beginnen

wollt, könnt ihr zum Beispiel mit der Implementierung der Web-Services anfangen. Die Registry-Teilaufgabe

ist relativ unabhängig und kann auch zu einem späteren Zeitpunkt erledigt werden.

Euer Registry-Account hat dabei Leser- und Schreibrechte auf eure eigene Gruppe und

alle Dienste darin. Die Einträge anderer Gruppen können nur gelesen, aber nicht geschrieben

werden. Damit euer Client auf die Registry zugreifen kann, muss sich der Client einmalig

mit Nutzername und Passwort registrieren. Das macht man in Java mit dem HTTP Authentication

Feature, der Rest API. Im Rahmen der Aufgabe müsst ihr die Kommandos im Registry-Client

zuerst implementieren. Folgende Kommandos soll es dabei geben.

Teil eines Kapitels:
Web-Services

Zugänglich über

Offener Zugang

Dauer

00:04:54 Min

Aufnahmedatum

2020-10-27

Hochgeladen am

2020-10-27 15:07:03

Sprache

de-DE

Registrierung von Web-Services

Einbetten
Wordpress FAU Plugin
iFrame
Teilen