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

Web content management systems (WCMSs) such as WordPress, Joomla or Drupal have established themselves as popular platforms for instantiating dynamic web applications. Using a WCMS instance allows developers to add additional functionality by implementing installable extension packages. However, ext...

Full description

Saved in:
Bibliographic Details
Main Author: Priefer, Dennis
Contributors: Taentzer, Gabriele (Prof. Dr.) (Thesis advisor)
Format: Doctoral Thesis
Language:English
Published: Philipps-Universität Marburg 2021
Subjects:
Online Access:PDF Full Text
Tags: Add Tag
No Tags, Be the first to tag this record!

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 auseinanderzusetzen. 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 verwendet, einem Werkzeug für die Code-Extraktion aus installierten WCMS-Erweiterungen, sowie einem Werkzeug zur Informationsgewinnung, welches basierend auf bestehenden Erweiterungspaketen Modellinstanzen der vorgestellten DSL generieren kann. Der Entwurf der gezeigten Infrastruktur befolgt folgenden Prozess: Zunächst wird die Repräsentativität gängiger Entwicklungsszenarien untersucht, indem Interviews mit Entwicklern aus der WCMS-Domäne durchführt werden. Als nächstes wird ein allgemeines Lösungskonzept für diese Szenarien vorgeschlagen, welches Rollen, Prozessschritte sowie notwendige MDE-Infrastrukturkomponenten umfasst. Daraufhin werden funktionale sowie nicht-funktionale Anforderungen an eine adäquate MDE-Infrastruktur gesammelt. Um die Anwendbarkeit der vorgestellten Konzepte zu zeigen, wird die JooMDD-Infrastruktur vorgestellt, welche die Entwicklung von Erweiterungen für das Joomla WCMS adressiert, welches im Vergleich populärer WCMS den anspruchsvollsten Erweiterungsmechanismus bietet. Um Belege für den positiven Einfluss von MDE während der Entwicklung von WCMS-Erweiterungen zu sammeln, werden die Ergebnisse empirischer Studien mit Erweiterungs-Entwicklern aus der Joomla-Community vorgestellt. Dabei werden zuerst Methode, Ergebnisse sowie Schlussfolgerungen eines kontrollierten Experiments mit Entwicklern aus dem akademischen sowie industriellen Bereich präsentiert, welches konventionelle Erweiterungs-Entwicklung mit dem MDE Ansatz vergleicht. Die Ergebnisse zeigen einen deutlichen Gewinn an Produktivität und Qualität durch den Einsatz der JooMDD-Infrastruktur. Weiterhin werden Design und Beobachtungen eines semi-kontrollierten Tutorials mit Entwicklern aus der Joomla-Community präsentiert. Unter Verwendung der JooMDD-Infrastruktur in mehreren Entwicklungsszenarien wurde qualitatives Feedback über die Akzeptanz, Nützlichkeit sowie offene Herausforderungen des vorgestellten MDE-Ansatzes gesammelt. Abschließend werden Lessons Learned sowie auftretende Validitätsgefährdungen der durchgeführten Studien präsentiert.