Best practice in sintesi per la creazione di soluzioni ThingWorx
Quando si crea una soluzione IoT, considerare le best practice descritte di seguito.
Includere le entità in un progetto. Utilizzare un solo progetto per una soluzione.
Contrassegnare le entità con tag modello.
Rendere tutte le entità di estensione non modificabili.
Creare token di localizzazione per tutte le etichette dell'interfaccia utente.
Utilizzare JavaScript per l'implementazione dei servizi.
Utilizzare le Thing shape per definire i servizi e le proprietà.
Utilizzare un prefisso namespace univoco per nomi di entità, proprietà e servizi.
Definire organizzazioni e gruppi di utenti per le entità per impostare visibilità e permessi.
Suddividere soluzioni di grandi dimensioni in estensioni più piccole.
Non utilizzare oggetti asset fissi per eseguire i servizi nei mashup. È consigliabile selezionare o cercare gli oggetti asset dinamicamente e quindi eseguirne i servizi.
* 
Per evitare scenari problematici, utilizzare i servizi di oggetti di supporto o di gestione. Questi servizi prendono il nome di un oggetto asset come parametro di input che continua a essere utilizzato nei mashup.
Lasciare deselezionata la casella di controllo Esegui eventi in sequenza illustrata in Sottoscrizioni di oggetti, in quanto questa operazione richiede un maggior consumo di risorse CPU. Utilizzare la funzionalità Esegui eventi in sequenza solo se è necessario che le sottoscrizioni vengano eseguite in sequenza. Se necessario, utilizzare l'oggetto JSONState per mantenere i dati tra le esecuzioni ordinate della sottoscrizione.
Utilizzare i nuovi servizi UpdatePropertyValuesBatched e UpdateSubscribedPropertyValuesBatched se si aggiornano più proprietà per la stessa data e ora.
Esaminare lo script di sottoscrizione ordinata per assicurarsi che non vengano mantenuti nello stato dati in eccesso. Se il limite è impostato su un valore troppo basso, aumentarlo utilizzando l'impostazione SubscriptionsStatesMaxDirectMemorySize descritta nella sezione SubscriptionSettings di Dettagli di configurazione di platform-settings.json. I criteri di misurazione descritti in Prestazioni delle sottoscrizioni consentono di tenere traccia della dimensione corrente degli stati delle sottoscrizioni.
* 
Quando viene raggiunto il limite della dimensione di archiviazione degli stati delle sottoscrizioni, gli stati precedenti vengono cancellati non appena i nuovi stati vengono salvati. Nel log applicazioni vengono visualizzati messaggi di errore simili al seguente:
Memory size limit exceeded, dropped state for key [RemoteRouter-1:Thing1:Template1:ThingTemplate:Subscription1]
È stato utile?