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:
- 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.
- 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.
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:
- Regelmäßiger Abruf: brokerize fragt periodisch Orders, Positionen und Stände der Verrechnungskonten beim Broker ab.
- Speicherung in der brokerize-DB: Die abgerufenen Daten werden in der brokerize-Datenbank zwischengespeichert.
- 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.
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.