Eventi di oggetto
Gli eventi sono stati di proprietà interessanti o critici, pubblicati dall'oggetto per i sottoscrittori. Gli eventi sono iniziatori che avviano alcune funzionalità in una
sottoscrizione, sostanzialmente un servizio attivato. Nella definizione di un servizio, facendo doppio clic sull'evento, viene automaticamente lo script necessario per attivare l'evento nel servizio viene sottoposto a stub. I trigger sono modifiche ben definite di stato (ad esempio, il
motore è in surriscaldamento) di un asset o un sistema (un oggetto). I trigger richiedono spesso un'azione per rispondere alla modifica (ad esempio,
visualizzare la spia per mostrare che il trattore è in surriscaldamento). Previsioni complesse di algoritmi analitici possono attivare eventi e consentire allo sviluppatore dell'applicazione di reagire a questi eventi con logica di business.
Logica di business e azioni in un'applicazione ThingWorx si basano sugli eventi. Un evento può essere semplice, come un nuovo valore dati di una macchina, o più complesso, ad esempio molte coordinate e relative dipendenze. Ad esempio, la valutazione in tempo reale di ThingWorx Analytics prevede un errore e genera un evento nel motore di esecuzione IoT per consentire di intervenire. Gli eventi possono essere attivati tramite le richieste API di un utente in un'applicazione oppure un dispositivo può attivare i relativi eventi in base all'analisi dei dati locale o alle procedure di diagnostica.
Un evento deve avere un sottoscrittore. Per avviare una sottoscrizione, al sottoscrittore viene inviato un pacchetto di dati.
In ThingWorx sono presenti eventi standard e pacchetti di dati correlati, definiti da
data shape. Il tipo di evento più comune è una modifica di dati correlata a una proprietà dell'oggetto. Quando si definisce una proprietà, sussistono vari aspetti di configurazione. Ad esempio, con
DataChangeEvent è possibile impostare un evento da attivare se sono presenti nuovi dati per una proprietà solo se i dati sono stati modificati o restituiscono true o false oppure se il nuovo valore è stato modificato oltre una soglia definita. Tutti gli eventi di modifica dei dati inviano un pacchetto di dati con la stessa data shape predefinita.
È possibile creare eventi personalizzati nel modello. Ad esempio, una macchina potrebbe eseguire controlli diagnostici. Se il controllo diagnostico determina che la macchina deve essere calibrata, è possibile creare un avviso di calibrazione personalizzato per la specifica classe di apparecchiatura (generalmente a livello di thing shape o modello di oggetto). Nella definizione è possibile creare una
data shape contenente i dati della macchina che deve intervenire. È possibile configurare l'agente della macchina affinché attivi l'evento tramite l'API ThingWorx quando viene rilevata la condizione. Nella sottoscrizione è possibile implementare la logica business per rispondere all'evento. È inoltre possibile attivare eventi tramite l'
API REST ThingWorx, in modo che mashup e applicazioni personalizzate possano attivare eventi tramite ThingWorx Analytics.
Evento DynamicSubscriptionInvalidated
A partire da ThingWorx 9.4 e versioni successive è stato aggiunto un nuovo evento DynamicSubscriptionInvalidated. Questo evento si verifica quando per un oggetto vengono eliminate altre sottoscrizioni dinamiche da esso create. Le sottoscrizioni dinamiche potrebbero essere eliminate perché l'oggetto viene arrestato o riavviato. Potrebbero essere eliminate le proprietà o l'oggetto stesso.
Questo evento viene utilizzato principalmente dai mashup quando è selezionata la casella di controllo Aggiorna automaticamente i valori se ne sono disponibili di nuovi.
Ciò consente al mashup di avvisare l'operatore che gli aggiornamenti non vengono più forniti da ThingWorx Platform quando un oggetto viene modificato (ad esempio un aggiornamento alla proprietà dell'oggetto).
Utilizzo di ThingWorx Analytics per attivare gli eventi
ThingWorx Analytics può esaminare i dati e individuare comportamenti anomali oppure può acquisire esperienza dai dati cronologici. Può utilizzare i dati in tempo reale di ThingWorx per prevedere i risultati. Un esempio di base è l'analisi predittiva. È possibile allenare il motore di analisi per una classe di apparecchiatura in base ai dati cronologici, incluse le informazioni di errore. È possibile inviare i dati di esecuzione da singoli oggetti al motore di analisi. Se il motore di analisi rileva uno schema che riconduce a un errore precedente, può attivare un evento nell'oggetto e consentire di intervenire tramite una sottoscrizione. L'azione potrebbe essere la creazione di un ticket di assistenza o l'invio di una notifica al reparto di assistenza. Gli avvisi o le sottoscrizioni a eventi personalizzati consentono di associare un'azione o una logica business specifica a eventi quasi in tempo reale.