Optimale Vorgehensweisen für die Entwicklung von Lösungen > Tipps und Tricks: erste Schritte beim Erstellen von ThingWorx Lösungen > Optimale Vorgehensweisen für das Erstellen von ThingWorx Lösungen auf einen Blick
Optimale Vorgehensweisen für das Erstellen von ThingWorx Lösungen auf einen Blick
Beim Erstellen Ihrer IoT-Lösungen sollten Sie die folgenden optimalen Vorgehensweisen berücksichtigen:
Schließen Sie Entitäten in ein Projekt ein. Verwenden Sie nur jeweils ein Projekt für eine bestimmte Lösung.
Versehen Sie Entitäten mit Modell-Tags.
Machen Sie alle Erweiterungsentitäten nicht bearbeitbar.
Erstellen Sie Lokalisierungs-Token für alle Benutzeroberflächenbeschriftungen.
Verwenden Sie JavaScript für die Implementierung von Diensten.
Verwenden Sie Dingformen, um Dienste und Eigenschaften zu definieren.
Verwenden Sie ein eindeutiges Namespace-Präfix für Entitätsnamen, Eigenschaften und Dienste.
Definieren Sie Organisationen und Benutzergruppen für Entitäten, um Sichtbarkeit und Berechtigungen festzulegen.
Teilen Sie große Lösungen in kleinere Erweiterungen auf.
Verwenden Sie keine festen Asset-Dinge, um Dienste in Mashups auszuführen. Asset-Dinge sollten dynamisch ausgewählt oder gesucht werden, und dann sollten ihre Dienste ausgeführt werden.
* 
Um problematische Szenarios zu vermeiden, verwenden Sie die Dienste von Helper- oder Manager-Dingen. Diese Dienste verwenden den Namen eines Asset-Dings als Eingabeparameter, der in Mashups weiterverwendet wird.
Lassen Sie das Kontrollkästchen Ereignisse sequentiell ausführen in den Dingabonnements deaktiviert, da dafür mehr CPU-Ressourcen erforderlich sind. Verwenden Sie die Abonnementfunktion Ereignisse sequentiell ausführen nur, wenn Sie die Ausführung des Abonnement nacheinander durchführen müssen. Verwenden Sie ggf. das JSONState-Objekt, um Daten zwischen den Ausführungen des sortierten Abonnements beizubehalten.
Verwenden Sie die neuen Dienste UpdatePropertyValuesBatched und UpdateSubscribedPropertyValuesBatched, wenn Sie mehr als eine Eigenschaft für denselben Zeitstempel aktualisieren.
Überprüfen Sie das Skript für Ihr sortiertes Abonnement, um sicherzustellen, dass sie keine übermäßigen Daten im Status behalten. Wenn der Grenzwert zu niedrig festgelegt ist, erhöhen Sie ihn mit der Einstellung SubscriptionsStatesMaxDirectMemorySize im Abschnitt "SubscriptionSettings" von platform-settings.json – Konfigurationsdetails. Die unter Abonnementleistung beschriebenen Metriken ermöglichen es Ihnen, die aktuelle Größe des Abonnementstatusspeichers zu verfolgen.
* 
Wenn die maximale Speichergröße für den Abonnementstatus erreicht ist, werden beim Speichern neuer Status alte Status gelöscht. Fehlermeldungen, wie z.B. die folgenden, werden im Anwendungsprotokoll angezeigt:
Memory size limit exceeded, dropped state for key [RemoteRouter-1:Thing1:Template1:ThingTemplate:Subscription1]
War dies hilfreich?