Voor een rapportageprogramma waar tientallen werkplekken gelijktijdig mee werken ben ik benieuwd naar het volgende:

Het gebouwde systeem haalt middels een Jquery/AJAX/JSON refresh elke seconde de resultaten/rapportages van 1 (flinke) query binnen.
Momenteel werken 10 werkplekken met dit programma. Dit betekend dat elke cliënt elke seconde de query opvraagt en op het scherm toont.
Ik ben benieuwd of er een betere manier is om dit te doen b.v. dmv XML / SOAP / JSON.
De bedoeling is dat als cliënt 1 een rapportage aanmaakt, alle overige ingelogde cliënt dit ook meteen op het scherm zien (dus realtime).
Als je elke seconde een zware query wilt uitvoeren, dan zie ik in mijn ogen een proces wat geoptimaliseerd kan worden. Elke seconde een AJAX-requst lijkt mij overdreven, een push-systeem via sockets lijkt mij zinvoller als het moet plaatsvinden. Dan worden de wijzigingen door eén systeem naar alle clients gestuurd, in plaats van die steeds allen tezamen een request doen naar een server die het al zwaar genoeg heeft.

Dus duik eens in de wereld van websockets.....
Als het echt realtime moet zijn dan zijn websockets het enige juiste antwoord. Dit vereist echter wel een speciale extensie op je webserver.

[Edit]
Waarom ben je altijd zo snel Ariën? :-)
Ok! Dat klinkt onbekend :)
Iemand een linkje naar iets waar ik mee vooruit kan?
Misschien kun je hier eens mee beginnen?

klik hier

Ik zie dat het linkje niet werkte... nu misschien wel?
Nice! Thx heren!
Enige uitdaging is denk ik wel dat alle poorten behalve 80 en 443 gesloten zijn.
Is het mogelijk om vormgeving te geven aan websockets (layout), en ook hetgeen gerapporteerd is op te slaan in MySQL (en deze te fetchen zodra er een update is)?
Dan moet MySQL het wel kunnen pushen. En mij bekruipt de gedachte via een rondje Google, dat MySQL dit niet kan. Plus dat clients niks met MySQL te maken hebben.

Maar waarom kunnen de andere poorten niet open? Ik neem aan dat je met jouw systeem toch niet op een simpel shared webhostingpakket zit? Desnoods kan je een VPS ervoor inzetten, en NodeJS erop installeren.
Ik zou deze volgorde aanhouden:

- rapportage formulier
- POST formulier, valideer en sla gegevens op in mysql database
- PUSH het de nieuwe (zojuist opgeslagen) rapportage naar de clients

[size=xsmall]Toevoeging op 15/03/2020 14:32:14:[/size]

Alles is gewoon PHP alleen in stap drie voeg je er een nieuwe functionaliteit aan toe.
Ok.. dan gaat websockets het niet worden, zijn er andere opties wellicht?
Het programma draait intern (cloud) op een VPS.

Reageren