


{"id":1774,"date":"2018-02-12T02:39:38","date_gmt":"2018-02-12T01:39:38","guid":{"rendered":"http:\/\/blogs.gm.fh-koeln.de\/bente\/?p=1774"},"modified":"2019-07-12T02:40:06","modified_gmt":"2019-07-12T00:40:06","slug":"gp-ss18_a02-architektur-blueprint-fuer-microservice-landschaften-am-beispiel-projektboerse-campus-gummersbach","status":"publish","type":"post","link":"http:\/\/blogs.gm.fh-koeln.de\/bente\/2018\/02\/12\/gp-ss18_a02-architektur-blueprint-fuer-microservice-landschaften-am-beispiel-projektboerse-campus-gummersbach\/","title":{"rendered":"GP SS18_A02: Architektur-Blueprint f\u00fcr Microservice-Landschaften (am Beispiel Projektb\u00f6rse Campus Gummersbach)"},"content":{"rendered":"<h3>Problembeschreibung<\/h3>\n<p class=\"lead\">Eine Microservice-Architektur verfolgt den Ansatz, ein IT-System (in der Regel eine webbasierte Anwendung) als Suite von weitgehend unabh\u00e4ngigen vertikalen Modulen aufzubauen. Diese k\u00f6nnen (weitgehend) unabh\u00e4ngig voneinander deployed und betrieben werden und ben\u00f6tigen nur ein Minimum an zentraler Kommunikationsinfrastruktur. Kommunikation zwischen Front- und Backend erfolgt \u00fcber leichtgewichtige Protokolle wie etwa REST.<\/p>\n<p>Dieser Architekturstil erlaubt es, ganze Anwendungslandschaften nach Gesch\u00e4ftsf\u00e4higkeiten zu segmentieren. Die resultierenden Teilfunktionalit\u00e4ten k\u00f6nnen dann in Form von Microservices implement und lose gekoppelt werden. So entstehen Systeme von Anwendungen, die einerseits miteinander kommunizieren, und andererseits jeweils mit einem H\u00f6chstma\u00df an Unabh\u00e4ngigkeit entwickelt und gewartet werden k\u00f6nnen.<\/p>\n<p>Eine Microservice-Architektur bietet sich daher besonders an, um Softwareprojekte an der Hochschule (wie dem Campus Gummersbach) zu realisieren. Es ist offensichtlich sinnvoll, Systeme zur Verwaltung von R\u00e4umen, Praktika, Veranstaltungen, Projekten, Pr\u00fcfungen etc. miteinander zu vernetzen. Andererseits werden diese Anwendungen von verschiedenen Gruppen mit verschiedenen Technologien gepflegt. Eine enge Abstimmung ist an der Hochschule weder sinnvoll noch durchsetzbar.<\/p>\n<p>Um solchen Projekten ein Maximum an Freiheit bei Technologiewahl und Umsetzungsform zu gew\u00e4hren, w\u00e4re ein Architektur-Blueprint f\u00fcr Basistechnologien zur Umsetzung von Services und Koppelung von Schnittstellen eine gro\u00dfe Hilfe. Dies soll im Rahmen dieses Projekts an einem konkreten Beispiel konzipiert und pilotiert werden.<\/p>\n<h3>Projektbeschreibung<\/h3>\n<p>Ziel des Projekts ist es, f\u00fcr die Applikationslandschaft \u201eCampus Gummersbach\u201c einen Architektur-Blueprint, basierend auf dem Microservices-Ansatz, zu konzipieren.<\/p>\n<p>Dieses Konzept soll am Beispiel der <strong>Projektb\u00f6rse Campus GM<\/strong> pilotiert werden. In der Master-Veranstaltung Anforderungsmanagement (SS17) wurde hierf\u00fcr eine Anforderungsspezifikation (Lastenheft) erstellt. Darauf aufbauend hat die Master-Veranstaltung FAE eine Architekturspezifikation (Pflichtenheft) erstellt. Je nach Teilnehmerzahl wird\/werden einer oder mehrere Services der Projektb\u00f6rse sowie prototypisch entwickelt. Dazu werden Mocks eines oder mehrere Umsysteme (wie etwa ILIAS oder HOPS) erstellt.<\/p>\n<p>Diese Pilotanwendung wird genutzt, um den entwickelten Architektur-Blueprint zu validieren und offene Fragen zu identifizieren.<\/p>\n<h3>Beitrag des Projektpartners Capgemini<\/h3>\n<p>Projektpartner ist Capgemini (Axel Burghof, Senior Delivery Architect). Capgemini entwickelt f\u00fcr den Einsatz in Kundenprojekten die <strong>Devon-Plattform<\/strong>, eine Best-of-Breed-Sammlung von Technologien und Good Practices. Die Zielstellung von Devon ist durchaus vergleichbar mit dem Ziel des Architektur-Blueprints f\u00fcr den Campus. Daher kann Devon als Anregung, Vergleichsma\u00dfstab und Grundlage f\u00fcr das Projekt genutzt werden. Capgemini kann wiederum die Ergebnisse des Projekts in die Devon-Entwicklung zur\u00fcckflie\u00dfen lassen. Daher wird Axel Burghof die Entwicklung eng begleiten.<\/p>\n<h3>Projektmethodik<\/h3>\n<p>Die Umsetzung des Projekts sowie die Erstellung des Evaluationsberichts wird nach agiler Methodik (Scrum mit Elementen aus XP) erfolgen. Die agilen Teamprozesse werden gem\u00e4\u00df Typ-A-Definition von Prof. Stumpf methodisch begleitet. Das Projekt wird in (vermutlich vierw\u00f6chige) Sprints gegliedert. Axel Burghof von Capgemini wird bei den Sprint Reviews zugegen sein.<\/p>\n<h3>Learning Outcomes<\/h3>\n<ul>\n<li>Praxiserfahrung mit Microservice-Architekturen<\/li>\n<li>Erfahrung in der Konzeption und Pilotierung eines praxisnahen, umfangreichen Softwareprojekts<\/li>\n<li>Gelegenheit zur konkreten Verwendung von \u201eBleeding Edge\u201c Technologien<\/li>\n<li>Erfahrung mit agiler Entwicklungsmethodik in einem realistischen Softwareprojekt<\/li>\n<li>Expertise in Kommunikation und Dokumentation<\/li>\n<li>Teamwork- und Projektmanagement-Erfahrung<\/li>\n<\/ul>\n<h3>Voraussetzungen<\/h3>\n<ul>\n<li>Programmierkenntnisse<\/li>\n<li>Interesse an professioneller Software-Entwicklung<\/li>\n<li>Interesse an der Softwarearchitektur<\/li>\n<li>Interesse an komplexen Aufgabenstellungen und methodischem Vorgehen<\/li>\n<li>Bereitschaft, Teamarbeit tats\u00e4chlich physisch gemeinsam (im gleichen Raum, \u201ecollocated\u201c) durchzuf\u00fchren, um zu einem agilen Team zu reifen<\/li>\n<li>Bereitschaft, gem\u00e4\u00df agiler Vorgehensweise durch geeignete Tools Transparenz \u00fcber den eigenen Beitrag zur Gruppenleistung zuzulassen<\/li>\n<\/ul>\n<h3>Externe Projektpartner<\/h3>\n<p>Capgemini, Niederlassung K\u00f6ln<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problembeschreibung Eine Microservice-Architektur verfolgt den Ansatz, ein IT-System (in der Regel eine webbasierte Anwendung) als Suite von weitgehend unabh\u00e4ngigen vertikalen Modulen aufzubauen. Diese k\u00f6nnen (weitgehend) unabh\u00e4ngig voneinander deployed und betrieben werden und ben\u00f6tigen nur ein Minimum an zentraler Kommunikationsinfrastruktur. Kommunikation zwischen Front- und Backend erfolgt \u00fcber leichtgewichtige Protokolle wie etwa REST. Dieser Architekturstil erlaubt es,&#8230;  <a href=\"http:\/\/blogs.gm.fh-koeln.de\/bente\/2018\/02\/12\/gp-ss18_a02-architektur-blueprint-fuer-microservice-landschaften-am-beispiel-projektboerse-campus-gummersbach\/\" class=\"more-link\" title=\"Read GP SS18_A02: Architektur-Blueprint f\u00fcr Microservice-Landschaften (am Beispiel Projektb\u00f6rse Campus Gummersbach)\"><?php _e(\"Read more &raquo;\",\"wpbootstrap\"); ?><\/a><\/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":[50732],"tags":[9887,6831,21843,50751],"class_list":["post-1774","post","type-post","status-publish","format-standard","hentry","category-eigene-gps","tag-agil","tag-capgemini","tag-micro-service","tag-prox"],"acf":[],"_links":{"self":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/comments?post=1774"}],"version-history":[{"count":1,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1774\/revisions"}],"predecessor-version":[{"id":1775,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/posts\/1774\/revisions\/1775"}],"wp:attachment":[{"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/media?parent=1774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/categories?post=1774"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blogs.gm.fh-koeln.de\/bente\/wp-json\/wp\/v2\/tags?post=1774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}