|
| 1 | += WIS 2.0 node - User requirements specifications |
| 2 | +:toc: |
| 3 | +:toclevels: 2 |
| 4 | +:toc-title: Table of Contents |
| 5 | + |
| 6 | + |
| 7 | +== Introduction |
| 8 | + |
| 9 | +=== Applicable Documents |
| 10 | + |
| 11 | +[width="100%",cols="20%,20%,60%",options="header",] |
| 12 | +|=== |
| 13 | +| |*Document Title* |*Reference* |
| 14 | +|AD-0 a| |
| 15 | +Manual on WMO Information System Volume II. WMO Information System 2.0 |
| 16 | +| https://library.wmo.int/records/item/68731-manual-on-the-wmo-information-system-volume-ii-wmo-information-system-2-0 |
| 17 | +|=== |
| 18 | + |
| 19 | +=== Reference Documents |
| 20 | + |
| 21 | +[width="100%",cols="20%,20%,60%",options="header",] |
| 22 | +|=== |
| 23 | +| |*Document Title* |*Reference* |
| 24 | +|RD-0 |WMO Information System 2.0 Guide |https://library.wmo.int/records/item/69130-guide-to-the-wmo-information-system-volume-ii |
| 25 | +|RD-1 |WMO Information System 2.0 Strategy |https://library.wmo.int/doc_num.php?explnum_id=4620 |
| 26 | +|RD-2 |WIS 2.0: How to define successful transition? |https://wmo-teams.atlassian.net/wiki/spaces/WIS2/pages/301957121/WIS2.0+how+to+define+successful+Transition |
| 27 | +|=== |
| 28 | + |
| 29 | +== System overview |
| 30 | + |
| 31 | +=== System Context |
| 32 | + |
| 33 | +The WIS 2.0 node will be available to receive data from the upstream data production system, and to serve these data via the internet to the WIS 2.0 environment. |
| 34 | + |
| 35 | +The WIS 2.0 node will be available to receive metadata and to serve these metadata via the internet to the WIS 2.0 environment. |
| 36 | + |
| 37 | +WIS 2.0 Global Brokers will subscribe to the WIS 2.0 node, and will receive publication messages when data and metadata become available. |
| 38 | + |
| 39 | +*WIS 2.0 node* |
| 40 | + |
| 41 | +. Selected core and recommended data from upstream systems |
| 42 | + |
| 43 | +. Notification messages to WIS 2.0 Global Brokers |
| 44 | + |
| 45 | +. Selected core data to WIS 2.0 Global Caches |
| 46 | + |
| 47 | +. Subscription messages from WIS 2.0 Global Brokers |
| 48 | + |
| 49 | +. Remaining core data and recommended data to WIS 2.0 end users |
| 50 | + |
| 51 | +[[IDEF0_Context_Diagram.jpg]] |
| 52 | +.IDEF0 Context Diagram |
| 53 | +image::IDEF0_Context_Diagram.jpg[Context Diagram, width=400, height=300] |
| 54 | + |
| 55 | +=== External Interfaces |
| 56 | + |
| 57 | +As identified in the context diagram <<IDEF0 Context Diagram>>, the WIS 2.0 node will have external interfaces with WIS 2.0 Global Brokers, and WIS 2.0 Global Caches. In each case, the communications will be via the internet. |
| 58 | + |
| 59 | +The Global Brokers will subscribe to the MQTT broker on the node. This will be done using the standard MQTT secure port, 8883. |
| 60 | + |
| 61 | +The Global Caches will retrieve core data from the node by accessing the HTTP server on the node. |
| 62 | + |
| 63 | +End users will retrieve core data not retained by the Global Caches from the node by accessing the HTTP server on the node. End users will also retrieve recommended data from the node by accessing the HTTP server on the node, subject to appropriate access control. |
| 64 | + |
| 65 | +=== Concepts and Constraints |
| 66 | + |
| 67 | +The WIS 2.0 node will be compliant with the Manual on WMO Information System Volume II. WMO Information System 2.0 ++[++AD-0++]++. |
| 68 | + |
| 69 | +== User requirements |
| 70 | + |
| 71 | +The purpose of the WIS 2.0 node (hereafter, referred to as the Node) is to be available to receive data from the production system, and to serve these data via the internet to the WIS 2.0 environment. |
| 72 | + |
| 73 | +In order to reach this target, the following high-level user requirements need to be fulfilled: |
| 74 | + |
| 75 | +*_USR-0001_* |
| 76 | + |
| 77 | +The Node shall comply with the specification given in the Manual on WMO Information System Volume II. WMO Information System 2.0, ++[++AD-0++]++. |
| 78 | + |
| 79 | +*_USR-0101_* |
| 80 | + |
| 81 | +The WIS 2.0 node shall include an MQTT broker, using MQTT 5.0 (hereafter, referred to as the Broker). |
| 82 | + |
| 83 | +*_USR-0150_* |
| 84 | + |
| 85 | +The Broker included in the Node shall be accessible via MQTT protocol over the internet. |
| 86 | + |
| 87 | +*_USR-0201_* |
| 88 | + |
| 89 | +The Node will allow subscriptions from the WIS 2.0 Global Brokers. |
| 90 | + |
| 91 | +*_USR-0210_* |
| 92 | + |
| 93 | +The Node will restrict subscriptions to the Broker by only WIS 2.0 Global Brokers by filtering their incoming IP addresses as made available by WMO Secretariat. |
| 94 | + |
| 95 | +*_USR-0220_* |
| 96 | + |
| 97 | +Access to the Broker shall be password controlled. |
| 98 | + |
| 99 | +*_USR-230_* |
| 100 | + |
| 101 | +The secure version of MQTT (MQTTS) shall be used. The use of SSL certificates to support this shall be maintained over the lifetime of the system. |
| 102 | + |
| 103 | +*_USR-240_* |
| 104 | + |
| 105 | +The Broker shall publish messages using MQTT’s Quality of Service (QoS) level 1. This is defined as follows: “_The broker/client will deliver the message at least once, with confirmation required._”. |
| 106 | + |
| 107 | +*_USR-0301_* |
| 108 | + |
| 109 | +Upon the arrival of data for distribution via WIS 2.0, the Broker shall publish an MQTT message announcing the availability of the data. |
| 110 | + |
| 111 | +*_USR-0320_* |
| 112 | + |
| 113 | +Notification messages published by the Node shall be formatted in geoJSON, in accordance with the Manual on WMO Information System Volume II. WMO Information System 2.0, ++[++AD-0++]++. |
| 114 | + |
| 115 | +*_USR-0340_* |
| 116 | + |
| 117 | +Notification messages published by the Node shall be published using an MQTT topic defined in accordance with the WIS 2.0 topic hierarchy. |
| 118 | + |
| 119 | +*_USR-0360_* |
| 120 | + |
| 121 | +The MQTT topic used in notification messages shall not be configured to retain messages. |
| 122 | + |
| 123 | +*_USR-0401_* |
| 124 | + |
| 125 | +The Node shall provide access to core data via HTTP over the internet. |
| 126 | + |
| 127 | +*_USR-0450_* |
| 128 | + |
| 129 | +The Node shall provide access to recommended data via HTTP over the internet, subject to appropriate access control. |
| 130 | + |
| 131 | +*_USR-0500_* |
| 132 | + |
| 133 | +The Node shall provide access to core data via HTTPS over the internet. |
| 134 | + |
| 135 | +*_USR-0550_* |
| 136 | + |
| 137 | +The Node shall provide access to recommended data via HTTPS over the internet, subject to appropriate access control. |
| 138 | + |
| 139 | +*_USR-0601_* |
| 140 | + |
| 141 | +The Node shall support the retrieval core data by the WIS 2.0 Global Caches. |
| 142 | + |
| 143 | + |
| 144 | +=== Extract from the Manual on WMO Information System Volume II. WMO Information System 2.0 ++[++AD-0++]++: |
| 145 | + |
| 146 | +FUNCTIONAL REQUIREMENTS OF A WIS NODE |
| 147 | + |
| 148 | +3.6.1 General |
| 149 | + |
| 150 | +3.6.1.1 A WIS node is the component that enables an NC or DCPC to publish their data and discovery metadata via WIS. |
| 151 | + |
| 152 | +3.6.1.2 See also 3.3 (Functional requirements of an NC) and 3.4 (Functional requirements of a DCPC). |
| 153 | + |
| 154 | +3.6.2 Provide access to data and discovery metadata |
| 155 | + |
| 156 | +3.6.2.1 A WIS node shall provide access to data in accordance with the WMO Unified Data Policy (Resolution 1 (Cg-Ext-2021)). |
| 157 | + |
| 158 | +3.6.2.2 A WIS node shall allow one or more Global Caches to access and download core data it publishes for real-time and near real-time exchange. Global Caches provide highly available access to copies of these resources. |
| 159 | + |
| 160 | +3.6.2.3 A WIS node may restrict access to its core data, relying on Global Caches providing access to data consumers. |
| 161 | + |
| 162 | +3.6.2.4 A WIS node may provide access to data using a Web-based Application Programming Interface (API). |
| 163 | + |
| 164 | +3.6.2.5 A WIS node shall provide access to discovery metadata describing the data it makes available and how that data can be accessed. Discovery metadata from a WIS node is added to the Global Discovery Catalogue to create a consolidated view of data available from all WIS nodes. |
| 165 | + |
| 166 | +3.6.2.6 A WIS node shall have the capability to publish notifications via a Message Broker. |
| 167 | + |
| 168 | +3.6.2.7 A WIS node shall publish notifications via its Message Broker about updates to the data and discovery metadata it provides – including the availability of new data, changes to discovery metadata, and removal of a data set from WIS. |
| 169 | + |
| 170 | +3.6.2.8 A WIS node shall use a standardized topic structure when publishing notifications. Note: More information on the standardized topic structure is provided in the Guidance on technical specifications of WIS 2.0. |
| 171 | + |
| 172 | +3.6.2.9 A WIS node shall allow one or more Global Brokers to subscribe to notifications published via its Message Broker. Global Brokers provide highly available distribution of notifications published by a WIS node. |
| 173 | + |
| 174 | +3.6.2.10 See also 4.3 (WIS-TechSpec-2: Publishing data and discovery metadata). |
| 175 | + |
| 176 | +Note: More information on the function and implementation of a WIS node is provided in the Guidance on technical specifications of WIS 2.0. |
| 177 | + |
| 178 | +3.6.3 Monitor performance of a WIS node |
| 179 | + |
| 180 | +3.6.3.1 Each WIS node shall contribute to monitoring the performance of WIS. |
| 181 | + |
| 182 | +3.6.3.2 See also 4.7 (WIS-TechSpec-6: Managing operations of the WIS). |
0 commit comments