Draft: Technical Specifications for WIS 2 Global Infrastructure Nodes for the WIS 2 pilot-phase

Version 0.2 (28/2/2023)

This page contains information about how WIS 2 Global Infrastructure Nodes participating in the pilot phase must be configured. Requirements designated must are mandatory ,whereas those designated can are optional. Upper-case spelling designates abstract WIS 2 components (such as WIS 2 Node), whereas lower-case spelling refers to technical components (broker, a MQTT instance).

Global Broker configuration

  1. A Global Broker should subscribe to all WIS 2 Nodes

  2. At least two GB should be subscribed to WIS2 Nodes

  3. The Global Broker must perform sanity and authenticity checks to ensure that notifications obtained from WIS 2 Nodes are valid, that a node only publishes data with a topic corresponding to the country that registered the node, and filter duplicate messages.

  4. The Global Broker must re-publish (with the same topic) on their broker component all core data notifications obtained from Local Nodes to which they are subscribed. Global Caches must be able to subscribe to these notifications, while the same topics must be restricted to the general public (because the general public must use notifications produced by Global Caches). For this, each GB/GC pair must bilaterally agree credentials used by the Global Cache to access the Global Broker

  5. The Global Broker must offer MQTT clients the option to connect via TLS.

  6. The Global Broker must subscribe to at least two Global Caches, and should subscribe to notifications from all Global Caches.

  7. The Global Broker must filter duplicate messages obtained from Global Caches.

  8. The Global Broker must re-republish (with the same topic) on their broker notifications obtained from Global Caches they are subscribed to. These notifications are intended for WIS Users and must be accessible to the “everyone/everyone” user.

  9. The Global Broker must use TLS connections when subscribing to Global Caches.

Global Cache Configuration

  1. A Global Cache must subscribe to multiple Global Brokers to obtain notifications.

  2. A Global Cache must use TLS connections when subscribing to the Global Brokers.

  3. A Global Cache must filter messages for identical data, download the associated data, make it available in the cache and publish a new notification. The new notification message must reference the data in the Global Cache and use a new topic. The new topic is obtained by replacing “origin” with “cache“ in the original topic. Thus, the topic origin/a/wis2/{country_code}/{centre_id}/data/core/# from a node must become cache/a/wis2/{country_code}/{centre_id}/data/core/#.

  4. The new notification must be published on a local broker similar to the broker used by WIS2 Nodes. Access to the broker must be limited Global Brokers. For this, the Global Cache must bilaterally agree credentials used by each Global Broker to access the broker of the Global Cache.

  5. The Global Cache must offer Global Brokers the option to connect via TLS