fotohansel - Fotolia

Azure IoT Hub: IoT-Anwendungen mit Java und .NET entwickeln

Das Mischen von Java und.NET kann beim Entwickeln von IoT-Anwendungen helfen. Dies lässt sich zum Beispiel im Microsoft Azure IoT Hub realisieren.

Das fast hysterische Interesse am Internet der Dinge hat .NET-Entwickler in eine schwierige Position gebracht. Das Internet der Dinge bedeutet in der Regel auch RESTful-Schnittstellen, Java-Entwicklung und andere Dinge, die nichts mit .NET zu tun haben. Im Allgemeinen haben .NET-Nutzer ein starkes Architekturbeispiel für IoT, das der IoT-Entwicklung den Anstoß geben kann. Diese können einfach das Modell des Azure IoT Hubs verwenden, egal ob man für Azure plant oder nicht.

Wie die Buchhaltung oder das Privatkundengeschäft braucht IoT eine Anwendungsarchitektur, um die Beziehung zwischen seinen Komponenten zu gestalten, und um die Mission in Komponenten aufzuteilen, die entwickelt, wiederverwendet und effizient eingesetzt werden sollen. Da nur wenige Unternehmen echte IoT-Entwicklungserfahrung haben, ist die Definition eines effektiven IoT-Modells eine schwierige Angelegenheit. Der beste Ansatz ist, in die Cloud zu gehen.

Microsoft und Amazon haben beide eine Vision für die Entwicklung von IoT-Anwendungen. Diese Vision startet bei einer Vielzahl von Geräten, die auf die gleiche Weise wie jedes andere herkömmliche Benutzergerät verbunden, registriert, authentifiziert und verwaltet werden müssen.

Die IoT-Geräte sind Urheber von Events, die Echtzeitverarbeitung, Repository-Katalogisierung und Analytics oder alles zusammen erfordern können. Business-Anwendungen müssen auf diese Event-Verarbeitung zurückgreifen. Da Microsoft Azure der bevorzugte Cloud-Partner für die .NET-Entwicklung ist, ist es am einfachsten, die .NET-IoT-Anwendung mit dem Azure IoT Hub zu erstellen.

Die Komponenten des Azure IoT Hubs übernehmen die Geräteverbindung und das Management. Der Hub dient als Backend für das Zusammentragen der Daten der angebundenen Sensoren und Geräte. Außerdem fungiert er als Zentrale für die Verarbeitung der gesammelten Daten.

Alle gerätebezogenen Daten werden hier verwaltet. Der Output des Azure IoT Hubs ist eine Menge von Messages oder Events, die die IoT-Telemetrie repräsentieren. Control Messages für IoT-Elemente sind in ähnlicher Weise über einen IoT-Hub miteinander verbunden. Wenn man nicht vorhat, Azure zu verwenden, sollte die Struktur eines selbst entwickelten Geräteanschluss- und Kontrollelements möglichst mit dem eines Azure IoT Hubs übereinstimmen – insbesondere in Bezug auf die Schnittstelle.

Message oder Event: Es kann verwirrend sein

Wenn man das Universum des Azure IoT Hubs verlassen möchte, sollte man überprüfen, was die IoT-Elemente generiert. Die Begriffe Message und Event sind häufig verwirrend oder werden miteinander vermengt. Nachrichtensysteme leiten Informationen zu einem bestimmten Empfänger, Event-Systeme berichten von einem Zustand. Die meisten verbreiteten IoT-Anwendungen erzeugen beides in den Geräten. Es ist daher bequem, sich den Output eines Azure IoT Hubs als eine Reihe von parallelen Message- und Ereignis-Streams vorzustellen.

Azure IoT neigt dazu, Events und Messages als gemeinsame Prozesse zu behandeln. Eine Event-Hub-Komponente kann Events aufnehmen und sie an Prozesse senden oder nach Bedarf an Speicherelemente weiterleiten. Und eine mit dem Event Hub zusammenarbeitende Stream-Analytics-Komponente kann eine Echtzeitanalyse für die komplexe Event-Verarbeitung ausführen. Diese Komponenten lassen sich mithilfe von standardmäßigen .NET Message- und Event-Tools oder mit Windows 10 Core IoT-Geräten erstellen.

Unabhängig davon, ob Azure verwendet wird, ist die Logik von Event Hubs und Stream Analytics eine Kombination aus Klassifizierung und analytischer Event-Generierung. Die Geräte des Azure IoT Hubs versorgen diesen Teil einer IoT-Anwendung, um sie mit einer einfach zu handhabenden Logik zu verknüpfen, die entweder IoT-spezifische Anwendungskomponenten oder aktuelle Geschäftsanwendungen sein können.

Es ist wichtig, dass die Hub- und Stream-Analytics-Komponenten die unterschiedlichen gerätespezifischen Event-/Message-Formate zu gemeinsamen anwendungsspezifischen Event- /Message-Formaten zusammenführen. Macht man dies nicht, muss die gesamte Logik verändert werden, um ein neues Gerät aufzunehmen, und riskiert dadurch einen inkonsistenten Umgang mit IoT-Daten.

Der Event-Hub- und Stream-Analytics-Prozess lässt sich über Event Handler aufeinander abstimmen oder über Event Handler in einem nächsten Element aufnehmen. Für Messages, die normalerweise eine Antwort erwarten, sollte ein Handler eine Zustandskontrolle und eine Verbindung zwischen der Anwendung und dem IoT-Gerät bereitstellen, damit in einer geeigneten Form eine Antwort gegeben werden kann.

Mehr zum Thema Internet der Dinge:

Kostenloser Essential Guide: Industrie 4.0 und das Internet der Dinge.

Wie das industrielle Internet der Dinge die Produktion verändert.

SAP macht die In-Memory-Datenbank HANA fit für das Internet der Dinge.

Internet der Dinge: Die Musik spielt in Unternehmen, nicht im Consumer-Markt.

Big Data Analyse und Internet der Dinge (IoT) machen Storage klüger.

Der Verteilungsprozess für die Geschäftslogik sollte auf einer Publish-and-Subscribe-Schnittstelle basieren, um Anwendungen von Geräten zu entkoppeln und die Entwicklungseffizienz zu verbessern. Idealerweise enthält die IoT-Anwendung Handler, die mit Messages/Events in einer Hub-/Stream-Analytics-Komponente verknüpft sind.

Die Formate sollten dann konvertiert und die resultierenden Messages an Anwendungen gebunden werden, indem eine Art Sevice-Bus-Warteschlange verwendet wird. Es ist wichtig, eine Bus-Architektur zu haben, die mit allen Anwendungen in Verbindung treten kann und selbst belastbar und verteilungsfähig ist. Der Microsoft Service Bus ist vollständig verteilungsfähig, Cloud-kompatibel und unterstützt APIs fast jeden Typ. Es ist sowohl als Azure-Service als auch als Windows-Server-Komponente verfügbar.

Hinter einer Publish-and-Subscribe-Bus-Komponente liegt die Business-Logik selbst. Weil es ideal ist, wenn jede gegebene Informationsquelle (Event) oder Message (Anfrage/Antwort) ein Standardformat hat, kann es notwendig sein, einen lokalen Anknüpfungspunkt zu entwickeln, um eine Anwendung/Komponente an das Format eines Message Buses anzupassen, den man ausgewählt hat. Einige Neuzuordnungen der Daten werden häufig vom Bus selbst unterstützt, aber man sollte darauf vorbereitet sein, spezielle Anforderungen für Legacy-Anwendungen anzupassen.

Java mit .NET zu mischen

Es ist schließlich nicht verkehrt, wenn in einem dieser Bereiche .NET (und C #) -Anwendungen mit Java vermischt werden. Beim Geräte-Handling einer Azure-IoT-Hub-Applikation werden viele Sensoren und Controller über ein Zwischen-Gateway mit dem Internet oder einem VPN-Firmennetzwerk verbunden. Ein solches Gateway lässt sich mit dem Windows 10 Core IoT-Kit bauen. Allerdings kann auch Java oder eine andere Sprache verwendet werden, die ein Sensor/Controller-Hersteller unterstützt.

Auch in den tieferen Elementen einer IoT-Anwendung lassen sich Java oder andere Plattformen einsetzen. Die Event Distribution mit dem Event Hub kann mehrere Sprachen und Middleware-Werkzeuge verwenden. Das gilt auch für Anwendungen, die über den Service-Bus im Backend miteinander gekoppelt sind.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im April 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Big Data

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close