Zum Hauptinhalt springen

Sitzungen (Sessions)

Sitzungen sind ein zentrales Konzept bei brokerize. Um das System zu verstehen, ist es wichtig, zwischen brokerize-Sitzungen und Broker-Sitzungen zu unterscheiden.

brokerize-Sitzung

Die brokerize-Sitzung identifiziert den Endbenutzer gegenüber der brokerize-Plattform. Jede API-Anfrage erfolgt im Kontext eines solchen Benutzers. brokerize unterscheidet dabei zwischen zwei Arten:

  1. Gast-Sitzungen (Anonym): Ein Gast-Konto ist flüchtig; alle Daten werden gelöscht, sobald die Sitzung endet oder abläuft. In den meisten Fällen werden Gast-Sitzungen über Nacht gelöscht.
  2. Registrierte Benutzer: Diese Benutzer haben ein dauerhaftes Konto bei brokerize. Ihre Daten (wie Portfolios und Historien) bleiben dauerhaft gespeichert, und sie können sich jederzeit mit ihren Zugangsdaten anmelden.

Wichtig: Aus technischer Sicht sind Gast-Sitzungen vollwertige Sitzungen. Alle Features, die einem registrierten Benutzer zur Verfügung stehen, können auch von einem Gast-User genutzt werden (z.B. Anbindung echter Broker, Trading). Der Hauptunterschied liegt lediglich in der Dauerhaftigkeit der Daten innerhalb von brokerize.

account diagram

Broker-Sitzung

Eine Broker-Sitzung entsteht, wenn sich ein Benutzer innerhalb seiner brokerize-Sitzung mit einem konkreten Broker verbindet.

Die meisten Broker ermöglichen die Authentifizierung über das OAuth-Verfahren. Dabei werden Sie sicher zur Webseite oder App Ihrer Bank weitergeleitet und kehren nach der Freigabe zu brokerize zurück. Details zu diesem Standard finden Sie unter oauth.net.

  • Authentifizierung: Die Authentifizierung erfolgt immer direkt beim Broker. brokerize speichert niemals Ihre Broker-Zugangsdaten (Benutzername/Passwort). Wir speichern nur die vom Broker nach erfolgreichem Login ausgegebenen Token oder Sitzungs-IDs.
  • Lebenszyklus: Diese Broker-Sitzungen sind meist zeitlich begrenzt. Sie enden, wenn der Benutzer sich abmeldet (LogoutSession) oder sie Seitens des Brokers beendet wird.
  • Zustand: Eine aktive Broker-Sitzung macht ein Portfolio "Online". Ohne aktive Sitzung bleibt das Portfolio im System "Offline" sichtbar (mit dem letzten bekannten Stand).

Datensynchronisierung (Sync-Prozess)

Sobald eine aktive Broker-Sitzung besteht, startet brokerize einen Hintergrundprozess zur Synchronisierung der Daten:

  1. Regelmäßiger Abruf: brokerize fragt periodisch Orders, Positionen und Stände der Verrechnungskonten beim Broker ab.
  2. Speicherung in der brokerize-DB: Die abgerufenen Daten werden in der brokerize-Datenbank zwischengespeichert.
  3. API-Anfragen gegen die DB: Wenn Ihre Anwendung Daten wie das Portfolio abruft (GetPortfolios, GetPortfolioPositions), werden diese Anfragen gegen unsere Datenbank bedient, nicht direkt gegen den Broker.
sessions diagram

Vorteile dieses Ansatzes:

  • Geschwindigkeit: API-Antworten sind extrem schnell, da kein Live-Request zum Broker abgewartet werden muss.
  • Verfügbarkeit: Der Benutzer kann sein Portfolio auch dann einsehen (letzter bekannter Stand), wenn er gerade nicht aktiv beim Broker eingeloggt ist oder der Broker kurzzeitig nicht erreichbar ist.
  • Reduzierte Last: Wir optimieren die Anzahl der Anfragen an die Broker-Schnittstellen.

Sitzungs-Status & Online-Sitzungen

Ein Portfolio in brokerize kann zwei Zustände haben:

  • Online: Es gibt eine aktive Sitzung zum Broker. Daten können aktualisiert und Orders aufgegeben werden.
  • Offline: Die Sitzung ist abgelaufen oder wurde beendet. Der letzte Stand der Daten ist weiterhin in der brokerize-DB sichtbar, aber für Aktionen (wie Trading) muss sich der Benutzer erneut anmelden.