Programmazione per l'IoT
Programmazione di regole e logica aziendale
Nell'Internet of Things (IoT) le regole e la logica aziendale vengono programmate in modo diverso rispetto ai modelli di programmazione procedurali tradizionali che utilizzano interrogazioni di database e SQL. La programmazione procedurale passa attraverso il codice dall'inizio alla fine con i controlli logici trasferiti ad altre parti dell'applicazione. I sistemi sono stati progettati per supportare processi come quelli indicati di seguito.
1. Registrare i dati in un database.
2. Eseguire interrogazioni sui nuovi dati e applicare la logica aziendale ogni notte.
3. Registrare l'output dell'operazione batch in un database.
4. Eseguire un report che illustra ciò che si è verificato.
Questo processo non funziona bene nel mondo dinamico dell'IoT. L'approccio che prevede la memorizzazione e quindi l'interrogazione non è sufficientemente flessibile o tempestivo. È necessario reagire agli eventi in tempo reale.
ThingWorx offre un'architettura basata sugli eventi che consente di configurare gli avvisi in base ai criteri di soglia e fornisce una funzionalità di script per applicare la logica aziendale quando si verificano gli eventi. Per ulteriori informazioni, vedere
Eventi e
Sottoscrizioni.
Necessità di analisi
È necessario considerare la notevole quantità di dati dell'IoT e pertanto l'approccio all'
analisi.
Uno schema If This, Then That (IFTTT) prevede che si sappia come reagire agli eventi. Tuttavia, esistono molte reazioni possibili agli eventi IoT e non sempre è facile individuare l'azione da intraprendere. Potrebbe non essere possibile stabilire se un evento è un segnale o solo un rumore. Si supponga di voler sapere cosa si può utilizzare come analisi dai petabyte dei dati generati dai propri oggetti.
In breve, If This, Then What (IFTTW).
IFTTW cerca le risposte a domande come quelle riportate di seguito.
• È tempo di eseguire la manutenzione?
• È tempo di ordinare i materiali di consumo?
• È tempo di inviare un tecnico per le riparazioni?
• Dovrei modificare la configurazione di mio prodotto?
Quando si utilizza un motore di analisi con la soluzione di IoT, non solo si riceve un log cronologico degli eventi ma anche una vista predittiva del futuro basata su un modello analitico informato dalla cronologia stessa.
Il modello di oggetto aggiunge il contesto dell'asset all'analisi. Consente di formare il motore di analisi in base alle classi di apparecchiature definite nel modello e fornisce un'interfaccia semantica per generare avvisi o problemi per gli asset in base all'analisi dei dati di tempo reale.
Livello semantico incentrato sugli oggetti
ThingWorx fornisce un livello semantico nel proprio modello che non è destinato a essere utilizzato in modo programmatico tradizionale. È necessario considerare gli oggetti e le relative caratteristiche necessari per la soluzione. Utilizzando il modello ThingWorx incentrato sugli oggetti, è possibile suddividere le funzionalità comuni in oggetti di livello superiore, incapsulare le funzionalità e la logica aziendali negli oggetti di base ed ereditare tali oggetti di base nell'oggetto digitale. Questo processo crea un livello semantico (una rappresentazione aziendale dei dati che consente agli utenti finali di accedere ai dati autonomamente utilizzando termini comuni come prodotto, cliente o reddito) che consente di porre domande come "Oggetto123, qual è la tua temperatura e la cronologia della posizione per le ultime due ore?"
La semantica del modello viene mostrata come insieme fortemente tipizzato e ben concepito di
API REST.
Generatori di applicazioni visive
I generatori di applicazioni visive forniscono l'ultimo tassello per l'utilizzo dei risultati del modello semantico incentrato sugli oggetti e provvedono allo sviluppo rapido di applicazioni. Esistono sul mercato numerosi tipi di renderer dell'interfaccia utente. Per ottimizzare la velocità e la flessibilità per la creazione della propria soluzione di IoT, è necessario utilizzare una soluzione che conosca il livello semantico del modello di dati e si modifichi in base al cambiamento del modello stesso.
Per sfruttare rapidamente la potenza del modello, è possibile utilizzare ThingWorx Mashup Builder, che offre un livello sull'edge, sul cloud e sul modello di oggetto e fornisce i widget visivi progettati per l'IoT che possono essere pre-cablati al modello di oggetto. Utilizzando ThingWorx Mashup Builder, è possibile creare pagine di interfaccia utente senza codifica mediante il trascinamento della selezione. L'ambiente Rapid Application Development (RAD) consente di iterare più rapidamente l'interfaccia utente. Il valore univoco di ThingWorx Platform consiste nel fatto che utilizza il livello semantico di
proprietà,
servizi ed
eventi per creare in modo rapido e intuitivo applicazioni moderne per dispositivi desktop e mobili. La potenza di ThingWorx consente di gestire le centinaia di milioni di applicazioni necessarie per miliardi di dispositivi connessi.