1UnitedPower: Websockets / PHP

Beitrag lesen

Meine Herren!

nun ändert jemand etwas, was Auswirkung auf den wochenplan hat. Optimal wäre ja, wenn man nun aus der Webanwendung heraus dem laufenden Script signalisieren könnte "hey es hat sich was geändert, sende dies an alle deinen verbundenen Clients"

Wenn deine Webanwendung dafür bisher keine Schnittstelle anbietet, musst du eben nachrüsten. Das Prinzip, das du damit verfolgst nennt sich "Inversion-Of-Control". Es gibt verschiedene Design-Pattern, die sich damit befassen: Publich/Subscribe oder Observer.

Am schönsten wäre es, wenn du so eine Schnittstelle innerhalb deiner Webanwendung unterbringen könntest. Dazu müsstest du erstmal die Bausteine identifizieren, die wirklich mit der Änderung von Datensätzen zu tun haben. An diesen Stellen könntest du dann eine Ereignisbehandlung für andere Systeme anbieten. Dein WebSocket-Server würde sich zum Beispiel da einhaken.

Wenn du an der alten Webanwendung keine Anpassungen mehr machen möchtest/kannst/darfst, dann kannst du hier eine neue Zwischenschicht einfügen. Diese Zwischenschicht ist dafür verantwortlich die Änderungen, die durch die Webanwendung vorgenommen werden, automatisiert zu erfassen und eine genormte Schnittstelle für fremde Systeme bereit zu stellen. Die automatische Erfassung der Änderungen ist allerdings komplizierter. Vielleicht bietet deine Datenbank-Schicht ja eine adäquate Lösung an, um auf Änderungen zu lauschen. Sonst bleibt dir wirklich nur noch das periodische Abfragen und Vergleichen mit dem jeweils letzen Zustand. Aber auch das wäre nicht weiter schlimm, denn durch so eine Zwischenschicht, werden diese zyklischen Statusabfragen nur noch von einem einzigen Akteur ausgeführt, der sie dann seinerseits auf elegantere Art weiter verbreitet. Es muss auf jedenfalls nicht mehr jedes Subsystem sich selbst um diesen Kram kümmern.

Genug an abstrakten Erörterungen. Worauf basiert deine Webanwendung denn eigentlich? Irgend ein Framework, auf das deine Webanwendung aufsetzt? Welches Datenbanksystem nutzt du?

--
“All right, then, I'll go to hell.” – Huck Finn