SuperVision-Server: Worker
Aus Wikipalo
Der Palo Supervision Server (SVS) ist ein Eventprozessor, das heißt, er ruft ereignisgesteuert frei definierbare Funktionen auf. Mögliche Anwendungsbereiche sind die Arbeit mit externen Berechtigungssystemen wie LDAP, das Protokollieren von Benutzeraktivität und Datenänderungen, oder Plausibilitätsprüfungen. Auch komplexe Rules, die sich negativ auf die Performance von Würfeln auswirken, lassen sich in vielen Fällen durch entsprechende Funktionen im SVS ersetzen, die dann nur bei Dateneingabe ausgeführt werden anstatt bei jeder Abfrage.
Die Ereignisse, auf die SVS reagiert, hängen davon ab, welche Programmzweige, sogenannte Worker, aktiv sind. Die Definition, welche Ereignisse welche Funktionen aufrufen, werden als php-Skripte definiert.
Der Standard-Worker kann entweder über die Kommandozeile oder die palo.ini gestartet werden. Dieser Worker reagiert auf die folgenden Ereignisse:
- Herunterfahren des Palo-Servers
- Beenden des Supervision-Servers
- Speichern einer Datenbank
Mit der Option "workerlogin information" kann der Standard-Worker zusätzich noch die Ereignisse Login und Logout überwachen. Dazu stehen drei verschiedene Modi zur Verfügung.
Die Option "workerlogin authentication" ermöglicht dem Standard-Worker die Überwachung von Logins sowie einen vom Benutzer-Passwort abhängigen Datenbankzugriff.
Die Option "workerlogin authorization" bietet drei weitere Zusätze zum Standard-Worker:
- Login-Überwachung
- Benutzerpasswort abhängigen Datenbankzugriff
- Überwachung der Gruppenzugehörigkeit des Benutzers
Dadurch wird der Palo-Systemwürfel aus der Verantwortung für diese Überwachung entlassen.
In diesem Modus werden Benutzername, Gruppenzugehörigkeit sowie das eingegebene oder von einem Drittsystem gelieferte Passwort überprüft und das in Palo hinterlegte Passwort ignoriert. Die Benutzergruppen und Gruppenrollen müssen in Palo festgelegt werden.
Neben dem Standard-Worker gibt es noch den Würfel-Worker. Dieser überwacht definierte Würfelbereiche.
Hier eine Übersicht der Ereignisse, auf die die Worker des Supervision-Servers reagieren sind:
- OnUserLogin: Wird vom SVS ausgeführt, wenn ein Benutzer versucht, sich einloggen. Kann nur nach Übergabe der zusätzliche Login-Überwachung an Palo benutzt werden.
- OnUserLogout: Wird vom SVS ausgeführt, wenn ein Benutzer versucht, sich auszuloggen. Kann nur nach Übergabe der zusätzliche Login-Überwachung an Palo benutzt werden.
- OnUserAuthenticate: Wird vom SVS ausgeführt, wenn ein Benutzer versucht, sich einloggen. Kann nur nach Übergabe der Variante "workerlogin authentication" an Palo benutzt werden. Gibt wahr oder falsch zurück, je nach Erfolg der Authentifizierung.
- OnUserAuthorize: Wird vom SVS ausgeführt, wenn ein Benutzer versucht, sich einloggen. Kann nur nach Übergabe der Variante "workerlogin authorization" an Palo benutzt werden. Gibt wahr oder falsch sowie die Gruppen, denen der Benutzer angehört, zurück. (Innerhalb der Skriptabarbeitung an das Skript)
- OnServerShutdown: Wird vom SVS in allen Modi ausgeführt, wenn Palo stoppt.
- OnTermination: Wird vom SVS in allen Modi ausgeführt, wenn Palo ein Beendigungssignal sendet. Dies geschieht beispielsweise, wenn ein Würfel keine heißen Zellen hat und Palo die Würfel-Überwachung beendet.
- OnDatabaseSaved: Wird vom SVS ausgeführt, wenn eine Datenbank gespeichert wird.
- OnCellChange: Innerhalb der Funktion "OnCellChange" der Datei "sep.inc.php" kann der Benutzer einen Zellbereich (Slice in einem Würfel) für jeden Würfel festlegen und für jeden Satz (="heißer Bereich") eine eigene PHP-Funktion definieren, welche dann ausgeführt wird, wenn der Benutzer einen Zellwert dieses "heißen Bereiches" ändert.
- OnDrillThrough: Dies ist eine spezielle Reaktion für die Interaktion mit dem Palo ETL Server.
Nähere Informationen zu den Parametern der einzelnen Funktionen finden sich in der "sep.inc.php", Anwendungsbeispiele im Unterverzeichnis "Samples".


