Integrazione dei dati e ontologie
Cos'è un livello dati indipendente in un edificio intelligente?
Cosa fa un livello dati indipendente, come testare la sua indipendenza e perché il modello operativo viene prima della piattaforma.
Integrazione dei dati e ontologie
Un elenco di endpoint non è una specifica; richiedi per iscritto il significato, la qualità, il tempo e le regole di modifica.

Il test di una specifica API dei dati dell'edificio è semplice: un altro team potrebbe creare un'integrazione funzionante e affidabile da essa senza decodificare il comportamento del fornitore? Superare quel test richiede più di un elenco di endpoint. La specifica deve descrivere cosa significano i dati, come vengono rappresentati il tempo e la qualità, come viene protetto l'accesso, come cambierà l'interfaccia nel tempo e come sarà supportata.
Un'API (interfaccia di programmazione dell'applicazione) è il modo in cui un pezzo di software richiede informazioni o azioni da un altro. Negli edifici, di solito è il modo in cui le applicazioni di analisi, reporting, manutenzione e occupanti ottengono letture, cronologia, eventi e informazioni sulle risorse da un sistema di gestione dell'edificio (BMS) o da un livello dati.
L'offerta dovrebbe richiedere una descrizione formale dell'interfaccia in un formato riconosciuto. Per le API HTTP, la specifica OpenAPI è ampiamente utilizzata; la versione 3.2.1 è stata pubblicata nel settembre 2026 e il sito delle specifiche elenca tutte le versioni successive. Si descrive come una descrizione dell'interfaccia standard, indipendente dal linguaggio di programmazione, che consente agli esseri umani e ai computer di comprendere le capacità di un servizio senza accedere al suo codice sorgente. Una descrizione in questo modulo può guidare la documentazione, la generazione del codice client e i test automatizzati.
Ma il formato descrive la struttura, non il significato. Non dirà allo sviluppatore cosa significa "temp" o "value" nel tuo edificio. Questo è il compito del resto delle specifiche.
| Articolo | Cosa specificare |
|---|---|
| Identificatori | ID stabili per siti, spazi, risorse e punti dati; come si relazionano; cosa succede quando si rinomina |
| Unità | Unità esplicite per ogni valore, utilizzando una convenzione dichiarata |
| Timestamp | Formato, fuso orario (preferibilmente UTC con offset) e se l'ora è quella misurata o quella ricevuta |
| Tipo di valore | Misurato, setpoint, comando, stato, calcolato |
| Dati sull'intervallo | Indica se un valore è un registro cumulativo o un consumo per l'intervallo e quale fine dell'intervallo contrassegna il timestamp |
| Qualità | Come vengono contrassegnati i valori mancanti, obsoleti, stimati o non validi e in che modo differiscono da uno zero reale |
| Contesto | Collegamenti tra punti, attrezzature e spazi, idealmente utilizzando un modello semantico documentato come Brick o Project Haystack |
Gli sviluppatori devono anche sapere come viene interrogata la cronologia, inclusi intervalli di tempo, risoluzione, metodi di aggregazione, dimensioni massime della risposta e impaginazione. La specifica dovrebbe stabilire i limiti di frequenza e il modo in cui vengono segnalati, nonché le risposte agli errori con codici e messaggi significativi. Dovrebbe spiegare come vengono gestiti i dati arrivati in ritardo o corretti e come i consumatori vengono a conoscenza delle correzioni e se vengono offerti abbonamenti o flussi di eventi per dati quasi in tempo reale.
La sicurezza deve essere scritta nelle specifiche stesse: il metodo di autenticazione, l'autorizzazione per ruolo e per sito, il modo in cui le credenziali vengono emesse e ruotate, la registrazione degli audit e la crittografia in transito. La lettura dei dati e l'invio di comandi dovrebbero essere autorizzazioni separate. Qualsiasi interfaccia di comando necessita della propria convalida, riconoscimento, limiti e gestione degli errori, poiché è una funzione di controllo e deve essere specificata come tale.
Le interfacce si evolvono, quindi le specifiche dovrebbero indicare la politica di controllo delle versioni e il modo in cui vengono segnalate le modifiche sostanziali, con un periodo di preavviso minimo prima che una versione venga deprecata o ritirata. Un ambiente di test o sandbox con dati rappresentativi consente agli integratori di lavorare senza toccare i sistemi live. I livelli di servizio per la disponibilità e la risposta del supporto, un contatto nominato e un modo per monitorare i problemi completano il quadro.
I test di accettazione dovrebbero essere scritti sulle decisioni che i dati devono supportare ed eseguiti con l'applicazione ricevente prima dell'approvazione. I casi limite sono quelli in cui si rivelano API scarsamente specificate.
L'ambiguità rimossa a costi di gara molto inferiori a quelli scoperti durante l'integrazione, quindi stabilisci questi requisiti nei documenti di gara e approva le specifiche del fornitore prima dell'inizio dello sviluppo. Pagin Consulting scrive requisiti API di questo tipo, con casi di test come il cambio dell'orologio sopra.
Questo articolo si collega al nostro lavoro su I nostri servizi.
Possiamo discutere come questo tema entra nel brief del progetto.
Contatta Pagin Consulting