Refine
Document Type
- Conference Proceeding (1)
- Master's Thesis (1)
Language
- German (2)
Has Fulltext
- yes (2)
Is part of the Bibliography
- no (2)
Keywords
- Middleware (2) (remove)
Institute
- Fakultät IV - Wirtschaft und Informatik (2) (remove)
„Grappa“ ist eine Middleware, die auf die Anbindung verschiedener Autobewerter an verschiedene E-Learning-Frontends respektive Lernmanagementsysteme (LMS) spezialisiert ist. Ein Prototyp befindet sich seit mehreren Semestern an der Hochschule Hannover mit dem LMS „moodle“ und dem Backend „aSQLg“ im Einsatz und wird regelmäßig evaluiert. Dieser Beitrag stellt den aktuellen Entwicklungsstand von Grappa nach diversen Neu- und Weiterentwicklungen vor. Nach einem Bericht über zuletzt gesammelte Erfahrungen mit der genannten Kombination von Systemen stellen wir wesentliche Neuerungen der moodle-Plugins, welche der Steuerung von Grappa aus moodle heraus dienen, vor. Anschließend stellen wir eine Erweiterung der bisherigen Architektur in Form eines neuentwickelten Grappa-php-Clients zur effizienteren Anbindung von LMS vor. Weiterhin berichten wir über die Anbindung eines weiteren Autobewerters „Graja“ für Programmieraufgaben in Java. Der Bericht zeigt, dass bereits wichtige Schritte für eine einheitliche Darstellung automatisierter Programmbewertung in LMS mit unterschiedlichen Autobewertern für die Studierenden absolviert sind. Die praktischen Erfahrungen zeigen aber auch, dass sowohl bei jeder der Systemkomponenten individuell, wie auch in deren Zusammenspiel via Grappa noch weitere Entwicklungsarbeiten erforderlich sind, um die Akzeptanz und Nutzung bei Studierenden sowie Lehrenden weiter zu steigern.
Zusammen mit der Microservice-Bewegung werden immer häufiger synchrone Request-Response-Schnittstellen nach dem REST-Paradigma entwickelt, um Service-Landschaften zu integrieren. Die Einfachheit des Paradigmas verleitet viele Organisationen, nahezu die komplette Interprozesskommunikation ihres Ökosystems über diese Art von Schnittstelle abzuwickeln – nicht ohne Konsequenzen.
Diese Arbeit entwickelt Ansätze, wie die Integrationsprobleme, die bei übermäßiger Verwendung von REST entstehen, mithilfe von Event-Driven Architecture gelöst werden können, ohne den Status quo dieser Organisationen außer Acht zu lassen. Dafür werden der gegenwärtige Zustand der Integrationsmuster und eingesetzten Infrastruktur von Event-Driven Architecture kritisiert und Kriterien erarbeitet, die pragmatische und zugängliche Integrationsansätze erfüllen müssen. Um die Einführungskosten gering zu halten, wird eine Middleware entwickelt, die in bestehende REST-Schnittstellen eingesetzt werden kann und auf Basis der API-Aufrufe Events generiert. Darauf aufbauend werden vier Integrationsmuster entwickelt, die eine schrittweise Transformation zu Event-Driven Microservices ermöglichen. Um die Zugänglichkeit der Eventing-Infrastruktur zu erhöhen, wird außerdem wird die Standardisierung der Event-Struktur durch die CloudEvents-Spezifikation vorgeschlagen. Um die Zugänglichkeit weiter zu erhöhen, erfolgt die Kommunikation der Services nicht direkt mit dem Event-Broker, sondern über Proxies, die die Events per HTTP annehmen oder ausspielen. Um die Transparenz über den Datenfluss im System zu wahren, werden alle Produzenten und Konsumenten werden mitsamt ihrer Events durch den Beschreibungsstandard AsyncAPI dokumentiert.
Nach einer Validierung dieser Ansätze mithilfe eines Prototyps kommt diese Arbeit zu der Erkenntnis, dass der Einsatz der entwickelten Middleware für alle Organisationen sinnvoll ist, die bereits viele REST-Schnittstellen im Einsatz haben. Die Standardisierung der Event-Struktur und des Event-Protokolls mittels CloudEvents und HTTP-Proxies sowie die Dokumentation durch AsyncAPI empfiehlt sich auch unabhängig des Status quo für alle Organisationen, die Event-Driven Microservices entwickeln möchten.