[Back]


Diploma and Master Theses (authored and supervised):

B. Bajtela:
"Entwurf und Entwicklung der Mandantenfähigkeit von Software-as-a-Service-Architekturen am Fallbeispiel einer Enterprise Java-Applikation in der Betriebsphase";
Supervisor: T. Grechenig; 194/3, 2018.



English abstract:
Software as a Service (SaaS) as an alternative to locally installed Software is constantly gaining popularity through new, modern web technologies and flexible subscription payment models. Providers introduce their solutions to specific markets quickly and efficiently using agile development models and continue further development after release. Should the provider wish to reach new markets and user bases, their software is required to implement new requirements and support specific configurations for each user at runtime even though it was seldom specifically designed for this purpose. This is the starting point for this thesis, which evaluates the applicability of existing approaches for managing variability in software in the context of SaaS. For the most common class of SaaS already in the operational phase, Java web applications, a method is developed to implement new requirements in the existing implementation. For this purpose, the existing feature set of the application is reconstructed and translated together with new features to a variability model. Existing legacy code is refactored and new tests introduced to prevent further degradation before SaaS-applicable variability implementation techniques are applied. Additionally, a meta model is implemented to support different configurations for users at runtime and centrally manage both existing and newly introduced variability. Newly created or adapted user journey tests ensure the continued correctness of the application. An exemplary application of the method is performed within a case study, which involved an existing accounting SaaS being extended to allow the purchasing of a point-of-sale extension as a standalone feature for new users. The successful implementation and delivery to the customer confirms the practicality of the method.

German abstract:
Software as a Service (SaaS) als Alternative zu lokal installierter Software findet durch moderne Webtechnologien stetig wachsende Verbreitung. Anbieter bringen Lösungen für spezielle Märkte mit agilen Entwicklungsmethoden rasch und kostengünstig auf den Markt und entwickeln sie nach Veröffentlichung laufend weiter. Sollen neue Märkte erschlossen werden, muss die Software neue Anforderungen umsetzen und für jeden Kunden eine zugeschnittene Konfiguration unterstützen, obwohl sie in den seltensten Fällen dafür konzipiert wurde. Hier setzt diese Arbeit an und evaluiert bestehende Ansätze für die Umsetzung von Variabilität in Software auf ihre Anwendbarkeit im SaaS-Umfeld. Als in der Praxis am häufigsten vorkommende Klasse von SaaS in der Betriebsphase werden Java-Webapplikationen betrachtet und eine Methode entwickelt, um neue Anforderungen in der bestehenden Implementierung umzusetzen. Zu diesem Zweck werden die Funktionalitäten der bestehenden Applikation rekonstruiert und zusammen mit den neuen Anforderungen in ein Variabilitätsmodell übersetzt, welches die Grundlage für die Umsetzung bildet. Bestehender Code wird durch Refactoring und Einführung gezielter Tests vor weiterer Degradation bewahrt, bevor für SaaS anwendbare Umsetzungstechniken diesen um die neuen Anforderungen ergänzen. Ein Metamodell zur Unterstützung verschiedener Konfigurationen von Benutzern zur Laufzeit wird der Applikation zur Verfügung gestellt, um neu hinzugefügte und bereits bestehende Variabilität zentral zu verwalten. Eine Erstellung bzw. Ergänzung bestehender User-Journey-Tests stellt die Korrektheit der Umsetzung sicher. Im Rahmen eines Fallbeispiels wird die Methode exemplarisch durchlaufen und eine bestehende Buchhaltungs-SaaS um die Möglichkeit erweitert, die als Erweiterung zur Verfügung stehende Registrierkassa als eigenständiges Produkt für Neukunden zugänglich zu machen. Die erfolgreiche Umsetzung und Auslieferung an den Kunden bestätigt die Praxistauglichkeit der Methode.

Created from the Publication Database of the Vienna University of Technology.