GeoEvent-driven Architecture
GeoMQTT can be used to deploy a GeoEvent-driven architecture. The architecture utilizes GeoEvents and GeoPipes for push-based messaging.
Spatiotemporal events in Geospatial IoT applications often drive a feedback loop which involves different systems: events of the physical world are observed by sensor platforms, they are analysed by processes, decision are made based on the results and predictions, and downstream activities are invoked. The spatiotemporal evens must be disseminated between the parts of the application.
The architecture orientates on the pattern of Event-driven Architectures (EDA), which is here driven by GeoEvents, a message type to encode spatiotemporal events. A GeoEvent generator (e.g., a sensor) publishes GeoEvents to a distributor (Broker) that disseminates the GeoEvents to interested systems to drive downstream activities. The dissemination process is controlled by the specification of interests through GeoSubscriptions. These include topic, spatial and temporal filters.
GeoEvents are sent through GeoEvent channels from one system to another. The temporal sequence of GeoEvents that occupy a channel are called GeoStreams. Producers and consumers of GeoEvents can be linked by GeoEvent channels through a distributor. This push-based end-to-end link of a producer and a consumer is a GeoPipe.