Sowohl das Architekturmuster der Microservices als auch das „Internet of Things“ (IoT) folgen den Prinzipien verteilter Systeme. Eine Anwendung von Microservices im IoT ist daher naheliegend, allerdings stellt sich hierbei die Frage,welche Integrationsform dafürambesten geeignet ist. Aus diesem Grund besteht das Ziel dieser Arbeit darin, verschiedene Kommunikationskonzepte von Microservices auf ihre Eignung für den Bereich des IoTs zu überprüfen. In der Arbeit werden dafür verschiedene Kommunikationskonzepte vorgestellt und anhand von diversen Kriterien miteinander auf qualitative Weise verglichen. Die Kriterien setzen sich
aus allgemeinen Herausforderungen im Umgang mit verteilten Systemen sowie aus kennzeichnenden Eigenschaften für IoT-Systeme, wie bspw. Skalierbarkeit, Erweiterbarkeit und Ressourcennutzung zusammen. Ergänzend dazu fließen weitere Aspekte der Softwareentwicklung in den Vergleich ein. Anhand der Vergleichsergebnisse wird schließlich eine Bewertung durchgeführt, welche als Grundlage für die Entwicklung von Microservices im Bereich IoT dienen kann. Zum Ende wird das Resultat durch die Konzeption einer eigenen Anwendung erprobt.
Der Vergleich und die anschließende Bewertung zeigen, dass sich asynchrone Microservices aufgrund ihrer Eigenschaften am besten für den Einsatz im IoT eignen. Dabei wurde insbesondere auf die die Kommunikationsvariante des Messagings mittels des Protokolls MQTT eingegangen. Aufbauend auf den Ergebnissen dieser Arbeit könnten Forschungen im Bereich moderner
IoT-Plattformen angestellt werden. Weiterhin würde sich die Erweiterung bestehender Microservice-Anwendungen durch zusätzliche Services für Datensammlung und intelligente Auswertung dieser als Forschungsthema anbieten.:1 Einleitung und Intention
1.1 MakroSolutions GmbH
1.2 Stand der Wissenschaft und Technik
1.3 Ziel der Arbeit
1.4 Aufbau der Arbeit
2 Definitionen und theoretische Grundlagen
2.1 Verteilte Systeme
2.1.1 Services
2.2 Internet of Things
2.2.1 Industrial Internet of Things
2.3 Microservices
2.3.1 Definition und Eigenschaften
2.3.2 Vorteile im Umgang mit Microservices
2.3.3 Herausforderungen im Umgang mit Microservices
2.3.4 Anwendungsgebiete
2.3.5 Abgrenzung zu monolithischer Architektur
2.3.6 Abgrenzung zu Service-Orientierter Architektur (SOA)
3 Kommunikation der Microservices
3.1 Mikro- und Makroarchitektur
3.2 Integrationsformen
3.3 Gemeinsame Datenbanknutzung und Datenreplikation
3.4 Synchrone Microservices
3.5 Asynchrone Microservices
4 Vergleich und Bewertung
4.1 Wahl der Vergleichskriterien
4.1.1 Fallacies of distributed computing
4.1.2 CAP-Theorem
4.1.3 Internet of Things
4.1.4 Weitere qualitative Kriterien
4.2 Vergleich der Kommunikationskonzepte
4.2.1 Fehlertoleranz und Resilienz
4.2.2 Performance und Ressourcennutzung
4.2.3 Datenkonsistenz und Verfügbarkeit
4.2.4 Skalierbarkeit und Erweiterbarkeit
4.2.5 Kopplung
4.2.6 Komplexität
4.2.7 Tests
4.2.8 Sicherheit
4.3 Bewertung in Bezug auf das Internet der Dinge (IoT)
5 Konzeption der Software
5.1 Ausgangspunkt
5.2 Anforderungen
5.3 Vorüberlegungen
5.4 Konzeption
6 Auswertung und Ausblick
6.1 Zusammenfassung und Interpretation der Ergebnisse
6.2 Beschränkungen und Ausblick für weitere Forschung
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:75744 |
Date | 17 August 2021 |
Creators | Schmidt, Nico |
Contributors | Hochschule für Technik, Wirtschaft und Kultur (FH) Leipzig |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | German |
Detected Language | German |
Type | info:eu-repo/semantics/acceptedVersion, doc-type:bachelorThesis, info:eu-repo/semantics/bachelorThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0015 seconds