Im Rahmen dieser Masterarbeit wurde ein Konzept für eine nachrichtenorientierte Software-Architektur für web-basierte Software-Systeme nach einer Analyse und Bewertung von bestehenden Lösungen entwickelt.
Bei diesem Architekturkonzept wird ein großer Wert auf die gute Reaktionsfähigkeit des Gesamtsystems, die lose Kopplung zwischen den Software-Komponenten und ihre Autonomie sowie auf die zuverlässige Kommunikation gelegt. Die Kommunikation ist asynchron, push- und topic-basiert und erfolgt nach dem Publish/Subscribe-Prinzip mittels Nachrichten. Dieses Architekturmodell ermöglicht auch eine asynchrone Request/Response-Kommunikation mit Hilfe einer speziell dafür entwickelten Technik – RPC Messaging, durch die ein Client Daten von einem Server in einer asynchronen Art und Weise abfragen und bekommen kann.
Es wird zwischen drei Arten von Software-Komponenten unterschieden: Client Component, Server Component und Message Bus. Der Mediator ist eine spezielle Server Component, die dafür sorgt, dass RESTful Microservices, die nicht nachrichtenorientiert arbeiten können, problemlos in das Software-System eingebunden werden können.
Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Einführung in das Themengebiet
- 1.2 Fragestellungen
- 1.3 Beschreibung des Demonstrators
- 1.3.1 Funktionale Anforderungen aus Sicht der Studierenden
- 1.3.2 Funktionale Anforderungen aus Sicht der Sachbearbeiter
- 1.4 Gliederung der Arbeit
- 2 Grundlagen
- 2.1 Das Reaktive Manifest
- 2.2 Ereignisgesteuerte Architektur
- 2.2.1 Grundkonzepte
- 2.2.2 Schichten
- 2.2.3 Vorteile
- 2.2.4 Nachteile
- 2.3 Nachrichtenorientierte Architektur
- 2.3.1 Hauptelemente
- 2.3.2 Kommunikationsmodelle
- 2.3.3 Vorteile
- 2.3.4 Nachteile
- 2.4 Microservices
- 2.4.1 Definition
- 2.4.2 Grundlegende Eigenschaften
- 2.4.3 Deployment-Strategien
- 2.4.4 Vorteile
- 2.4.5 Nachteile
- 2.5 REpresentational State Transfer (REST)
- 2.5.1 Architektur
- 2.5.2 Methoden
- 2.6 Web Components
- 2.7 Angular 2
- 2.7.1 TypeScript
- 2.7.2 Grundkonzepte
- 2.7.3 Vergleich zu anderen Web Frameworks
- 2.8 Web Workers
- 2.8.1 Definition
- 2.8.2 Klassen
- 2.8.3 Grundkonzepte
- 2.8.4 Bewertung
- 3 Stand der Technik
- 3.1 A Message-based Software Architecture Style for Distributed Application
- 3.2 Hierarchical message bus-based (HMB) software architecture style
- 3.2.1 HMB-Architekturelemente
- 3.2.2 Bewertung
- 3.3 Message-Oriented-Middleware in a Distributed Environment
- 3.3.1 Grundkonzepte
- 3.3.2 Bewertung
- 3.4 Nachrichtenbasierte Web-Präsentation für das serviceorientierte SmartCampus-System (SC-NBWP)
- 3.5 Vergleich
- 4 Konzept für eine nachrichtenorientierte Software-Architektur für web-basierte Software-Systeme
- 4.1 Grundkonzepte
- 4.2 Hauptelemente
- 4.3 Kommunikationsmechanismen
- 4.3.1 Push- und topic-basierte Kommunikation
- 4.3.2 Punkt-zu-Punkt-Kommunikation und Publish/Subscribe
- 4.3.3 Nachrichtenprotokolle
- 4.3.4 RPC Messaging
- 5 Konzept für die Umsetzung des Demonstrators
- 5.1 Message Bus
- 5.1.1 Grundkonzepte von RabbitMQ
- 5.1.2 Anwendung der RabbitMQ-Konzepte bei der Umsetzung des Demonstrators
- 5.2 Client Components
- 5.2.1 Eingesetzte Technologien und Konzepte
- 5.2.2 Touchscreen-Web-Anwendung
- 5.2.3 Web-Anwendung für die Anzeigebildschirme vor Ort
- 5.2.4 Windows-Druck-Service
- 5.2.5 Windows-Client-Anwendung zum Ziehen einer Wartemarke durch Scannen der KIT-Karte
- 5.2.6 SmartCampus-Ticket-Service-Gruppe
- 5.3 Server Components
- 5.3.1 Eingesetzte Technologien
- 5.3.2 StudAdvice Ticket Microservice
- 5.3.3 Notification Microservice
- 5.3.4 StudentCard Microservice
- 5.4 Datenimporter
- 5.1 Message Bus
- 6 Zusammenfassung und Ausblick
- 6.1 Zusammenfassung
- 6.2 Ausblick
Zielsetzung und Themenschwerpunkte
Die vorliegende Masterarbeit befasst sich mit dem Entwurf und der Umsetzung einer nachrichtenorientierten Software-Architektur, die die Herausforderungen der modernen Web-Entwicklung adressiert. Insbesondere wird die Architektur am Beispiel eines SmartCampus-Dienstes demonstriert und die praktischen Einsatzmöglichkeiten sowie die Vorteile dieser Architektur aufgezeigt.
- Die Nutzung von Nachrichten als Kommunikationsmittel für den Datenaustausch zwischen verschiedenen Systemkomponenten.
- Die Anwendung von Microservice-Architekturen zur Steigerung der Flexibilität und Skalierbarkeit von Web-Anwendungen.
- Die Integration von Technologien wie RabbitMQ als Message Bus und Angular 2 als Framework für die Client-seitigen Komponenten.
- Die Implementierung eines Demonstrators, der die Funktionsweise der nachrichtenorientierten Software-Architektur veranschaulicht.
- Die Evaluierung der Leistungsfähigkeit und der Vorteile der entwickelten Architektur im Vergleich zu herkömmlichen Architekturen.
Zusammenfassung der Kapitel
- Das Einleitungskapitel führt in das Themengebiet ein und stellt die Fragestellungen der Arbeit vor. Es wird auch ein Demonstrator beschrieben, der als Beispiel für die praktische Anwendung der Architektur dient.
- Kapitel 2 behandelt die grundlegenden Konzepte, die für die Entwicklung einer nachrichtenorientierten Software-Architektur relevant sind, wie beispielsweise das Reaktive Manifest, ereignisgesteuerte Architekturen, Nachrichtenorientierte Architekturen, Microservices, REST, Web Components und Angular 2.
- Kapitel 3 bietet eine Übersicht über den Stand der Technik im Bereich der Nachrichtenorientierten Architekturen und zeigt die Vor- und Nachteile verschiedener Ansätze auf.
- Kapitel 4 präsentiert das Konzept für die entwickelte nachrichtenorientierte Software-Architektur für web-basierte Software-Systeme.
- Kapitel 5 beschreibt die konkrete Umsetzung des Demonstrators unter Verwendung von Technologien wie RabbitMQ als Message Bus, Angular 2 als Framework und verschiedenen Microservices.
Schlüsselwörter
Nachrichtenorientierte Architektur, Microservices, RabbitMQ, Angular 2, SmartCampus, Web-Anwendungen, Event-Driven Architecture, REST, Web Components, Distributed Systems.
- Quote paper
- M.Sc. Radoslav Yankov (Author), 2016, Entwurf und Umsetzung einer nachrichtenorientierten Software-Architektur am Beispiel eines SmartCampus-Dienstes, Munich, GRIN Verlag, https://www.grin.com/document/424116