C++ implementation of a WebHook subscriber compatible with Windows IIS Native Code. This tool implements a server that dialogues WebSocket from a web page and client that dialogue with a WebHub that implementing a W3C WebSub. A WebHub sends HTTP POST notifications to WebHooks that are subscribed to the relevant topic. The objective is receive constant updates of a Sensor Thinks API server in a browser keeping a WebSocket channel open.
The STA-WebSub Hub, associated to a SensorThings API service, supports the W3C subscribe / unsubscribe protocol and transforms a subscription topic URL (hub.topic) into a MQTT topic.
The STA-WebSub Hub supports receiving MQTT notifications from the MQTT broker associated with the SensorThings API service. An implementation listens to notifications from the MQTT broker of the SensorThings API service. Once a notification is received, the implementation distributes the notification content to all subscribers using HTTP(S) as defined by the W3C WebSub Recommendation. Ganxet can be one of the subscribers.
In this diagrams, the subcriber is actually the Ganxet.
An implementation of a STA-WebSub system is available as open source:
- The STA-WebSub Hub is available as open source from Github: https://github.com/securedimensions/WebSub-Hub
- The W3C discovery protocol extension for the SensorThings API service is implemented as a plugin to FROST-Server:
- STA-WebSub plugin: https://github.com/securedimensions/FROST-Server-WebSub
- The FROST-Server: https://github.com/FraunhoferIOSB/FROST-Server
- A simple and generic WebSub Subscriber is available as open source from Github: https://github.com/securedimensions/WebSub-Subscriber
TAPIS https://github.com/grumets/TAPIS is an client implementation for Ganxet.
An instance of Ganxet is available at: wss://ogc.grumets.cat/WSMM and https://ogc.grumets.cat/WSMM