...
Welke technieken die veel gebruikt worden of ons bekend zijn maken geen gebruik van een database of andere database
...
Polling
Regterschot Racing gebruikt een API om de data van de Raspberry Pi in de database te zetten. De client, in dit geval onze Java web applicatie, kan een request sturen naar deze API. Als de API nieuwe data heeft zal hij deze teruggeven aan de applicatie. Als deze geen nieuwe data heeft krijgt de applicatie een bericht terug dat er geen nieuwe data is. Dit proces is ook wel bekend als polling. Het is vergelijkbaar met het verversen van een webpagina of je email om te kijken of er al iets is aangepast/ of er nieuwe email is.
Push API
Long polling
Long polling lijkt op polling, al is er 1 verschil. De client stuurt ook in dit geval Een push API lijkt op een Pull API. Ook dit keer stuurt de Java web applicatie een request naar de server, in dit geval de API . Dit keer geeft de API echter geen directe reactie. Met long polling wacht de API tot hij nieuwe data van Regterschot Racing. De server krijgt deze request binnen maar stuurt niet gelijk een response terug. De server wacht echter tot hij nieuwe info heeft. Op het moment dat de API nieuwe data heeft die de web applicatie wil hebben zal deze de data naar de applicatie sturen. Hierna kan de applicatie dat dat zo is stuurt hij deze info terug aan de client. De client stuurt op dat moment gelijk weer een nieuwe request sturen. Dit process staat ook wel bekend als long polling.
Websocket
Een andere optie die lijkt op een Push API is het gebruik van een websocket. Bij een websocket wordt er een connectie gemaakt tussen bijvoorbeeld de web Applicatie en API. Op het moment dat de API nieuwe data heeft wordt ook deze weer naar de web applicatie gestuurd. Het verschil met een Push API is dat er in dit geval geen nieuwe request hoeft te worden gemaakt. De websocket verbinding blijft bestaan en de API kan dus gelijk weer nieuwe data sturen als deze dat heeft.
Conclusie
Bronnenlijst
Amm, H. (z.d.). Easily explained: Differences between Push and Pull APIs. adenin. Geraadpleegd op 9 november 2022, van https://www.adenin.com/blog/push-vs-pull-api/
Herrera, E. (2018, 4 mei). Getting data in realtime from MySQL with Java. Pusher. https://pusher.com/tutorials/realtime-mysql-java/
Veen, T. [Tieme] Van. (2012, 12 oktober). What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet? Stack Overflow. https://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet