Masterarbeit
Untersuchung von Client- und Serverseitigen SaaS Zielarchitekturen
Research Area
Advisers
Dr.-Ing. Sebastian Heil
Description (German)
Sich verändernde Nutzererwartungen stellen neue Anforderungen an bestehende Softwaresysteme. Auch die ständige Weiterentwicklung von Technologien und das Wegfallen der Unterstützung für veraltete Technologien erhöhen den Druck, bestehende Softwaresysteme zu erneuern. Da über lange Zeiträume hinweg entwickelte Systeme viel Wissen über Modelle, Regeln und Lösungen der Anwendungsdomäne im Quelltext beinhalten, ist es oft nicht sinnvoll diese durch eine komplette Neuentwicklung abzulösen. Vielmehr ist es nötig, bestehende Softwaresysteme in neue Systeme zu überführen und dabei bereits vorhandenes Wissen zu erhalten. Mit dieser Zielstellung beschäftigt sich die Softwaremigration.
Bei dieser Überführung von einem alten in ein neues Softwaresystem findet auch ein Wandel der Architektur statt. Die Architektur des neuen Softwaresystems wird als Zielarchitektur bezeichnet. Eine wichtige Entscheidung hierbei ist die Verteilung der Anwendungslogik. Gegenwärtige Entwicklungen ermöglichen es, Anwendungslogik sowohl auf dem Server als auch auf den Clients auszuführen. Im Rahmen dieser Arbeit sollen die Vor- und Nachteile beider Varianten aus Sicht eines SaaS (Software as a Service) Providers aufgezeigt werden. Zu berücksichtigen sind mindestens die folgenden Aspekte: Entwicklungsgeschwindigkeit, Wartbarkeit und Supportmöglichkeiten, Unterstützung durch Frameworks, Anforderungen an Hardware (vgl. thin client) und Stromverbrauch.
Nicht alle Arten von Anwendungslogik können sinvoll sowohl auf Servern als auch auf Clients verteilt werden, beispielsweise sollte sicherheitsrelevanter Code nicht auf Clients laufen. Ziel ist es daher, basierend auf den Untersuchungsergebnissen eine Referenzarchitektur zu konzipieren, welche Empfehlungen zur Verteilung von verschiedene Arten von Anwendungslogik gibt. Durch prototypische Implementierung einer Beispielanwendung sowohl als Server- als auch als Client Web Anwendung sollen Messungen durchgeführt werden, welche die Aussagen dieser Arbeit unterstützen.