Zum Inhalt

Abläufe #

Für Externe ist es sehr schwer, den Ablauf einer Applikation zu verstehen, wenn man noch nicht damit gearbeitet hat. Diese Problematik kann mittels Sequenzdiagrammen behoben werden. Sie stellen einen groben Ablauf einer Tätigkeit dar.

Zwischen dem Benutzer und den Services gibt es noch einen Controller, welcher die Abfragen annimmt. Da dieser jedoch nur den Service aufruft, wurde dieser aus dem Sequenzdiagramm zur Übersichtlichkeit gelassen.

Auth#

Die Authentifizierung ist in drei Teile unterteilt: erstellen, neu erstellen und löschen. Die Accounts werden in der Datenbank gespeichert.

Account erstellen#

Beim Erstellen wird überprüft, ob bereits ein Account mit denselben Anmeldedaten existiert. Wenn nicht, dann wird ein neuer Account erstellt und der API-Key zurückgegeben.

Account erstellen

Account neu erstellen#

Wenn ein API-Key veröffentlicht wurde oder die Anmeldedaten nicht mehr gültig sind, dann muss der Key neu erstellt werden. Dies kann mit der folgenden Funktion erreicht werden:

Account neu erstellen

Account löschen#

Beim Löschen eines Accounts wird nur überprüft, ob der Key gültig ist. Wenn er gültig ist, dann wird der Account gelöscht, falls er existiert.

Account löschen

Abfragen#

Das JSON, welches von einem externen Server zurückgegeben wird, kann entweder von Instagram oder Twitter stammen. Da dies nur der Ablauf der Basis Klassen ist, kann diese hier nicht beschrieben werden. Aus diesem Grund wurde das Mapping des Users und des Posts nicht beschrieben. Das Mapping ist unterschiedlich, weswegen es Plattform abhängig gemacht wird.

Die Abfragen sind mithilfe eines Rate Limiters limitiert, dass nur eine bestimmte Anzahl pro Minute abgefragt werden kann.

Status#

Das Abfragen des Statutes eines Controllers ist ein sehr einfacher Ablauf. Es wird nur überprüft, ob der Service dahinter initialisiert wurde.

Status Abfragen

User#

Ein User kann alle 12 Stunden erneut abgefragt werden. Wenn diese Zeit noch nicht überschritten ist, dann wird eine gecachte Version des Users zurückgegeben. Beim Mappen des JSONs werden alle benötigten Daten ausgelesen. Es wird keine weitere Klasse oder Funktion aufgerufen, weswegen dies hier nicht aufgeführt wurde.

User abfragen

Posts#

Für die Posts wird der User auch abgefragt, damit in der Datenbank die Verlinkung gemacht werden kann. Diese Verlinkung ist notwendig, damit die Posts in der Datenbank gespeichert werden können. Dieser Teil wurde aus dem Sequenzdiagramm gelassen, da er unter User bereits ausführlich beschrieben wurde.

Posts Abfragen

Mapping#

Beim Mapping wird aus dem JSON mithilfe des ObjectMappers die Felder herausgelesen. Dabei wurden die einzelnen Schritte zur Übersicht in Methoden aufgeteilt.

Map JSON zu Instagram Post

Map JSON zu Twitter Post