Assets mit Dingen, Dingvorlagen und Dingformen modellieren
Dinge sind Darstellungen von physischen Geräten, Assets, Produkten, Systemen, Personen oder Prozessen mit Eigenschaften und Geschäftslogik.
Mit dem Ziel, ein Verhalten einmal zu definieren und es in Ihrer Anwendung wiederzuverwenden, vereinfacht ThingWorx die Modellierung Ihrer Anwendung durch Bereitstellen von Dingvorlagen und Dingformen. Dingvorlagen stellen die Basisfunktionalität für Dinge mit ihren Eigenschaften, Diensten, Ereignissen und Abonnements bereit. Dingformen ermöglichen die Wiederverwendung von Eigenschaften für verschiedene Assets in einer einzelnen Anwendung.
Dinge erben Funktionalität von Dingvorlagen. Eine Dingvorlage kann ein oder mehrere zusätzliche Merkmale ableiten, indem Dingformen implementiert werden.
Endbenutzer interagieren mit Dingen, um Informationen in Anwendungen abzurufen und Daten zu lesen oder zu schreiben.
Optimale Vorgehensweisen für das Erstellen von Dingen, Dingvorlagen und Dingformen
Verwenden Sie beim Erstellen von Dingen, Dingvorlagen und Dingformen die folgenden optimalen Vorgehensweisen:
• Definieren Sie Benennungskonventionen für Ihre Dinge, Dingvorlagen und Dingformen. Beachten Sie die folgenden Punkte:
◦ Verwenden Sie eine Standardnomenklatur für Entitäten. Beispiel: Sie könnten ein eindeutiges Namespace-Präfix für verschiedene Entitätstypen verwenden, um Konflikte zu vermeiden.
◦ Geben Sie den Entitäten aussagekräftige Namen.
◦ Versuchen Sie, eine gute Beschreibung für jede Entität einzuschließen, die Sie erstellen.
◦ Vermeiden Sie mehrdeutige Namen.
◦ Vermeiden Sie lange Entitätsnamen, wenn möglich.
• Verwenden Sie Tags für alle Entitäten, die Sie erstellen und ändern. Bei komplexen Anwendungen hilft dies dabei, zwischen verschiedenen Modulen derselben Anwendung oder mehrerer Anwendungen zu unterscheiden. Für Kunden hilft dies, zwischen Entitäten unterschiedlicher Anwendungen auf derselben Instanz der ThingWorx Plattform zu unterscheiden. Als Entwickler ermöglicht Ihnen dies, schnell die Entitäten in ThingWorx Composer zu filtern und ein Modul der Anwendung zu Testzwecken zu exportieren. Es wird empfohlen, Benennungskonventionen für Tags einzurichten, insbesondere dann, wenn Sie verschiedene Tags für verschiedene Module derselben Anwendung verwenden möchten.
• Gruppieren Sie dieselben Entitäten in einem Modul in ein Projekt. Jedes Modul hat sein eigenes Projekt.
• Verwenden Sie, wenn möglich, Dingformen.
|
Es wird empfohlen, Dingformen zum Definieren der Eigenschaften und Dienste zu verwenden. Wenn Sie Eigenschaften und Dienste in einer Dingvorlage definieren, ist es schwierig, ihre Definitionen in eine Dingform zu verschieben.
|
◦ Definieren Sie alle Eigenschaften, Dienste und Ereignisse auf der Dingformebene.
◦ Eine Dingvorlage wird verwendet, um Dingformen zu gruppieren und Vererbung zu unterstützen.
◦ Implementieren Sie, wenn möglich, keine Eigenschaften oder Dienste für Dingvorlagen und Dinge.
◦ Lassen Sie Dienstüberschreibungen für Dingformen und Dingvorlagen zu.
◦ Stellen Sie sicher, dass Out of the box-Dingformen und -Dingvorlagen nicht bearbeitbar sind.
◦ Definieren Sie Anmerkungen, um unterstützte APIs zu identifizieren. Dadurch wird sichergestellt, dass Dienste und Eigenschaften beim Upgrade beibehalten werden.
• Verwenden Sie eine Dingform, um bestimmte Funktionen zu kapseln. Durch die Verwendung von Dingformen können Sie problemlos neue Funktionen zu vorhandenen Dingvorlagen in ThingWorx hinzufügen. Implementieren Sie keine Dingformen direkt in das Ding. Erben Sie die Merkmale der Dingform im Ding durch die Dingvorlage.
Wenn Sie beispielsweise Ihre Assets mit benutzerdefinierten Dingvorlagen und Dingen implementiert haben, ist es einfach, eine Dingform zu diesen Dingvorlagen hinzuzufügen. Wenn die Eigenschaften oder Dienste jedoch direkt in einer Dingvorlage definiert wurden, müssen Sie alle Assets neu erstellen, um die neue Funktionalität zu verwenden, da die Basis-Dingvorlage für eine Dingvorlage oder ein Ding nicht geändert werden kann.
• Leiten Sie Dinge nicht direkt von System-Dingvorlagen ab. Es wird empfohlen, benutzerdefinierte Dingvorlagen zu erstellen, die von den Basis-Dingvorlagen abgeleitet werden (bereitgestellt von ThingWorx). Auf diese Weise können Sie später zusätzliche Funktionen hinzufügen, indem Sie zusätzliche Dingformen implementieren und sie Ihren Dingvorlagen hinzufügen.
• Wenn Ihre Anwendung über viele verbundene Remotegeräte verfügt oder wenn sie den ThingWorx Edge Micro Server oder die EDGE SDKs verwendet, verwenden Sie die RemoteThing-Dingvorlage anstelle der GenericThing-Dingvorlage als Basis-Dingvorlage. Je nachdem, ob Sie Dateiübertragung oder Tunneln benötigen, verwenden Sie die RemoteThingWithTunnels-, RemoteThingWithFileTransfer- oder RemoteThingWithTunnelsAndFileTransfer-Dingvorlage. Es wird empfohlen, den Prozess des Hinzufügens von Remote-Bindungen über Skripte zu automatisieren, die prüfen, ob ungebundene Remote-Dinge vorhanden sind, und sie automatisch auf der Plattform zu erstellen. Auf diese Weise können Sie automatisch Dinge auf der Plattform erstellen, wenn neue Geräte ausgeliefert werden und in die Produktion gehen.
|
Sie können die Basis-Dingvorlage nicht ändern, nachdem Sie ein Ding oder eine Dingvorlage erstellt haben.
|
• Verwenden Sie Netzwerke, um Beziehungen zwischen Ihren Dingen zu definieren. In einem Netzwerk kann ein Ding das Elternteil, Kind oder gleichgeordnete Element eines anderen Dings sein. Dies ermöglicht es Ihnen, eine hierarchische Struktur zu modellieren.
Nachhaltigkeitsüberlegungen
In diesem Abschnitt werden weitere Überlegungen beschrieben:
• Sicherheit
◦ Stellen Sie sicher, dass Sie alle Dinge, Dingvorlagen und Dingformen nicht bearbeitbar machen.
◦ Fügen Sie die entsprechenden Sichtbarkeits-, Laufzeit- und Entwurfszeitberechtigungen für die Dingvorlagen oder Dingformen hinzu.
◦ Definieren Sie Benutzerorganisationen, Benutzergruppen und Benutzer, die Zugriff auf die Dingformen, Dingvorlagen oder Dinge haben.
• Upgrades
◦ Organisieren Sie Dinge, Dingvorlagen und Dingformen mithilfe von Projekten und Tags. Dies ermöglicht es Ihnen, Aufgaben wie Suchen, Exportieren, Ändern von Sichtbarkeitsberechtigungen und Identifizieren von Entitäten für ein Upgrade auszuführen.
◦ Stellen Sie sicher, dass Sie beim Erstellen von Entitäten die richtige Benennungskonvention verwenden. Dadurch werden Kosten für das Umbenennen von Entitäten bei Upgrades gespart.
• Erweiterung und Anpassung
◦ Um Komponentendinge zu erweitern, erstellen Sie Untertyp-Dingvorlagen, die die OOTB-Dingvorlagen erben.
◦ Überschreiben Sie Dienste und Eigenschaften in den Untertyp-Dingvorlagen, wie vom Erweiterungsentwickler angewiesen.
◦ Führen Sie neue Dienste und Eigenschaften in neue Dingformen ein.