Applying Model-Driven Engineering to Development Scenarios for Web Content Management System Extensions

Dennis Priefer, Taentzer, Gabriele (Prof. Dr.), Softwaretechnik
2021
Web-Content-Management-Systeme (WCMS) wie WordPress, Joomla oder Drupal haben sich als beliebte Plattformen für die Erstellung dynamischer Webanwendungen etabliert. Ein großer Vorteil von WCMS ist die funktionale Erweiterbarkeit durch installierbare Erweiterungspakete. Entwickler solcher Erweiterungen stehen jedoch vor der Herausforderung, sich mit großen Mengen an Boilerplate-Code, Abhängigkeiten zwischen Erweiterungen sowie Architekturanpassungen an der zugrunde liegenden WCMS-Plattform
more » ... anderzusetzen. Diese Herausforderungen treten in gängigen Entwicklungsszenarien auf, welche sowohl die Entwicklung und Wartung von neuen Erweiterungspaketen, als auch die Softwaremigration von bestehenden Erweiterungen auf neue WCMS Plattformen umfassen. Einen vielversprechenden Ansatz zur Bewältigung dieser Herausforderungen bietet der Einsatz von Model-Driven Engineering (MDE). MDE als Softwareentwicklungsmethode sieht vor, fachliche Softwareanforderungen innerhalb von wiederverwendbaren Modellen zu beschreiben, mit dem Ziel, technische Details über das Zielsystem weitestgehend zu abstrahieren. Die Verwendung solcher Modelle als Eingabe für plattformspezifische Codegeneratoren ermöglicht eine automatisierte Übersetzung in standardisierte Software von hoher Qualität. Allerdings hat MDE bei der Entwicklung von Erweiterungen in der WCMS-Domäne aufgrund fehlender Werkzeugunterstützung bisher wenig Akzeptanz erreicht. Während Ergebnisse empirischer Studien in anderen Domänen den Nutzen von MDE aufzeigen, fehlen derzeit empirische Belege für etwaige Vorteile im Kontext der Entwicklung von WCMS Erweiterungen. In dieser Arbeit werden die Konzepte sowie das Design einer MDE-Infrastruktur für die Entwicklung von WCMS-Erweiterungen vorgestellt. Die vorgestellte Infrastruktur umfasst eine domänenspezifische Modellierungssprache (DSL) für WCMS-Erweiterungen, Modelleditoren, sowie Werkzeuge zur Unterstützung von Forward- und Reverse-Engineering-Prozessen, bestehend aus einem Codegenerator, welcher Modellinstanzen der vorgestellten DSL [...]
doi:10.17192/z2021.0480 fatcat:lyfdth5rzjby5airjmr5l6xgwi