Konzeption eines Produktlinien Refactoring-Ansatzes für die komponenten-basierte Software TheMa

Hintergrund

In der aktuellen Softwarelandschaft werden nur noch selten rein monolithische Systeme entwickelt, sondern vielmehr wird verstärkt auf die Einbindung diverser heterogener Services gesetzt. Hieraus ist ein Netzwerk von Serviceprovidern und -Konsumenten entstanden, welches einen Datenaustausch zwischen den unterschiedlichen Systemen ermöglicht. Diese Servicelandschaft bietet bildet eine geeignete Grundlage um auch Systeme für komplexe Aufgaben, wie die Verwaltung und Planungsunterstützung von Abschluss-, Seminar- und Studienarbeiten, durch die Einbindung von Webservices, zu unterstützen. Die Einsatzmöglichkeiten dieser Service-Architekturen sind allerdings nicht nur im Webbereich denkbar, sondern lassen sich auch auf Bereiche wie Produktlinien übertragen.

 

Forschungslücke

Aus der Integrationsproblematik heraus, haben sich verschiedene Paradigmen wie die Service Oriented Architecture (SOA) entwickelt. Ein aktuelles Forschungsthema ist dabei auch, wie sich beispielsweise SOA mit Produktlinien in Verbindung bringen lassen, um einen übergreifenden Lösungsansatz zu finden. Eine Übersicht über diese Forschung findet sich unter anderem in [1] und [2]. Der Fokus dieser Forschung liegt aktuell jedoch auf formalen Definitionen der zu Grunde liegenden Prozesse und Methoden, wie beispielsweise in [3] und [4] beschrieben. Insbesondere wird in der Regel von einem komplett neuen Produkt ausgegangen, d.h. das Produkt wird von Anfang an als eine SOA-basierte Produktlinie konzipiert. Dieses Vorgehen stellt jedoch eine gewisse Einstiegshürde dar, da zu Beginn eines Projekts nicht zwingend klar ist, ob sich hieraus sinnvoll eine Produktlinie entwickeln lässt. Es stellt sich daher die Frage, wie eine Vorgehensweise aussehen kann, der ein bestehendes Softwareprodukt in eine servicebasierte Produktlinie überführt. Dieses Vorgehen ermöglicht es, im Gegensatz zur Neuentwicklung einer Softwareanwendung, bereits existierende Ergebnisse wie die des Requirements Engineerings zu nutzen. Darüber hinaus stellt sich die Frage, welche technischen Voraussetzungen sich durch das Überführen des Produkts in eine servicebasierte Produktlinie ergeben. Nach aktuellem Stand sind kaum Arbeiten bekannt, die sich mit der konkreten Implementierung beschäftigen, eine der wenigen ist [5], und keine Arbeiten, die sich mit den technischen Voraussetzungen beschäftigen.

 

Aufgabe

Ziel dieser Arbeit ist es, mit einer definierten Vorgehensweise ein Refactoring von einem bestehenden, komponentenbasierten Softwareprodukt hin zu einer servicebasierten Produktlinie vorzunehmen. Hierzu sollen zunächst vorhandene Konzepte zur Kombination von SOA und Produktlinien evaluiert werden. Hierbei gilt es insbesondere auch die Frage zu klären, wie sich die benötigte Variabilität mit Services modellieren und umsetzen lässt. Dies beinhaltet auch eine Betrachtung der Frage, wie die Ausprägungen der späteren Produktvarianten realisiert werden können, z.B. durch Konfiguration zur Laufzeit. Darüber hinaus sollen die technischen Voraussetzungen des Systems betrachtet werden. Hierzu zählt insbesondere die Überführung der bestehenden, komponentenbasierte Architektur in eine servicebasierte Architektur. Anschließend soll das Refactoring am Beispiel von TheMa erarbeitet und evaluiert werden. Hierzu sollen zunächst basierend auf den Resultaten des Requirements Engineerings der bestehenden TheMa Anwendung die Domänengrenzen der Produktlinie abgeleitet werden. Innerhalb dieser Domänengrenzen sollen dann mit Hilfe von Nutzerbefragungen konkrete Ausprägungen für die spätere Produktlinie gefunden werden. Diese Ergebnisse gilt es dann entsprechend zu modellieren, um eine reibungslose Implementierung zu ermöglichen.

Literaturverzeichnis

[1] D. Castelluccia und N. Boffoli, ?Service-Oriented Product Lines: A Systematic Mapping Study,? ACM SIGSOFT Software Engineering Notes, 2014.
[2] B. Mohabbati, M. Asadi, D. Ga?evic, M. Hatala und H. A. Müller, ?Combining service-orientation and software product line engineering: A systematic mapping study,? Information and Software Technology 55, p. 1845?1859, 2013.
[3] M. Abu-Matar und H. Gomaa, ?Variability Modeling for Service Oriented Product Line Architectures,? 15th International Software Product Line Conference, 2011.
[4] M. H. ter Beek, S. Gnesi und M. N. Njima, ?Product Lines for Service Oriented Applications - PL for SOA,? Proceedings 7th International Workshop on Automated Specification and Verification of Web Systems, 2011.
[5] A. Ezenwoke, S. Misra und M. Adigun, ?An Approach for e-Commerce On-Demand Service-oriented Product line Development,? Acta Polytechnica Hungarica, Bd. 10, Nr. 2, pp. 69-87, 2013.

 

Project information

Status:

Finished

Thesis for degree:

Master

Student:

Christian Rauschen

Supervisor:
Id:

2014-012