Veröffentlicht: von

Problemstellung

Durch die stetig steigende Komplexität von Softwaresystemen und den damit verbundenen hohen und umfangreichen Kundenanforderungen im Bereich der funktionalen als auch nicht-funktionalen Anforderungen kann die Wahl einer geeigneten Architekturform erfolgsentscheidend für ein Projekt sein. Hierbei können die Ausprägungen der nicht-funktionalen Anforderungen, wie Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Wartbarkeit, Übertragbarkeit, als Anhaltspunkt für die passende Architektur dienen. Außerdem können die Anforderungen Ausschlag für die zu verwendenen Strukturen, Komponenten, Bibliotheken und Frameworks bei der Entwicklung geben.
Bei der Planung von JavaScript Web Applikation müssen diverse Entscheidungen früh im Projekt getroffen werden und wirken sich nachhaltig auf die Qualität der entwickelten Applikation aus. Die Entscheidungen betreffen zum einen die Frage, ob eine Client- oder Serverseitige-Architektur in Frage kommt und welchen internen Aufbau (Single-Page- oder Multi-Page-Applikation) der Client aufweisen soll. Darüber hinaus müssen passende JavaScript-Frameworks ausgewählt werden, um die gestellten Anforderungen möglichst einfach und kostengünstig umsetzen zu können.

Im Rahmen der Masterarbeit sollen daher bestehende Architekturmuster für JavaScript Web Applikationen betrachtet und miteinander verglichen werden. Des Weiteren sollen bestehende JavaScript Clients analysiert werden, um Gemeinsamkeiten in der Umsetzung der zugrunde liegenden Aufgabe und wiederkehrende Problemstellungen aufzudecken. Auf diese Weise soll eine Sammlung von Best-Practices für die Erstellung von JavaScript Clients herausgearbeitet werden.  Auf Grundlage der daraus gewonnen Erkenntnisse soll letztendlich eine Referenzarchitektur entstehen, die als Orientierungshilfe für die zu treffenden Architekturentscheidungen dient.

Abgeleitete Forschungsfrage

  • Welche typischen Aufgaben bestehen bei der Implementierung von JavaScript Clients und welches JavaScript-Framework eignet sich für welche Problemstellung?
  • Welche erprobten Architekturmuster existieren für JavaScript Clients und wie sieht deren Umsetzung in der Praxis aus?
  • Wie lässt sich eine Referenzarchitektur für JavaScript Clients definieren und wie sieht deren Umsetzung aus?

Vorgehen

Die erste Phase der Masterarbeit sieht die Einarbeitung in die Thematik vor. Dabei erfolgt die Auseinandersetzung mit der entsprechenden Fachliteratur im Bereich von bestehenden Architekturmustern, wie die Serviceorientierte Architektur (SOA), die Resource-oriented Client Architektur (ROCA) und die Qualitätssoftwarearchitektur (Quasar). Des Weiteren werden verschiedene Formen von Softwarearchitekturen bei JavaScript Web Apps betrachtet. Dabei liegt der Fokus auf den Unterschieden von Single-Page-, Multi-Page- sowie Echtzeitwebapplikationen und dem in diesem Zusammenhang eingesetzten Model-View-Controller-Pattern. Darüber hinaus werden verschiedene JavaScript-Frameworks untersucht, wobei sich die Auswahl der jeweiligen Frameworks hierbei an Frameworks, die bei Capgemini aktiv zum Einsatz kommen, orientiert.

Die zweite Phase befasst sich mit der Untersuchung von Architekturmustern und deren Umsetzung bei JavaScript Clients in der Praxis. Hierbei sollen Open Source Applikationen auf wiederkehrende Architekturmuster hin analysiert werden, um herauszufinden, welche typischen, wiederkehrenden Aufgaben bei der Erstellung von Clients existieren und wie diese durch den Einsatz von JavaScript-Frameworks unterstützt werden.

In der dritten Phase soll aus den zuvor gesammelten Analyseergebnissen eine Referenzarchitektur für JavaScript Clients erstellt werden. Dazu sollen die für eine Referenzarchitektur notwendigen Konventionen herausgearbeitet werden. Anschließend sollen, auf Grundlage dessen, die Definition einer Referenzarchitektur und eine abschließende praktische, exemplarische Anwendung der Referenzarchitektur an verschiedenen JavaScript-Frameworks erfolgen.

In der letzten Phase erfolgen die Ergebnissicherung und die wissenschaftliche Aufbereitung dessen in Form der Masterarbeit.

Externer Kooperationspartner

Capgemini Köln

Bearbeiter

Sebastian Domke

Abgabe

Ende 2017