This page describes the preliminary requirements and design for asynchronous event support in the NDS Labs Workbench. In order to update the GUI in real time, the server needs to send state changes back to the client. This can be achieved via WebSockets, HTTP Long Polling, or HTTP Streaming.
Platforms
We need to decide which browsers and versions we will support going forward. Browser support options might preclude use of some technologies.
Use case
The project administrator logs in to the NDS Labs Workbench GUI.
Events
Project-specific
- Stop stack
- Start stack
System-wide:
- Outages
Message formats
Authentication
Error Handling
References
https://en.wikipedia.org/wiki/WebSocket
https://tools.ietf.org/html/rfc6455
https://devcenter.heroku.com/articles/websocket-security
https://devcenter.heroku.com/articles/websockets
https://devcenter.heroku.com/articles/go-websockets