Überall dort wo Cloud-Computing auf die Steuerung und Überwachung im Feld trifft und dies zudem zuverlässig funktionieren muss, wird oft auf Edge-Computing zurückgegriffen.
Dies hilft beispielsweise Unterbrechungen im Betrieb zu vermeiden, da das Gesamtsystem auch ohne eine permanente Online-Verbindung über ein Netzwerk weiter funktioniert.
In der Cloud selbst (und dies gilt auch für jedes vernünftige Rechenzentrum) ist es hier ohne Probleme möglich, eine entsprechende Verfügbarkeit zu gewährleisten.
Wendet man den Blick aber in Richtung Edge, sieht die Welt wieder ganz anders aus: Keine redundante Internetanbindung/-Infrastruktur, Zuständigkeiten verschiedenster Dienstleister/Provider und Netzwerke zwischen Rechenzentrum und Edge-Device.
Hier kann dann schnell mal etwas schiefgehen oder einfach ausfallen – die Fehlerquellen sind sehr vielfältig. Eine Analyse der Probleme ist jedoch unter diesen Umständen relativ zeitraubend und aufwendig.
Aber schieben wir diese sehr kurze Einführung in das Thema Edge-Computing beiseite und betrachten das hieraus resultierende Problem:

Wie verwalte ich die Edge-Devices am besten?

Hat man bereits ein Cloud-Setup für seine IT-Infrastruktur und nutzt hier die Vorteile wie beispielsweise IaC (Infrastrucute-as-Code) und CD (Continuous-Delivery), meldet sich sofort dieses unangenehme Gefühl in der Magengegend, das einem nichts Gutes signalisiert, da solche Tools und Workflows für Edge-Computing – wenn überhaupt – nur sehr schwer umzusetzen sind.
Um genau dieses Thema zu adressieren, haben die großen Cloud Anbieter – und hier allen voran AWS – entsprechende Frameworks für Edge Devices geschaffen. Mit AWS Greengrass steht ein mächtiges Werkzeug zur Verfügung, um Komfortfunktionen, wie man sie aus der Cloud Welt kennt, auch auf einem Edge Device zur Verfügung zu haben.
Zu den wichtigsten Funktionen zählen:

  • Sicherer Remote Zugriff auf die Geräte (Tunnel)
  • Verwaltung von Software, insbesondere die Verteilung von Updates
  • Sicherer Datenkanal in die Cloud mit automatischer Zwischenspeicherung für den Fall, dass die Verbindung nicht möglich ist
  • Eine Laufzeitumgebung, um z.B. Serverless-Anwendungen, wie z.B. Lambda auszuführen

Der Workflow sieht dabei primär vor, die Greengrass Installation in einen Container zu packen und diesen auf dem Edge-Device laufen zu lassen. Da sich tendenziell auch viel häufiger Änderungen an der Anwendung selbst ergeben, als es z.B. nötig ist, eine neue Greengrass Version einzusetzen oder die Firmware des Edge-Devices zu aktualisieren, ist hiermit zumindest schon einmal ein großer Teil der Deployments von Änderungen an der Software sehr einfach möglich.

Firmware und Betriebssystemupdates

Was ist aber mit dem ganzen Rest: Updates von Greengrass selbst, das Betriebssystem, sonstige Systemkomponenten, wie Treiber, Bibliotheken, usw.?
Auch diese Teile des Systems müssen regelmäßig aktualisiert werden!
Um dies zu ermöglichen, ist ein Edge-Device mit einer zuverlässigen Gesamtarchitektur notwendig. Das bedeutet, das es möglich sein muss, die Basis Softwarekomponenten upzudaten, ohne hier im Urschleim der Linux Paketverwaltung herumzuwühlen.
Aus unserer Sicht hat HARTING hier mit der MICA Box ein hervorragendes Gesamtsystem gebaut, welches den Betreiber von diesen Arbeiten großenteils entlastet.
Was bedeutet das in der Praxis?
Bei der HARTING MICA stellt der Hersteller das Basissystem (Linux) sowie diverse Funktionscontainer zur Verfügung. Das Besondere dabei ist der Umstand, dass alle vom Hersteller gelieferten Container mit einer Web-Socket Schnittstelle ausgestattet sind. Damit wird es einem ermöglicht, sehr einfache die Container zu Verwalten und zu Konfigurieren.
Auf diese Weise ist es mit sehr geringem Aufwand möglich, über den von SIC! Software verfügbaren Greengrass Container alle anderen Container auf der MICA und das Betriebssystem selbst über einige wenige API-Aufrufe vollständig zu steuern. Der Greengrass Container ist der Master und somit in der Lage, neue Container zu installieren, bestehende Upzudaten, etc.
Ohne die Bereitstellung dieser Basisfunktionalität von HARTING müsste der geneigte Nutzer das alles selbst in die Hand nehmen. Insbesondere das Update der Basissoftware eines Edge-Device, wie der MICA, ist ohne diese Vorarbeiten nur mit erheblichem Entwicklungsaufwand zu bewerkstelligen.
Um dies zu gewährleisten greift Harting hier auf Container zurück.
Allerdings setzt man hier aufgrund der nur geringen Hardware-Ressourcen, die in der Regel auf einem Edge-Device zur Verfügung stehen, nicht auf Technologien wie Docker oder Podman, sondern verwendet die Basis-Technologie LXC.
Mit Containern kann man alle diese Abhängigkeiten als ein einzelnes Image zur Verfügung stellen, dass mit wenig Handgriffen installiert bzw. aktualisiert werden kann.
Nachdem nun die Application(s) sowie das Image über eine CD-Pipeline ausgerollt werden können, bleibt noch die Aktualisierung des Host-OS bzw. der Firmware selbst.
Hier gilt es ein Edge-Device auszuwählen, das per Netzwerk aktualisiert werden kann.
Integrieren wir nun unseren Management-Dienst mit AWS Greengrass, erhalten wir einen zentralen Management-Hub in der Cloud, der alle Teilbereiche unseres Edge-Devices verwaltet – von Firmware über LXC-Container bis hin zur Greengrass Installation.
Und damit ist dann das Ziel eines jeden Systemadministrators erreicht: Ein transparenter, durchgängiger Prozess, um alle Ebenen der Software eines professionell eingesetzten Edge-Computing-Devices zu verwalten.

Fazit

Unter Verwendung der HARTING MICA und von AWS Greengrass lassen sich grundsätzlich alle Aspekte eines Edge-Devices zentral verwalten. Integrieren wir diese nun in einen Management-Dienst, erhalten wir einen zentralen Management-Hub, der alle Teilbereiche unseres Edge-Devices verwaltet – von Firmware über LXC-Container bis hin zur Greengrass Installation. Außerdem lassen sich so der Status und die Zustände aller Komponenten zentral überwachen, und im Falle von Problemen können diese schnell identifiziert werden oder sogar vor dem Eintreten erkannt und beseitigt werden.


Einige IoT Praxis-Beispiele für den Einsatz der der HARTING MICA mit AWS Greengrass finden Sie bei unseren IoT Case Studies.

Z.B. beim Technologiedemonstrator für vernetzte Ventilatoren, einem Projekt der Firma Rosenberg Ventilatoren:

 


Stehen Sie aktuell vor einer Edge Computing Herausforderung?

Gerne unterstützen unsere IoT Experten Sie bei Ihren Projekten und helfen Ihnen dabei, möglichst optimale Lösungen zu finden.

Sprechen Sie uns an: Kontakt

 


 

Ein seit mehr als 50 Jahren bekanntes Geschäftsmodell erlangt durch die Möglichkeiten der Digitalisierung mit einem Mal ein komplett neues Gewicht und hat weltweit bereits mehr als 50 % aller Fertigungsunternehmen dazu gebracht, ihr Geschäftsmodell zu überdenken und teilweise sogar vollkommen umzukrempeln. Die Rede ist von „Servitization“. Doch was ist das und wem nützt es wirklich?


Was ist Servitization?

„Servitization ist eine Geschäftsmodellinnovation, die für produzierende Unternehmen relevant ist und die Änderung des bisherigen Angebotsportfolios weg von nur Sachgütern und hin zu einer Kombination aus Sachgütern und Dienstleistungen bezeichnet. Damit spiegelt sie den gesamtwirtschaftlichen Trend zur Dienstleistungsgesellschaft auf Unternehmensebene wider.“ – Wikipedia

Anders gesagt: Hersteller ergänzen ihre Produkte durch Services oder tauschen diese sogar komplett damit aus. Dabei sind viele unterschiedliche individuelle Implementierungen möglich und es lassen sich drei grundsätzliche Service-Typen unterscheiden: Base Services, Intermediate Services und Advanced Services. [1]

  • Base Services sind solche Dienstleistungen, die zusätzlich zur Produktbereitstellung kommen. Dies ist in der Regel eine Bereitstellung von zusätzlichen zugehörigen Produkten, wie zum Beispiel Ersatzteile.
  • Intermediate Services dienen dazu, die Funktion eines Produktes und dessen Leistungsfähigkeit zu garantieren, beispielsweise durch Überwachung des Betriebs und präventive Wartungsarbeiten.
  • Advanced Services bedeuten, dass ein Kunde kein physisches Produkt, sondern anstelle dessen eine Leistung erwirbt und pro solch einer erbrachten Leistung bezahlt. Es findet hier vermehrt kein Eigentumswechsel des Produktes statt. Denkbar sind hier viele verschiedene Möglichkeiten.

Ein bekanntes und oft zitiertes Beispiel für die Anwendung eines Advanced Service, bietet der Triebwerkhersteller Bristol Siddeley. Dieser hat mit dem „Power-by-the Hour“-Modell bereits in den 1960er Jahren ein Servitization-Modell eingeführt. Nachdem Bristol Siddeley 1968 von Rolls Royce gekauft wurde, wurde das Konzept aufgegriffen, ausgebaut und seitdem als Service namens TotalCare bis heute angeboten.
Dabei geht es darum, die Triebwerke für Flugzeuge nicht mehr im klassischen Sinne an den Flugzeugbauer zu verkaufen. Der Flugzeugbauer bezahlt lediglich für die tatsächlichen Betriebsstunden des Triebwerks. Das Gerät bleibt dabei vollständig Eigentum von Rolls Royce, die sich dann auch um Wartung und Reparatur kümmern. Rolls-Royce war es so möglich, die Erlösströme zu stabilisieren und höhere Umsätze zu erzielen. Gleichzeitig bietet es dem Kunden wiederum planbare Betriebskosten, reduzierte finanzielle Risiken und ein effizienteres und zuverlässigeres Produkt.

Servitization findet aber auch vereinzelt in anderen Branchen Anwendung. Während Beispiele wie die Betreuung einer Maschine durch den Hersteller relativ naheliegend sind, findet man Servitization auch immer häufiger in zunächst unüblich erscheinenden Bereichen. So hat zum Beispiel das schwedische Bauunternehmen Skanska ein Krankenhaus gebaut und ist nun im Anschluss auch der Betreiber des Krankenhauses.

Ein Servitization Potenzial liegt für einen Hersteller meistens dann vor, wenn die Service-Angebote außerhalb der Kernkompetenz des Kunden liegen. Es entsteht durch sie also zusätzlicher Aufwand und Kosten und somit kein Gewinn für den Kunden.

 

Vorteile durch Servitization

Für Hersteller und Kunden bietet Servitization einen gemeinsamen Fokus auf den reibungslosen Betrieb. Es ergibt sich für Hersteller und Kunde eine Angleichung der Anforderungen an das Produkt. Für Kunden steht in der Regel ein möglichst effizientes und langlebiges Produkt im Vordergrund. Der Hersteller verdient allerdings unter Umständen mehr an seinem Produkt, wenn es gegen Abrechnung repariert wird oder wenn aufgrund eines Defektes ein neues (Austausch-) Produkt verkauft werden kann. Durch Servitization entsteht nun ein Zustand, indem sowohl für den Kunden, als auch den Hersteller, ein wartungsarmes Produkt den größten finanziellen als auch wirtschaftlichen Nutzen bietet.
Da der Hersteller nun auch z.B. für die Wartung zuständig ist, werden für ihn die Bedürfnisse des Kunden deutlich relevanter. Je zuverlässiger und wartungsärmer das Produkt, um so besser für den Hersteller, da jetzt weniger Wartungsarbeiten ausgeführt werden müssen und mehr Betriebsstunden abgerechnet werden können. Überspitzt könnte man sagen, dass theoretisch betrachtet der Hersteller selber die Rolle übernimmt, die bisher sein Kunde eingenommen hatte. Wenn so die Effizienz und Langlebigkeit von Produkten verbessert werden kann, wird im selben Moment der Betrieb automatisch ressourcenschonender und nachhaltiger.

Darüber hinaus kann man Mithilfe eines Servitization-Modells die Beziehung zu Kunden festigen und vertiefen und es ist einem Unternehmen möglich, sich von seinen Mitbewerbern durch mehr als nur die Produktqualität und den Preis zu differenzieren. Ein Lieferant von Sachgütern lässt sich schneller austauschen, als eine enge Zusammenarbeit mit einem Kunden. Außerdem lässt sich so bei einem Kunden der Ausschluss eines Mitbewerbers erzielen.

Natürlich wirkt sich ein Servitization-Modell auch auf den Umsatz aus. So lässt sich durch Service-Angebote beispielsweise ein stetiger Erlösstrom bilden und damit die Erlöse stabilisieren.
Durch die Positionierung als Dienstleister am Markt, kann zusätzlich auch die Wettbewerbsfähigkeit für die Zukunft gesichert werden.

 

Wann ist Servitization für mich lohnenswert?

Als Hersteller ist es zunächst wichtig zu erkennen, ob Servitization Potential vorhanden ist und worin es liegt. Es gilt herauszufinden, welche Aufgaben ein Produkt bei einem Kunden auslöst und welche dieser Aufgaben der Hersteller selbst bewältigen kann. Diese Aufgaben bilden typischerweise immer dann ein geeignetes Servitization Potential, wenn sie außerhalb der Kernkompetenzen des Kunden aber innerhalb der Kernkompetenzen des Herstellers liegen.

Ein typisches Beispiel wäre hier wieder die Wartung von Maschinen. Wer, wenn nicht der Hersteller selber weiß am besten, wie sich seine Maschinen verhalten sollten und wie sie optimal zu warten sind. Darüber hinaus können aber auch andere Bereiche wie der Betrieb, die Installation oder viele weitere individuelle Vorgänge ein Servitization Potential bergen. Wenn erkannt wurde, in welchen Bereichen Servitization Potential vorhanden ist, sollte geprüft werden ob dies einen wirtschaftlichen Nutzen bietet. Hierfür gibt es verschiedene Anhaltspunkte, z.B.
Wie viele bereits in Betrieb befindliche Einheiten gibt es pro neu Verkaufter Einheit? Je mehr Einheiten sich bereits im Betrieb befinden, um so sinnvoller ist es, mit diesen Geschäfte zu machen, statt sich auf die Geschäfte mit neuen Einheiten zu konzentrieren.
Wie ist das Verhältnis der Kosten über die gesamte Produktlebenszeit zu den Anschaffungskosten für den Kunden? Je höher dieses Verhältnis ist, um so lohnenswerter ist das Service-Geschäft.
Weniger Lohnenswert ist eine Dienstleistung zum Beispiel dann, wenn ein Lieferant oder Hersteller im Produktgeschäft zum Beispiel durch Patente oder besondere Technologien sehr stark ist.

So individuell Service Angebote sein können, so unterschiedlich lässt sich auch die Wirtschaftlichkeit eines solchen Service-Angebots ermitteln. Im Endeffekt sollte jeder einzelne Fall separat geprüft werden.

 

Wie gestaltet man einen effizienten Service?

Servitization ist – wie am Rolls Royce Beispiel zu sehen ist – nicht nur durch die fortschreitende Digitalisierung entstanden. Aber die Digitalisierung bietet neue Möglichkeiten, ein Servitization-Modell immer optimaler umzusetzen.

Denn der Servitization Ansatz profitiert von den gleichen oder zumindest von vergleichbaren Technologien, die auch verschiedenen IoT-Anwendungen oder der Industrie 4.0 zugrunde liegen: Sammlung, Übermittlung, Speicherung und Analyse von Daten.

In verschiedenen Bereichen hat die SIC! Software GmbH bereits verschiedenste Sensoren zum Sammeln von Daten eingesetzt und damit ermöglicht, z.B. den Betrieb einer Maschine zu überwachen. Dabei sind verschiedene Möglichkeiten der Analyse denkbar. Ausgelegt auf bloßes Erkennen der Betriebszeit über kleine Änderungen und Abweichungen im Betriebsablauf bis hin zum Erkennen von kompletten Ausfällen.
Bei einer geeigneten Auswertung sind die Daten außerdem dazu geeignet, Wartungsintervalle flexibel auf das tatsächliche Nutzungsverhalten der Maschinen anzupassen. Durch das Überwachen von Verschleißteilen kann ein möglicher Betriebsausfall der Maschine vorhergesagt werden und vorbeugend gehandelt werden („Predictive Maintenance“). So kann die Betriebszeit der Maschine maximiert werden, da unvorhergesehene Ausfälle und Wartungsarbeiten minimiert werden.

Es ist außerdem möglich, das Übermitteln und Visualisieren der Daten in Echtzeit zu realisieren. Über die passende IoT Cloud-Anwendung können die Art der Visualisierung und Alarme individuell konfiguriert und so auf jeden Anwendungsfall abgestimmt werden. Dies ermöglicht in Echtzeit auf Veränderungen im Betriebsablauf zu reagieren, Optimierungen vorzunehmen werden und Daten für weitere Analysen bereitzustellen.

So ist es möglich, eine Abrechnung basierend auf Betriebszeit zu realisieren, vollständig automatisiert Servicetechniker zu Wartungs- und Instandsetzungsarbeiten zu rufen, Verbrauchs- und Verschleißteile automatisch nachzubestellen, eine Rund-um-die-Uhr-Betreuung zu ermöglichen und noch viele weitere denkbare Anwendungsfälle umzusetzen.

Auch über den Einsatz von Servitization-Modellen hinaus birgt die Möglichkeit, Daten über seine Produkte zu sammeln, viele Vorteile. Diese lassen sich unter anderem zur Optimierung der Produkte, Entwicklung von Innovationen und letztendlich auch zur Differenzierung gegenüber Mitbewerbern im Markt einsetzen.

 


[1] [Baines, Tim & Lightfoot, Howard: Made to Serve: How manufacturers can compete through servitization and product service systems. Wiley, 2013, S. 64–68]

Einleitung

Das Wort „Blockchain“ fiel erstmalig im Zusammenhang mit Bitcoin als dezentrales Netzwerk für Zahlungen in der gleichnamigen digitalen Währung. Hierbei beschreibt die Blockchain eine zugrundeliegende Technologie, in der alle Transaktionen öffentlich und unveränderbar verzeichnet sind. Dazu wird mittels kryptografischer Verfahren die Korrektheit aller Transaktionen sichergestellt – beispielsweise die richtige Transaktionsreihenfolge, Verhinderung der doppelten Ausgabe eines Bitcoins bei einer Zahlung oder Schutz vor Manipulation einer Transaktion. Der entscheidende Punkt ist die Tatsache dass keine zentrale Vertrauensinstanz notwendig ist, da die Teilnehmer dem Inhalt der Blockchain selbst vertrauen.

Aber die technische Entwicklung schreitet mit hoher Geschwindigkeit fort. Daher fällt der Begriff „Blockchain“ mittlerweile nicht nur im Zusammenhang mit digitalen Währungen. Vielmehr ist von einer Technologie die Rede, welche bestehende Produkte, Dienstleistungen und sogar Geschäftsmodelle disruptiv beeinflussen wird.

Um die Potentiale und Auswirkungen der Blockchain-Technologie besser beurteilen zu können, haben sich in den letzten Jahren verschiedene Firmen aus unterschiedlichen Technologien und vor allem Finanzbereichen in Konsortien zusammengeschlossen:

  • Das R3 Konsortium, welches vornehmlich einen Zusammenschluss von rund 80 Firmen aus der Finanzwirtschaft (UBS, Credit Suisse, Deutsche Bank, Commerzbank, …) ist. (R3CEV LLC, 2017)
  • Das IoT-Consortium, zu dem u.a. Bosch Ltd. Cisco Systems Inc. gehören, untersucht inwiefern Blockchain-Technologie zur Absicherung und Verbesserung von IoT-Netzwerken eingesetzt werden kann. (Faife, 2017)
  • Im Hyperledger(Enterprise Ethereum Alliance) Konsortium haben sich mehr als 120 Firmen aus dem Bereich Finanzen, Banken, IoT und der Industrie organisiert. (Hyperledger)
  • Enterprise Ethereum Allianz mit rund 500 Startups, Unternehmen, Akademische Einrichtungen aus den unterschiedlichsten Bereichen. (Förster, 2017)

Darüber hinaus wurden im Jahr 2016 rund 500 Mio. USD an Venture-Kapital für Blockchain-Technologien in Startups und Technologie-Firmen investiert. (Coindesk)

Auch wenn nach heutigem Stand noch nicht genau ersichtlich wird, für welche Bereiche und Anwendungsgebiete Blockchain-Technologien verwendet werden können, so wird daraus doch ersichtlich, dass dieser neuen Technologie ein großes Potential zugetraut wird.

Im nachfolgenden möchte dieser Beitrag eine kurze Einführung in die Blockchain-Technologie geben und aufzeigen in welchen Gebieten Potentiale und mögliche Anwendungsfelder liegen.

 

Was ist die Blockchain (Definition)?

Blockchain ist eine neue Technologie zur Verifizierung von Datentransaktionen in einem dezentral organisierten Netzwerk mittels kryptografischer Verfahren. Die Blockchain bietet Nachvollziehbarkeit sowie Fälschungssicherheit von Transaktionen, ohne dabei auf eine zentrale Instanz angewiesen zu sein. (Voshmgir, 2017)

Die nachfolgende Abbildung zeigt vereinfacht den prinzipiellen Aufbau einer Blockchain. Wie der Name suggeriert, werden in einer Blockchain einzelne Blöcke aneinander „gekettet“. Dabei zeigt ein Block immer auf seinen Vorgänger, wodurch in der Blockchain eine verifizierbare Kette von Blöcken entsteht, welche vom aktuell letzten Block bis zum ersten Block reicht. Der erste Block wird im Allgemeinen auch als Genesis-Block bezeichnet, da dieser keinen Vorgänger besitzt.

Innerhalb eines Blocks werden dann die einzelnen Transaktionen verzeichnet. Eine Transaktion kann wie im Beispiel ein Zahlungsvorgang sein. Aber es kann auch etwas ganz anderes sein wie z.B. ein Lieferschein oder eine Garantieurkunde. Vom Prinzip her können Blockchains alle möglichen Daten wie Texte, Bilder oder gar Programmcode speichern.

Blockchain Technologie

Abbildung 1 Blockchain; eigene Darstellung

 

Damit eine neue Transaktion in der Blockchain gespeichert werden kann, muss ein neuer Block generiert, die Transaktion darin verzeichnet und der Block an die bestehende Blockchain angehängt werden. Dieser Prozess wird als „Mining“ bezeichnet und unterliegt bestimmten Regeln. Die Regeln werden vom Protokoll der Blockchain vorgegeben und dienen dazu, den Konsens zwischen allen Teilnehmern zu ermöglichen.

Denn sobald ein Block erfolgreich an die Blockchain „angekettet“ wurde, werden alle Transaktionen innerhalb des Blocks von den Teilnehmern als valide angesehen.

Peer-to-Peer Netzwerk (Blockchain)

Abbildung 2 Peer-to-Peer Netzwerk, eigene Darstellung

 

Die Verteilung der Blockchain erfolgt dezentral über ein Peer-to-Peer Netzwerk in welchem alle Knoten untereinander gleichberechtigt sind. Weiterhin ist jeder Knoten mit mehreren anderen Knoten des Netzwerks verbunden, um untereinander den aktuellen Stand der Blockchain auszutauschen sowie neue Transaktionen im Netzwerk zu verbreiten. So können diese dann in einem späteren Block aufgenommen werden. Als weitere Aufgabe überprüft jeder Knoten den aktuellen Stand der Blockchain auf Einhaltung der Regeln.

Vergleicht man dies nun mit aktuellen verteilten Datenbanksystemen, sind diese überwiegend zentral organisiert. So gibt es einen Masterknoten, welcher die Datenhoheit über getätigte Transaktionen besitzt und dem alle anderen Knoten (Slaves) vertrauen. Eine Validierung findet hier bei den angeschlossenen Slaves nicht statt. Dadurch sind diese Systeme anfällig für Manipulationen, wenn beispielsweise der Masterknoten durch einen Akteur infiltriert wird und über diesen dann manipulierte oder falsche Informationen verteilt werden.

Im Gegensatz dazu sind im Blockchain-Netzwerk alle Knoten gleichberechtigt und jeder Knoten überprüft die Blockchain auf Einhaltung der Regeln. Sollte somit ein Knoten manipulierte oder fehlerhafte Informationen verteilen, so würde dass von den anderen Knoten unmittelbar erkannt werden.

Weiterhin hat das Netzwerk auf Grund der hohen Redundanz eine sehr hohe Ausfallsicherheit, da jeder Knoten eine Kopie der Blockchain besitzt. Somit ist es unempfindlich gegen Ausfälle falls einzelne Konten nicht mehr erreichbar sind, sei es aus technischen oder politischen (Zensur) Gründen.

Blockchain-Plattformen

 .

 Public Blockchain-Plattform

Bei der bis jetzt beschriebenen Architektur für eine Blockchain handelt es sich um eine „Public Blockchain-Plattform“. Das heißt, jeder kann die Blockchain verwenden, indem er beispielsweise selbst einen Knoten betreibt, der sich dann mit dem Netzwerk verbindet. Eine Limitierung des Zugangs zum Netzwerk existiert nicht.

Somit sind die Daten innerhalb der Blockchain transparent, da alle Teilnehmer alle Transaktionen einsehen können. Gleichzeitig bleibt durch Kryptografie die Privatsphäre gewahrt, da eine Zuordnung einer Transaktion zu einer Organisation, Firma oder Person nicht ohne weitere Informationen möglich ist. Allerdings ist die Performance eines solchen Netzwerks verglichen mit einem verteilten Datenbanksystem gering. So sind im Bitcoin Netzwerk aktuell (Stand April 2017) maximal 7 Transaktion/Sekunde möglich von denen derzeit rund 4 Transaktionen/Sekunde erreicht werden.
Weiterhin ist die Blockgröße auf 1 Mbyte limitiert wobei ungefähr alle 10 Minuten ein neuer Block hinzukommt. Dies spiegelt sich auch in den Gebühren für eine Transaktion wieder.

Um die Grenzen der oben genannten Limitierung weiter hinauszuzögern haben sich neben der Public Blockchain mit der Private Blockchain und der Consortium Blockchain zwei weitere Ansätze herausgebildet. Hierbei wird der Anspruch an ein vollkommen dezentrales Netzwerk, in dem alle Knoten gleichberechtigt sind, herabgesetzt. Dadurch wird vor allem eine signifikante Erhöhung der Transaktionsrate pro Sekunde mit gleichzeitiger Absenkung der Transaktionskosten erreicht. (Thompson, 2016)

Beispiele für Public Blockchain-Plattformen:

  • Bitcoin (Netzwerk für Zahlungen)
  • Ethereum (Smart Contract Plattform)

Private Blockchain-Plattformen

Private Blockchain-Plattformen werden von einem einzelnen Anbieter (bspw. einer Firma oder Organisation) entwickelt und betrieben. Dieser hat somit die Hoheit über die Regeln zum Erreichen des Konsens innerhalb der Blockchain sowie welche Transaktionen in die Blöcke aufgenommen werden. Dies setzt einen hohen Grad an Vertrauen in den Betreiber voraus. Der Vorteil ist aber, dass es möglich ist den Teilnehmerkreis stark einzuschränken, welcher lesenden Zugriff auf die Informationen innerhalb der Blockchain erhält. Dies kann je nach Anwendungsfall wünschenswert sein.

Beispiele für Private Blockchain-Plattformen

  • – IBM Hyperledger, Blockchain-as-a-Service (BaaS)

 Consortium Blockchain-Plattformen

Consortium Blockchain-Plattformen sind private Blockchains mit dem Unterschied, dass diese von mehreren Anbietern, welche sich zusammengeschlossen haben, entwickelt und betrieben werden. Dadurch wird die „Macht“ über das Netzwerk auf mehrere vorausgewählte Teilnehmer verteilt.

Beispiele für Consortium Blockchain-Plattformen

  • Hyperledger
  • Ethereum Enterprise
  • Ripple

Diese Art von Blockchains hat das derzeit größte Potential, die Bedürfnisse spezifischer Märkte nach automatisierten, hoch sicheren Transaktionen abzubilden.

 


Die folgenden Artikel dieser Beitragsreihe „Blockchain – Verbesserung der Transaktionssicherheit durch Kryptografische Verkettung“ werden sich mit den fünf ausgewählten Merkmalen beschäftigen, die beim Einsatz von Blockchain Technologie relevant sind sowie Anwendungsfälle und Einsatzszenarien vorstellen.

Weitere interessante Artikel finden Sie in unserem Blog

 


Literaturverzeichnis

Coindesk. (kein Datum). Blockchain Venture Capital. Abgerufen am 10. April 2017 von http://www.coindesk.com/bitcoin-venture-capital/

Enterprise Ethereum Alliance. (kein Datum). Enterprise Ethereum Alliance. Abgerufen am 10. April 2017 von http://entethalliance.org

Förster, M. (1. März 2017). Heise.de. Abgerufen am 10. April 2017 von Blockchain: Enterprise Ethereum Alliance ins Leben gerufen: Blockchain: Enterprise Ethereum Alliance ins Leben gerufen

Faife, C. (27. Januar 2017). CoinDesk. Abgerufen am 10. April 2017 von Bosch, Cisco, Gemalto and More: Tech Giants Team Up For Blockchain-IoT: http://www.coindesk.com/bosch-cisco-gemalto-and-more-tech-giants-team-for-blockchain-iot/

Hyperledger. (kein Datum). Blockchain Technologies for Business. Abgerufen am 10. Aprli 2017 von https://www.hyperledger.org

MAL, S. N. (7. Februar 2017). NEUN MAL SECHS. Abgerufen am 10. April 2017 von http://neunmalsechs.blogsport.eu/stuemperei/blockchain-exploration/ueberblick-blockchain-konsortien/

R3CEV LLC. (2017). R3. Abgerufen am 10. 4 2017 von http://www.r3cev.com

Thompson, C. (2016. Oktober 2016). Blockchain Daily News. Abgerufen am 20. April 2017 von The difference between a Private, Public & Consortium Blockchain.: http://www.blockchaindailynews.com/The-difference-between-a-Private-Public-Consortium-Blockchain_a24681.html

Voshmgir, S. (30. Januar 2017). Blockchains, Smart Contracts und das Dezentrale Web. 36. (T. S. Berlin, Hrsg.) Berlin, Berlin, Deutschland.

 

 

Wissen Sie was Sie entwickeln sollen? Mit Sicherheit! Aber wissen Sie auch, warum genau diese Funktion für Ihr Projekt wichtig ist und für wen diese Funktion von Bedeutung ist? Wenn nein, ist Impact Mapping die Methode der Wahl für Sie.

 

Impact Mapping: Relevanz statt nur Code

Es gibt immer mehr zu programmieren, als es die Ressourcen zulassen. Eine Herausforderung in agilen Softwareprojekten ist es daher in der Anforderungsermittlung, die wichtigsten Funktionen herauszufinden. Impact Mapping  ist ein Planungstool, welches dabei hilft, die Funktionen mit dem größten Effekt auf den Unternehmenserfolg zu identifizieren. Dadurch hilft die Impact Map, Projektressourcen optimal einzusetzen.

Eine Impact Map ist eine vierstufige Mindmap, welche die Beziehungen zwischen Geschäftszielen, Akteuren, Auswirkungen und Maßnahmen visualisiert.

Dabei werden mit der Impact Map folgende Fragen beantwortet:

  • Warum machen wir das Projekt? (Ziel)
  • Wer wird durch das Projekt beeinflusst? (Akteure)
  • Welche Verhaltensweisen der Akteure möchten wir erreichen? (Auswirkung)
  • Was müssen wir liefern oder entwickeln, um die gewünschten Verhaltensweisen zu erreichen? (Maßnahmen)

In unserem Beispiel wird eine E-Commerce-App betrachtet. Nachfolgend ist die Impact Map für diesen Anwendungsfall dargestellt.

 

 

Vom „Warum?“ zum „Was?“: Aufbau einer Impact Map

Das Ziel (Warum?)

Der zentrale Punkt in der Impact Map ist das Ziel. Allzu oft wird sich bei IT-Projekten nur gefragt „Was“ umgesetzt werden soll oder eventuell noch „Wie“ die Umsetzung technisch erfolgen soll. Das „Warum?“ kommt in den meisten Fällen zu kurz. Dabei ist die Frage nach dem „Warum“ die wichtigste Frage, wenn das Projekt erfolgreich sein soll. Zu wissen, warum man etwas tut, ist die Basis, um gute Entscheidungen zu treffen.
Das zentrale Element der Impact Map ist daher das Ziel. Das Ziel definiert das Geschäftsziel, welches erreicht werden soll. Im Beispiel lautet das Geschäftsziel „Umsatz um 5 % in 6 Monaten steigern“.

 

Akteure (Wer?)
Im nächsten Schritt werden die Akteure ermittelt. Die Akteure sind diejenigen, die einen Einfluss auf die Projektergebnisse haben. Dies können Nutzer der Software oder andere Personen sein, welche vom Projekt betroffen sind (Stakeholder). Hierbei werden nicht nur die Personen miteinbezogen, welche zum Projekterfolg beitragen, sondern auch diejenigen, welche einen negativen Einfluss auf die angestrebten Ziele haben könnten.  Im Grunde wird hier also eine Stakeholderanalyse durchgeführt. In der vorliegenden Impact Map ist der Akteur der Kunde, welcher über die E-Commerce-App Einkäufe tätigen soll.

 

Auswirkungen (Wie?)
Die Auswirkungen setzen die Akteure in Bezug zu den Business-Zielen.  Sie beschreiben die gewünschte Verhaltensänderung der Akteure, damit die Geschäftsziele erreicht werden. Damit das Ziel der Umsatzsteigerung erreicht werden kann, müssen die Kunden mehr kaufen. Dies könnte dadurch geschehen, dass sie Artikel, die sie bisher noch  nicht gekauft haben, nun über die App beziehen. Eine andere Möglichkeit, den Umsatz zu steigern, könnte darin bestehen, dass der Einkaufsprozess so komfortabel gestaltet wird, dass die Kunden regelmäßig über die App einkaufen und nicht zur Konkurrenz ausweichen.

 

Maßnahmen (Was?)
Die Maßnahmen beschreiben, was die Organisation oder das Team entwickeln oder anbieten muss, um das gewünschte Verhalten der Akteure zu erreichen. Um den Kauf einer breiteren Produktpalette anzuregen, könnten beispielsweise verwandte Artikel angezeigt werden, um dadurch weitere Verkaufsimpulse zu setzen.
Der Bestellprozess könnte vereinfacht werden, indem ein Barcode-Scanner innerhalb der App bereit gestellt wird, wodurch die Artikeleingabe im Gegensatz zur manuellen Artikelnummerneingabe massiv vereinfacht wird. Auch eine Anzeige der bisher bestellten Artikel würde den Aufwand des Bestellprozesses für bereits bestellte Artikel reduzieren, da diese nicht aufwendig herausgesucht werden müssten.

  

Einsatz in der Praxis

Die Impact Map kann nach dem Top-Down-Prinzip oder Botton-Up-Prinzip aufgebaut werden.

Beim Top-Down-Ansatz wird ausgehend vom Geschäftsziel die Impact Map aufgebaut. Bei diesem Vorgehen können Ideen für Funktionen oder Maßnahmen generiert werden, um die angestrebten Geschäftsziele zu erreichen. Aus diesem Grund können die entsprechenden Anforderungen abgeleitet werden. Für eine genauere Spezifikation der Anforderungen und die anschließende Release-Planung bietet sich ergänzend die Methode des User Story Mappings an.

 

Sind bereits Anforderungen vorhanden, können diese mittels des Impact Mappings priorisiert werden. Dazu wird zunächst eine Impact Map aufgebaut und es werden die bisherigen Anforderungen mit dem Geschäftsziel in Beziehung gesetzt. Wird während des Prozesses festgestellt, dass eine Funktion wenig oder keinen Bezug zum Geschäftsziel hat, empfiehlt es sich, diese niedrig zu priorisieren oder ganz fallen zu lassen.

 

Fazit

Impact Mapping hilft den wirtschaftlichen Mehrwert eines Produktes oder Projektes im Blick zu behalten. Es visualisiert die Beziehungen zwischen den Funktionen und den erstrebten Geschäftszielen.  Durch den Einsatz dieser Methode können die Projektressourcen optimal eingesetzt werden und der maximale Nutzen erzeugt werden.

 

Verwandte Artikel:
Innovationsentwicklung mit User Story Mapping
http://www.sic-software.com/innovationsentwicklung-mit-user-story-mapping/

 

Sie benötigen Unterstützung?
Wir helfen Ihnen bei der Spezifizierung Ihrer Anforderungen.
http://www.sic-software.com/ideenworkshops/

Ist Ihr Unternehmen für die digitale Zukunft gerüstet? Finden Sie’s heraus – mit unserer neuen „Checkliste Digitalisierung“, einem Quick-Self-Assessment zur digitalen Transformation. Sie können die Checkliste kostenlos herunterladen und mit geringem Aufwand schnell und einfach den Stand der digitalen Transformation in Ihrem Unternehmen überprüfen.

Mit der Checkliste beleuchten Sie den digitalen Reifegrad in den vier entscheidenden Dimensionen der Digitalisierung: Strategie, Mitarbeiter, Technologie und Innovationsfähigkeit. Als grober Leitfaden für die digitale Transformation in Ihrem Unternehmen bietet die Checkliste Digitalisierung eine erste Orientierung und kann Ihnen dabei helfen, Ihre eigene „Digital Roadmap“ für Ihr Unternehmen zu erstellen.

Hier können Sie die „Checkliste Digitalisierung“ kostenlos herunterladen.

 

Microsoft Dynamics CRM (TEIL 2) – Unterschiede der Versionen

In diesem Teil der Serie erfahren Sie:

  • Welche verschiedenen Versionen von MS-Dynamics CRM es gibt
  • Wie sich der Funktionsumfang der einzelnen Versionen unterscheidet
  • Welche Version für den Einstieg optimal ist

Weiterlesen

Für Unternehmen die ihre kundenorientierten Prozesse in Vertrieb und Marketing digitalisieren möchten, ist ein CRM System wie Microsoft Dynamics CRM unverzichtbare Voraussetzung. Viele Verantwortliche sehen die Einführung eines CRM Systems allerdings als eine Herkulesaufgabe, die sie nur mit großer Mühe bewältigen können. Mit der richtigen Strategie kann der Einstieg jedoch erstaunlich einfach gelingen.

In dieser Blogreihe zeigen wir in leicht verständlicher Sprache wie die ersten Schritte für den erfolgreichen Einsatz eines CRM Systems, hier am Beispiel des „Microsoft Dynamics CRM“, aussehen.

Weiterlesen

In unseren Kundenprojekten wird von unseren UX Design Spezialisten regelmäßig ein sehr hilfreiches und nützliches Tool eingesetzt: Das „User Story Mapping“. Hierbei handelt es sich um eine von Jeff Patton entwickelte Methode, mit der im Rahmen von agiler Produktentwicklung eine stimmige User Experience geschaffen wird. So lässt sich der Erfolg für die auf diese Weise realisierten digitalen Produkte maximieren.

Beim User Story Mapping wird der Arbeitsfluss des Users, also des Produktnutzers, in einzelne „User Stories“ unterteilt und mit Hilfe von Klebezetteln auf einer Wand in Form einer Art Karte („Map“) visualisiert. Die Flexibilität der Klebezettel ermöglicht eine schnelle und einfache Optimierung der Prozesse bzw. des Produktes durch Umsortieren, Aufteilen, Ergänzen, Erweitern, Vertiefen, usw. An einer User Story Mapping Session nehmen idealerweise alle am Produkt Beteiligten – vom Auftraggeber über den Designer bis zum Entwickler – teil und erarbeiten einen Konsens. Durch das bessere gemeinsame Gesamtverständnis vom Produkt, seinen Eigenschaften und seiner Anwendung wird die Gefahr reduziert, sich in unwichtigen Details zu verzetteln oder das Produkt an den Bedürfnissen des Produktnutzers vorbei zu entwickeln.

Mit User Story Mapping wird ein Produkt mit genau jenen Features entwickelt, die für den Anwender wirklich nützlich und dabei auch noch realisierbar und bezahlbar sind. Dabei können mehrere aufeinanderfolgende Release-Stufen festgelegt werden – angefangen vom „Minimum Viable Product (MVP)“ über Zwischenversionen bis zur finalen Version mit dem kompletten Feature-Set. Die in der ersten Session erstellte User Story Map bildet gleichzeitig eine Basis für das Projektmanagement. Im Verlauf des Projekts kann und soll die Story Map im Rahmen einer agilen Produktentwicklung in weiteren Sessions anhand von User Feedback, Tests und Erfahrungen dann permanent weiter optimiert werden.

Entsprechend einem vielfach von unseren Kunden geäußerten Wunsch nach einer kompakten Übersicht und Kurzanleitung zum User Story Mapping haben unsere Grafiker eine Infografik mit dem Titel „Innovationsentwicklung mit User Story Mapping“ erstellt, die wir hiermit gerne allen an der Methode Interessierten zur Verfügung stellen. zur Infografik

vorschau-infografik-user-story-mapping

Viele Leser unseres Blogs haben uns nach dem Studium unseres Grundlagenartikels zum MQTT-Protokoll nach Anwendungsbeispielen gefragt. Diesem Wunsch wollen wir gerne entsprechen und präsentieren Ihnen nachfolgend eine kleine Sammlung einiger interessanter Projekte, bei denen das MQTT-Protokoll zum Einsatz kommt.

Wir bei SIC! Software setzen das MQTT Protokoll im Bereich von Embedded Projekten sehr häufig ein, da dieses Protokoll einfach zu handhaben ist und sich dank breiter Unterstützung zum DeFacto-Standard im Bereich von Internet of Things (IoT) und Industrie 4.0 entwickelt hat.

Wie z.B. beim Forschungsprojekt IMPROVE, bei dem das MQTT Protokoll dazu eingesetzt wird, um Echtzeitdaten vom Fahrzeug zu übertragen.
/forschungsprojekte/improve-automotive/

 

Da unsere Kundenprojekte der Vertraulichkeit unterliegen, listet die nachfolgende Sammlung beispielhaft öffentlich zugängliche Projekte mit MQTT-Support auf.

 

Beispiel 1: Übermittlung von Temperatursensor-Daten

Implementierung von MQTT auf dem  ESP8266 WIFI Funkmodul mit einer „einfachen“ publish / subscribe Routine.

http://www.s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/113-mqtt-basic-esp8266-mqtt-example

Beispiel 2: Übertragung des Haustürklingel-Signals

Installation des Moskito MQTT Broker auf einem Raspberry Pi. Ein ESP8266 nimmt das Klingelsignal an der Haustür auf und sendet es drahtlos an Fhem via MQTT.

http://blog.wenzlaff.de/?p=6487

Beispiel 3: Temperatur-Überwachung (Englisch)

Eine Musterhafte Lösung zur Überwachung von Temperaturen mit dem ESP8266 WIFI Funkmodul und der Anbindung an einen MQTT-Broker-Dienst unter Ubuntu:

http://www.instructables.com/id/Remote-Temperature-Monitoring-Using-MQTT-and-ESP82/

Beispiel 4: Basis-Plattform für Home-Automation (Englisch)

Implementierung eines MQTT-Stacks auf einem ATMEL  ATmega328p

http://blog.atx.name/building-avr-board-with-mqtt-support-for-iot/

Beispiel 5: Steuerung einer LED-Beleuchtung (Englisch)

Steuerung einer LED-Beleuchtung mit einem WS2812 LED Controller über das MQTT-Protokoll.

http://www.instructables.com/id/ESP8266-Led-Strip-MQTT-Control-Lights-WS2812/?ALLSTEPS

Beispiel 6: Regelung der CPU-Kühlung eines Raspberry Pi (Englisch)

Regelung der CPU-Kühlung eines Raspberry Pi über einen mit dem MQTT-Protokoll konfigurierbaren PID Regler:

http://www.instructables.com/id/PID-Control-for-CPU-Temperature-of-Raspberry-Pi/

Beispiel 7: Steuerung eines LCD-Displays (Englisch)

Applikationsbeispiel zur Steuerung eines LCD-Displays am INTEL Edison über das MQTT-Protokoll:

http://www.instructables.com/id/MQTT-what-is-this/

Weitergehende Grundlagen und Informationen zur MQTT-Standardisierung sind auf der Webseite http://mqtt.org/ beschrieben.


Vielleicht auch interessant:

Das MQTT Protokoll – Hintergründe (Teil 1)

Das MQTT Protokoll – Praxis (Teil 2)

IoT Protokolle – MQTT vs. AMQP

Modbus über MQTT – wie geht das?

Embedded Software Entwicklung mit dem Standard Finite State Machine Framework

Das „Internet of Things“ – kurz „IoT“ – ist im Moment das große Thema in der Industrie und Softwarebranche. Nachdem wir schon in einem etwas älteren Blockartikel das Thema MQTT aufbereitet und analysiert haben, ist es Zeit, sich einem zweiten wichtigen Protokoll im Umfeld von IoT anzunehmen. In diesem Artikel werden wir die beiden Protokolle vergleichen und mögliche Unterschiede bei den Einsatzszenarien beschreiben.

Wer heute ein IoT-Projekt umsetzen möchte, muss sich vor allem Gedanken darum machen, wie er die auszutauschenden Daten möglichst effizient und standardisiert übertragen kann. Zu diesem Zweck gibt es verschiedenste Protokollstandards, die entwickelt wurden, damit Plattform und Technologie übergreifend miteinander kommunizieren können.

Speziell im IoT Umfeld erfüllen die entwickelten Protokolle vor allem noch die Aufgabe möglichst mit wenigen Ressourcen auszukommen.

Was ist also AMQP und was kann es leisten?

AMQP steht für Advanced Message Queuing Protocol und wurde durch ein Konsortium von großen Unternehmen aus verschiedenen Branchen – u.a. VMware, Microsoft und Cisco – entwickelt. Bereits in 2010 gab es den ersten Draft des Protokolls.

Im Kern handelt es sich um ein asynchrones Protokoll zur Nachrichtenübertragung. Die bisher beste Erklärung zur Idee hinter AMQP findet man auf der Seite von RabbitMQ (https://www.rabbitmq.com/tutorials/amqp-concepts.html).

AMQP funktioniert demnach nach folgendem Prinzip:
Nachrichten werden an sogenannte Börsen (Exchanges) übertragen (vergleichbar mit einem Postamt). Die Börsen verteilen dann Nachrichtenkopien in Warteschlangen (Queue) basierend auf Regeln, sogenannten Bindings.

Die Nachrichten werden dann vom Empfänger direkt abgeholt, wenn er das möchte. Alternativ kann der Empfänger die Nachrichten auch bei einer Warteschlange abonnieren und bekommt diese dann direkt zugestellt.

Wenn die Nachrichten publiziert werden, kann der Herausgeber der Nachricht diese noch mit Attributen (Meta-Daten) versehen. Diese Metadaten können vom Empfänger beliebig genutzt werden.

Nachrichten bleiben so lange in den Warteschlangen, bis der Empfänger bestätigt hat, die Nachricht auch wirklich empfangen zu haben. Damit ist auch bei schlechtem Netz und Abbrüchen bei der Verbindung sichergestellt, dass die Nachricht den Empfänger erreicht.

Wenn eine Nachricht nicht zugestellt werden kann, erhält der Sender eine entsprechende Nachricht.
Die Umsetzung der Börse und der Warteschlange erfolgt innerhalb des sogenannten Brokers. Ein Broker ist z.B. der freie Server von RabbitMQ.

Die Börse ist dafür zuständig, die Nachrichten in eine oder mehrere Warteschlangen zu übertragen. Die Regeln dafür leiten sich aus den vordefinierten Austauschformaten (exchange types) und den Bindings ab.

Es gibt vier solche Austauschformate:

  • Direct –> Stellt eine feste Verbindung zwischen einer Börse und einer Warteschlange dar. Wenn eine Nachricht mit einem entsprechenden Schlüssel ankommt, wird diese gleich an die verknüpfte Warteschlange zugestellt.
  • Fanout –> Wird für sogenannte Broadcast Nachrichten verwendet. Die Nachricht wird von der Börse an alle angeschlossenen Warteschlangen zugestellt
  • Topic –> Wird für Publish/Subscribe Szenarien verwendet. Die Nachrichten werden an eine oder mehrere Warteschlangen ausgeliefert, abhängig vom Binding Key. Folgendes Bild von RedHat veranschaulicht das sehr schön.

    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_MRG/2/html-single/Messaging_Programming_Reference/index.html
  • Headers –> Die Zustellung der Nachricht zur Warteschlange erfolgt hier über den Nachrichten-Header und nicht den Routing Key. Es ist vergleichbar mit dem Direct Routing – nur mit etwas mehr Möglichkeiten zur Regelerstellung.

Neben den Austauschformaten gibt es eine Reihe von Attributen für die Nachrichten. Die wichtigsten sind:

  • Name
  • Durability (gibt an, ob die Börse einen Neustart des Broker übersteht)
  • Auto-delete (Börse wird gelöscht, wenn keine Warteschlange diese benötigt)

AMQP vs. MQTT im Vergleich

Der größte Unterschied der beiden Protokolle besteht in den Möglichkeiten für die Nachrichtenzustellung. Während MQTT ausschließlich auf Publish/Subscribe basiert, lassen sich mit AMQP auch andere Zustellungsformen realisieren.

Außerdem ist der Unterschied bei der Implementierung nicht zu unterschätzen. MQTT ist mit seinen 5 Methoden relativ schnell und einfach umzusetzen, während AMQP schon einen vergleichsweise großen Umfang mit sich bringt. Das betrifft sowohl die Definition des eigenen Protokoll wie auch die Implementierung und Test.

Die kleinste Paketgröße bei AMQP ist mit 60 Byte auch nicht zu vernachlässigen. MQTT begnügt sich im besten Fall mit 2 Byte. Das beeinflusst insbesondere bei einer großen Zahl von Geräten und Nachrichten den aufzuwendenden Aufwand erheblich. Dazu kommen größer Laufzeiten der Pakete die je nach Anwendungsfall auch kritisch zu betrachten sind.

Es gilt also abzuwägen, ob der Funktionsumfang von AMQP im jeweiligen Anwendungsfall wirklich benötigt wird oder nicht. Wenn man mit dem Publish/Subscribe Model von MQTT auskommen kann, hat man in jedem Fall eine einfacher umzusetzende und auch ressourcenschonende Lösung.


Vielleicht auch interessant:

Das MQTT Protokoll – Hintergründe (Teil 1)

Das MQTT Protokoll – Praxis (Teil 2)

MQTT Protokoll – Anwendungsbeispiele

Modbus über MQTT – wie geht das?

Embedded Software Entwicklung mit dem Standard Finite State Machine Framework