Grin logo
de en es fr
Shop
GRIN Website
Publicación mundial de textos académicos
Go to shop › Ciencias de la computación - Software

Entwurf und Umsetzung einer nachrichtenorientierten Software-Architektur am Beispiel eines SmartCampus-Dienstes

Título: Entwurf und Umsetzung einer nachrichtenorientierten Software-Architektur am Beispiel eines SmartCampus-Dienstes

Tesis de Máster , 2016 , 97 Páginas , Calificación: 1,3

Autor:in: M.Sc. Radoslav Yankov (Autor)

Ciencias de la computación - Software
Extracto de texto & Detalles   Leer eBook
Resumen Extracto de texto Detalles

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.

Extracto


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

3 Stand der Technik

3.1 A Message-based Software Architecture Style for Distributed Application

3.1.1 Grundkonzepte

3.1.2 Bewertung

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 StudAdviceTicket Microservice

5.3.3 Notification Microservice

5.3.4 StudentCard Microservice

5.4 Datenimporter

6 Zusammenfassung und Ausblick

6.1 Zusammenfassung

6.2 Ausblick

Zielsetzung & Themen

Diese Masterarbeit zielt darauf ab, ein architektonisches Konzept für moderne, reaktive und nachhaltige Web-Anwendungen zu entwickeln, das eine lose Kopplung zwischen den Komponenten durch nachrichtenorientierte Kommunikation ermöglicht. Hierbei wird insbesondere eine Lösung zur Verwaltung von Warteschlangen am KIT-Studierendenservice implementiert, um technologische Veraltung und mangelnde Skalierbarkeit bestehender Systeme zu adressieren.

  • Konzeption nachrichtenorientierter Software-Architekturen für web-basierte Systeme.
  • Einsatz von Microservices und ereignisgesteuerten Mechanismen zur Entkopplung.
  • Implementierung eines Demonstrators basierend auf RabbitMQ und Angular 2.
  • Evaluation von Kommunikationsprotokollen (AMQP, STOMP) und RESTful-Integration.
  • Analyse und Optimierung der Antwortbereitschaft und Skalierbarkeit mittels RPC Messaging.

Auszug aus dem Buch

Nachrichtenorientierte Architektur

Moderne Software-Systeme stellen immer höhere Anforderungen an die Kommunikation zwischen den einzelnen Systemkomponenten. Bisher hat sich das Client/Server Kommunikationsmodell in diversen Systemen durchgesetzt, es stößt aber in vielen Anwendungsfällen an seine Grenzen. Bei diesem Kommunikationsmodell kann ein vorübergehender Ausfall einer Komponente oder eines Web Service zu Blockierungen oder Datenverlusten führen. Überdies ist dieses klassische Paradigma kaum auf Anwendungen mit einer ereignisgesteuerten Architektur anwendbar. Nachrichtenorientierte Ansätze versuchen diese Probleme zu lösen. In den nachfolgenden Ausführungen wird das Konzept einer nachrichtenorientierten Architektur als eine der Anforderungen des Reaktiven Manifests erörtert, ihre Hauptelemente und Kommunikationsmodelle vorgestellt, sowie Vorteile und Schwachstellen diskutiert.

Jede nachrichtenorientierte Architektur besteht aus den folgenden Hauptelementen: Nachrichten, Nachrichtenproduzent, Nachrichtenkonsument und Nachrichtenserver, auch Nachrichten Broker oder Message Bus genannt. [AS+09]

In einer Nachricht sind Daten, die von einer Software-Komponente zu einer anderen zu übertragen sind, enthalten [AS+09]. Wenn eine nachrichtenorientierte Architektur zusammen mit einer ereignisgesteuerten Architektur kombiniert wird, erfolgt meistens das Verschicken einer Nachricht als Reaktion auf das Eintreffen eines Ereignisses. In diesem Fall werden oft anhand der Nachricht auch Daten übertragen, diese Datenübertragung stößt allerdings einen bestimmten Prozess im System an.

Zusammenfassung der Kapitel

1 Einleitung: Dieses Kapitel führt in das Themengebiet der modernen Web-Anwendungen ein, benennt zentrale Fragestellungen und beschreibt den Demonstrator des Aufrufsystems.

2 Grundlagen: Hier werden theoretische Fundamente wie das Reaktive Manifest, ereignisgesteuerte und nachrichtenorientierte Architekturen sowie Microservices und Web-Technologien erläutert.

3 Stand der Technik: Es werden bestehende Ansätze wie TreeSA, HMB und Message-Oriented-Middleware vorgestellt, kritisch analysiert und miteinander verglichen.

4 Konzept für eine nachrichtenorientierte Software-Architektur für web-basierte Software-Systeme: Dieses Kapitel stellt das spezifisch entwickelte Architekturkonzept inklusive der Hauptelemente und Kommunikationsmechanismen im Detail vor.

5 Konzept für die Umsetzung des Demonstrators: Hier erfolgt die technische Konzeption des Aufrufsystems für den Studierendenservice unter Verwendung von RabbitMQ, Angular 2 und diversen Microservices.

6 Zusammenfassung und Ausblick: Die Arbeit fasst die Ergebnisse zusammen und diskutiert offene Herausforderungen sowie potenzielle weiterführende Forschungsarbeiten.

Schlüsselwörter

Nachrichtenorientierte Architektur, Ereignisgesteuerte Architektur, Microservices, RabbitMQ, Web-Anwendungen, Angular 2, Software-Architektur, Reaktives Manifest, Publish/Subscribe, RPC Messaging, Skalierbarkeit, Lose Kopplung, SmartCampus, Web Workers, REST.

Häufig gestellte Fragen

Worum geht es in dieser Masterarbeit grundlegend?

Die Arbeit befasst sich mit dem Entwurf und der Umsetzung einer nachrichtenorientierten Software-Architektur für web-basierte Systeme, die auf Skalierbarkeit, Wartbarkeit und Entkopplung fokussiert ist.

Welche zentralen Themenfelder werden behandelt?

Die zentralen Themen sind ereignisgesteuerte Architekturen, der Einsatz von Microservices, moderne Web-Frameworks wie Angular 2 sowie Protokolle zur asynchronen Kommunikation wie AMQP und STOMP.

Was ist das primäre Ziel der Arbeit?

Das primäre Ziel ist es, ein modulares System für das Warteschlangenmanagement im KIT-Studierendenservice zu entwickeln, das bestehende, veraltete Systeme ersetzt.

Welche wissenschaftlichen Methoden kommen zum Einsatz?

Die Arbeit kombiniert eine fundierte Literaturanalyse bestehender Architekturstile mit der praktischen Konzeption und Implementierung eines Demonstrators auf Basis moderner Technologien.

Welche Aspekte stehen im Hauptteil im Fokus?

Der Hauptteil behandelt die theoretischen Grundlagen, die Analyse des Stands der Technik sowie die detaillierte architektonische Ausgestaltung und die praktische Umsetzung des Demonstrators durch verschiedene Client- und Server-Komponenten.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit wird maßgeblich durch Begriffe wie nachrichtenorientierte Architektur, lose Kopplung, Skalierbarkeit, Microservices und RabbitMQ geprägt.

Wie löst die Architektur das Problem der synchronen Request/Response-Kommunikation?

Durch den Einsatz eines Message Bus und asynchroner Kommunikation nach dem Publish/Subscribe-Prinzip wird die Blockierung von Komponenten verhindert und eine Entkopplung der Systemendpunkte erreicht.

Warum wird RabbitMQ als Message Bus eingesetzt?

RabbitMQ bietet eine hohe Zuverlässigkeit, unterstützt gängige Nachrichtenprotokolle wie AMQP und STOMP und ist optimal für verteilte, ereignisgesteuerte Systeme geeignet.

Welchen Vorteil bietet das serverseitige Rendering mit Angular Universal?

Es ermöglicht extrem schnelle Startzeiten für die Web-Anwendung, da der Client unmittelbar ein vorgerendertes HTML-Dokument erhält, anstatt auf das Laden komplexer Framework-Ressourcen warten zu müssen.

Final del extracto de 97 páginas  - subir

Detalles

Título
Entwurf und Umsetzung einer nachrichtenorientierten Software-Architektur am Beispiel eines SmartCampus-Dienstes
Universidad
Karlsruhe Institute of Technology (KIT)
Calificación
1,3
Autor
M.Sc. Radoslav Yankov (Autor)
Año de publicación
2016
Páginas
97
No. de catálogo
V424116
ISBN (Ebook)
9783668698086
ISBN (Libro)
9783668698093
Idioma
Alemán
Etiqueta
entwurf umsetzung software-architektur beispiel smartcampus-dienstes nachrichtenorientierte architektur
Seguridad del producto
GRIN Publishing Ltd.
Citar trabajo
M.Sc. Radoslav Yankov (Autor), 2016, Entwurf und Umsetzung einer nachrichtenorientierten Software-Architektur am Beispiel eines SmartCampus-Dienstes, Múnich, GRIN Verlag, https://www.grin.com/document/424116
Leer eBook
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
Extracto de  97  Páginas
Grin logo
  • Grin.com
  • Envío
  • Contacto
  • Privacidad
  • Aviso legal
  • Imprint