Erste Schritte mit ThingWorx > Programmierung für das Internet der Dinge
Programmierung für das Internet der Dinge
Programmierregeln und Geschäftslogik
Im Internet der Dinge (Internet of Things, IoT) werden Regeln und Geschäftslogik anders als in herkömmlichen prozeduralen Programmiermodellen programmiert, die SQL und Datenbankabfragen verwenden. Bei der prozeduralen Programmierung wird der Code vom Anfang bis zum Ende durchlaufen, und Logiksteuerungen werden an andere Teile der Anwendung übertragen. Die Systeme sind für die Unterstützung von Prozessen wie den folgenden konzipiert:
1. Daten in einer Datenbank sichern.
2. Neue Daten jede Nacht abfragen und Geschäftslogik anwenden.
3. Ausgabe der Batch-Operation in einer Datenbank sichern.
4. Bericht mit Erläuterungen des Geschehens ausführen.
Dieser Prozess funktioniert in der schnelllebigen Welt des Internet der Dinge nicht wirklich gut. Der Ansatz "speichern-dann-abfragen" ist weder flexibel noch zeitnah genug. Sie müssen in Echtzeit auf Ereignisse reagieren.
ThingWorx bietet eine ereignisgesteuerte Architektur, die es Ihnen ermöglicht, Warnungen auf Grundlage von Schwellenwertkriterien einzurichten, und eine Skripterstellungsfunktion, um Geschäftslogik dann anzuwenden, wenn Ereignisse auftreten. Weitere Informationen finden Sie unter Ereignisse und Abonnements.
Notwendigkeit von Analysen
Sie müssen die enorme Menge an Daten im Internet der Dinge berücksichtigen und dies in Ihren Ansatz für Analysen einbeziehen.
Ein IFTTT-Muster (If This, Then That – Wenn dies, dann das) setzt voraus, dass Sie wissen, wie Sie auf Ereignisse reagieren müssen. Es gibt jedoch zahlreiche mögliche Reaktionen auf IoT-Ereignisse, und Sie wissen möglicherweise nicht, welche Maßnahme Sie ergreifen müssen. Sie wissen möglicherweise nicht, wenn ein Ereignis ein Signal oder nur ein Rauschen ist. Sie möchten wissen, was von den Petabyte an Daten, die von Dingen generiert werden, Ihnen nützliche Informationen liefert.
Kurz gesagt: Wenn dies, dann was (If This, Then What, IFTTW)?
IFTTW sucht nach Antworten auf Fragen wie folgende:
Ist es Zeit für eine Wartung?
Ist es Zeit zum Bestellen von Verbrauchsmaterialien?
Ist es Zeit zum Entsenden eines Servicetechnikers?
Sollte ich die Konfiguration meines Produkts anpassen?
Wenn Sie eine Analyse-Engine mit der IoT-Lösung verwenden, erhalten Sie nicht nur ein historisches Protokoll von Ereignissen, sondern auch eine vorausschauende Ansicht der Zukunft auf Grundlage eines analytischen Modells, das Informationen aus diesem Verlauf übernommen hat.
Das Ding-Modell fügt der Analyse Asset-Kontext hinzu. Es ermöglicht es Ihnen, die Analyse-Engine auf Grundlage von Ausrüstungsklassen gemäß Definition im Modell zu schulen. Es enthält eine semantische Schnittstelle zum Generieren von Warnungen oder Problemen für Assets basierend auf Datenanalysen in nahezu Echtzeit. Weitere Informationen finden Sie unter Datenanalysedefinition.
Ding-orientierte semantische Ebene
Das ThingWorx Modell enthält eine semantische Ebene, die nicht für die Nutzung in einer herkömmlichen programmgesteuerten Weise vorgesehen ist. Sie müssen Ihre Dinge und die Merkmale der Dinge berücksichtigen, die für Ihre Lösung benötigt werden. Mit dem objektorientierten ThingWorx Modell können Sie allgemeine Funktionen in Objekte höherer Ebene aufgliedern, Geschäftslogik und Funktionen in den Basisobjekten kapseln und diese Basisobjekte im digitalen Ding erben. Dieser Prozess erstellt eine semantische Ebene (eine Geschäftsdarstellung von Daten, die Endbenutzer dabei unterstützt, auf autonome Weise mithilfe allgemeiner Begriffe wie Produkt, Kunde oder Einkommen auf Daten zuzugreifen), dies es Ihnen ermöglicht, Fragen wie die folgenden zu stellen: "Ding123, wie ist deine Temperatur und dein Standortverlauf für die letzten zwei Stunden?"
Die Semantik des Modells wird als stark typisierter, wohlverstandener Satz REST-APIs bereitgestellt.
Weitere Informationen finden Sie unter Ding-orientierter und herkömmlicher Abfrageansatz.
Visuelle Anwendungs-Generatoren
Visuelle Anwendungs-Generatoren stellen das letzte Teil für die Nutzung der Ergebnisse des Ding-orientierten semantischen Modells bereit und ermöglichen die schnelle Anwendungsentwicklung. Es gibt viele Typen von UI-Renderern (Benutzeroberfläche) auf den Markt. Um die Geschwindigkeit und Flexibilität der Erstellung einer IoT-Lösung zu maximieren, müssen Sie eine Lösung verwenden, die die semantische Ebene des Datenmodells versteht und sich an Änderungen des Datenmodells anpasst.
Um die Leistungsfähigkeit des Modells schnell zu nutzen, können Sie den ThingWorx Mashup Builder verwenden, der eine Ebene über dem Edge, die Cloud und das Ding-Modell bereitstellt. Er stellt visuelle Widgets zur Verfügung, die für das Internet der Dinge entwickelt wurden und vorab mit dem Ding-Modell verknüpft werden können. Mit dem ThingWorx Mashup Builder können Sie Ziehen-und-Ablegen verwenden, um Benutzeroberflächenseiten ohne Codierung zu erstellen. Die RAD-Umgebung (Rapid Application Development, schnelle Anwendungsentwicklung) ermöglicht es Ihnen, schneller durch die Benutzeroberfläche zu iterieren. Der einzigartige Vorteil der ThingWorx Plattform besteht darin, dass sie die semantische Ebene von Eigenschaften, Diensten und Ereignissen verwendet, um schnell und intuitiv moderne Anwendungen für Desktops und mobile Geräte zu erstellen. Dank der Leistungsfähigkeit von ThingWorx können Sie die Hunderte Millionen von Anwendungen in Angriff nehmen, die von Milliarden verbundener Geräte benötigt werden.
Weitere Informationen finden Sie unter Model View Controller (MVC).