Download dei Dati

Uno degli obiettivi fondamentali della piattaforma Radara-DPC è la pubblicazione dei dati meteo radar non solo per mera visualizzazione, ma anche per il libero download e per l’utilizzo da terze parti.

La piattaforma Radar-DPC include uno stack di servizi Representational State Transfer (REST), utilizzati nel back end dagli applicativi, ma che rappresenta anche utile API (Applicatio Program Interface) per il download dei dati Radar e più in generale per il lavoro con i servizi esposti da parte di applicazioni di terze parti.

La REST API è documentata nell’apposita sezione REST API

WebSocket

Tuttavia, per rendere più efficienti le operazioni di download degli aggiornamenti del dato d’interesse, il mero utilizzo della REST API è sconsigliato: il rischio è infatti quello di inoltrare richieste pull ai servizi quando non ve ne sia bisogno, ovvero quando ancora non sia presente un nuovo campione dal dato. Inoltre è da notare che i prodotti hanno dei periodi di acquisizione differenti, quindi bisogna richiederne il download specificando il corretto parametro temporale per lo specifico prodotto. Qualora alla API venga richiesto un prodotto ad un tempo che non esiste, essa genera un errore.

Per questo motivo è stato implementato un servizio WebSocket, quale canale di comunicazione ove con logica push viene comunicata la presenza di nuovi campioni del dato, evitando la generazione di errori e di richieste non necessarie.

L’URL del WebSoket è:

wss://7ju75f7wai.execute-api.eu-south-1.amazonaws.com/Prod/

A scopo illustrativo si riportano alcuni esempi di messaggi trasmessi sul WebSoket:

MESSAGE
subscription:sub-0
destination:/topic/product
message-id:T_sub-0@@session-OG2P1Kwc2OiOtJNNaeaQwQ@@4
redelivered:false
content-type:application/json;charset=UTF-8
content-length:74

{
  "productType" : "VMI",
  "time" : 1556116200000,
  "period" : "PT5M"
}
MESSAGE
subscription:sub-0
destination:/topic/product
message-id:T_sub-0@@session-OG2P1Kwc2OiOtJNNaeaQwQ@@3
redelivered:false
content-type:application/json;charset=UTF-8
content-length:74
{
  "productType" : "SRI",
  "time" : 1556116200000,
  "period" : "PT5M"
}

Come è possibile notare, viene espressamente indicato il valore per il parametro time del nuovo campione presente. Ciò consente di poter comporre in modo corretto una richista di download alla REST API, esprimendo il valore del parametro time in modo coerente.

Client Ufficiale: DPC-Radar-data-downloader

Il Dipartimento mette a disposizione un Client Ufficiale per l’Accesso e il Download dei dati, che si avvale del collegamento al WebSocket su cui vengono comunicati in modo push le notifiche di aggiornamento dei vari prodotti. Attraverso il client è dunque possibile effettuare richieste di download corrette dei prodotti desiderati.

Il client è disponibile sul Repository GitHub del Dipartimento , raggiungibile al seguente indirizzo:

https://github.com/pcm-dpc/DPC-Radar-data-downloader/tree/master/java

All’interno del Repository è altresì specificato come effettuare il Build dell’applicazione e come configurarne i parametri (es. lista dei prodotti da scaricare).