


{"id":1125,"date":"2017-07-27T16:59:11","date_gmt":"2017-07-27T14:59:11","guid":{"rendered":"http:\/\/lwibs01.gm.fh-koeln.de\/blogs\/bente\/?p=1125"},"modified":"2017-07-27T17:00:11","modified_gmt":"2017-07-27T15:00:11","slug":"ma-referenzarchitektur-fuer-javascript-clients","status":"publish","type":"post","link":"https:\/\/blogs.gm.fh-koeln.de\/bente\/2017\/07\/27\/ma-referenzarchitektur-fuer-javascript-clients\/","title":{"rendered":"MA: Referenzarchitektur f\u00fcr JavaScript Clients"},"content":{"rendered":"<h4>Problemstellung<\/h4>\n<p class=\"lead\">Durch die stetig steigende Komplexit\u00e4t 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\u00fcr ein Projekt sein. Hierbei k\u00f6nnen die Auspr\u00e4gungen der nicht-funktionalen Anforderungen, wie Funktionalit\u00e4t, Zuverl\u00e4ssigkeit, Benutzbarkeit, Effizienz, Wartbarkeit, \u00dcbertragbarkeit, als Anhaltspunkt f\u00fcr die passende Architektur dienen. Au\u00dferdem k\u00f6nnen die Anforderungen Ausschlag f\u00fcr die zu verwendenen Strukturen, Komponenten, Bibliotheken und Frameworks bei der Entwicklung geben.<br \/>\nBei der Planung von JavaScript Web Applikation m\u00fcssen diverse Entscheidungen fr\u00fch im Projekt getroffen werden und wirken sich nachhaltig auf die Qualit\u00e4t 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\u00fcber hinaus m\u00fcssen passende JavaScript-Frameworks ausgew\u00e4hlt werden, um die gestellten Anforderungen m\u00f6glichst einfach und kosteng\u00fcnstig umsetzen zu k\u00f6nnen.<\/p>\n<p>Im Rahmen der Masterarbeit sollen daher bestehende Architekturmuster f\u00fcr 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\u00fcr die Erstellung von JavaScript Clients herausgearbeitet werden.\u00a0 Auf Grundlage der daraus gewonnen Erkenntnisse soll letztendlich eine Referenzarchitektur entstehen, die als Orientierungshilfe f\u00fcr die zu treffenden Architekturentscheidungen dient.<\/p>\n<h4>Abgeleitete Forschungsfrage<\/h4>\n<ul>\n<li>Welche typischen Aufgaben bestehen bei der Implementierung von JavaScript Clients und welches JavaScript-Framework eignet sich f\u00fcr welche Problemstellung?<\/li>\n<li>Welche erprobten Architekturmuster existieren f\u00fcr JavaScript Clients und wie sieht deren Umsetzung in der Praxis aus?<\/li>\n<li>Wie l\u00e4sst sich eine Referenzarchitektur f\u00fcr JavaScript Clients definieren und wie sieht deren Umsetzung aus?<\/li>\n<\/ul>\n<h4>Vorgehen<\/h4>\n<p>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\u00e4tssoftwarearchitektur (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\u00fcber hinaus werden verschiedene JavaScript-Frameworks untersucht, wobei sich die Auswahl der jeweiligen Frameworks hierbei an Frameworks, die bei Capgemini aktiv zum Einsatz kommen, orientiert.<\/p>\n<p>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\u00fctzt werden.<\/p>\n<p>In der dritten Phase soll aus den zuvor gesammelten Analyseergebnissen eine Referenzarchitektur f\u00fcr JavaScript Clients erstellt werden. Dazu sollen die f\u00fcr eine Referenzarchitektur notwendigen Konventionen herausgearbeitet werden. Anschlie\u00dfend sollen, auf Grundlage dessen, die Definition einer Referenzarchitektur und eine abschlie\u00dfende praktische, exemplarische Anwendung der Referenzarchitektur an verschiedenen JavaScript-Frameworks erfolgen.<\/p>\n<p>In der letzten Phase erfolgen die Ergebnissicherung und die wissenschaftliche Aufbereitung dessen in Form der Masterarbeit.<\/p>\n<h4>Externer Kooperationspartner<\/h4>\n<p>Capgemini K\u00f6ln<strong><br \/>\n<\/strong><\/p>\n<h4>Bearbeiter<\/h4>\n<p>Sebastian Domke<\/p>\n<h4>Abgabe<\/h4>\n<p>Ende 2017<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Arbeit untersucht, wie eine Referenzarchitektur f\u00fcr moderne SPA-JavaScript-Clients definiert werden kann, und wie deren Umsetzung aussieht.<\/p>\n","protected":false},"author":39,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20665],"tags":[9885,83,27553,27552,27551,9947],"class_list":["post-1125","post","type-post","status-publish","format-standard","hentry","category-laufende-arbeiten","tag-architektur","tag-javascript","tag-quasar","tag-referenzarchitektur","tag-spa","tag-ui"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/comments?post=1125"}],"version-history":[{"count":2,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1125\/revisions"}],"predecessor-version":[{"id":1127,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1125\/revisions\/1127"}],"wp:attachment":[{"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/media?parent=1125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/categories?post=1125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/tags?post=1125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}