Microservice Architectures (MSA), WS22
Microservices sind ein Architekturstil, der die Entwicklung großer Softwaresysteme in weitgehend autarken Teams ermöglich. In diesem Kurs lernen Sie die wichtigsten Konzepte dazu kennen. Innerhalb eines relativ großen Projekts setzen Sie selbst Aspekte synchroner und asynchroner Kommunikation um.
- Studiengang und Modulbeschreibung
-
Code & Context (Bachelor)
(siehe auch Modulbeschreibung auf der Studiengangs-Seite)
- Zeitraum und zeitliche Organisation der Veranstaltung
-
05.12.2022 - 16.12.2022. Organisiert als Blockkurs mit definierten Präsenzzeiten. Siehe unten für die genauen Daten.
- Ort der Veranstaltung
- Die Veranstaltung findet in einem Hybrid-Format statt. Bitte schauen Sie bei dem jeweiligen Zeitschlitz oder Workshoptag nach (siehe unten auf dieser Seite), ob dieser online oder in Präsenz stattfindet. Falls auf dieser Seite keine Angaben sind, prüfen Sie bitte die sonstige Kommunikation (z.B. Discord).
-
-
Raum:
423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28)
-
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
(nur in Ausnahmefällen und wenn explizit vorher für den Tag kommuniziert)
- ILIAS/ILU-Kurs zur Veranstaltung
- https://ilias.th-koeln.de/ilias.php?ref_id=2122372&cmdClass=ilrepositorygui&cmdNode=wc&baseClass=ilrepositorygui
-
Anmeldung
zur Veranstaltung
-
Bitte werden Sie Mitglied
in diesem ILIAS/ILU-Kurs.
Die Deadline ist 07.12.2021.
- Miro Board für Gruppenarbeiten, Notizen und Modellieren während des Kurses
-
Im Kurs können Sie
dieses Board nutzen.
- Discord-Server für schnelle Kommunikation
-
Discord hat sich als sehr effektive Plattform für den Informationsaustausch, Diskussionen und Fragen an Lehrende/Betreuer:innen erwiesen. Deshalb sollten Sie dem ArchiLab-Discord-Server beitreten unter
https://discord.gg/YYNYb5whU8.
Navigieren Sie zum Channel
#rollenzuweisung
und klicken Sie auf
coco
.
Die entsprechenden Kanäle zur Veranstaltung werden anschließend für Sie freigeschaltet.
- Youtube-Kanal
-
Für diese Veranstaltung sind Lehrvideos auf Youtube verfügbar. Abonnieren Sie dafür am besten den Kanal
ArchiLab.
(Disclaimer - die Videos auf diesem Kanal sind nicht monetarisiert. Weder ich persönlich noch das Labor ArchiLab verdienen damit Geld. Wir nutzen YouTube vor allem deshalb, weil es für Studierende ein leicht zugänglicher Kanal ist. Außerdem bekommen wir als Labor an der TH Köln so auch Sichtbarkeit nach außen, was z.B. bei dem Einwerben von externen Gastvorträgen hilft.)
Learning Outcome
Als Software-Entwickler:in kann ich mittlere bis große Software- und IT-Systeme konzipieren und umsetzen,
indem ich ...
- die Fachlichkeit der Anwendung mit Methoden des Domain-Driven Design analysiere,
- darauf aufsetzend eine Service-Architektur mit synchroner und asynchroner Kommunikation konzipiere,
- diese mit Hilfe von Standard-Technologie (Spring, RabbitMQ, Java) umsetze,
- mein Vorgehen reflektiere und anderen beschreibe,
damit ich auf diese Weise große digitale Produkte entwickeln kann, die ein komplexes, verteiltes Backend erfordern.
Organisation der Veranstaltung
Microservice Architectures (MSA) ist eine Blockveranstaltung in Code & Context. Es wird folgende Struktur geben:
- Die Tage sind als Workshop angelegt und gehen von 10:00 bis 16:00…17:00, mit einer Mittagspause, die wir je nach
Tages-Agenda aushandeln.
- Ich versuche, jeweils immer jede Stunde 5 min Pause einzuhalten. Sollte es mir durchgehen, erinnern Sie mich bitte daran.
- Die Präsenz-Workshops werden vermutlich etwas länger als 16:00 gehen - um 17:00 ist dann aber sicher Schluss.
Dafür sind die Remote-Workshops tendenziell kürzer und lassen mehr Freiraum für individuelles Arbeiten.
- Die Workshops bestehen aus Inhaltsimpulsen, selbstständigen praktischen (Programmier- und Modellier-)Übungen und Gruppenreflektionen.
- Die einige Inhalte der Veranstaltung sind als Lehrvideos verfügbar. Für einige Videos ist während des Tages Zeit
vorgesehen, um diese zu schauen; andere schauen Sie bitte nach 16:00, vor Beginn des nächsten Tages.
- Siehe auch Zeitplan mit nach Workshoptagen aufgeschlüsselten Inhalten,
dort sind die Videos direkt verlinkt.
- Der Mittwoch ist als Selbstlern-Tag konzipiert. An diesem Tag gibt es kein Workshop-Programm.
- Ein Feedback ist auch außerhalb der Workshop-Zeiten möglich, bevorzugt über Discord (siehe oben).
Präsenz vs. Remote
Dies ist eine hybride Veranstaltung in dem Sinne, dass sich Präsenz- und Remote-Veranstaltungen abwechseln.
WICHTIG: Bei Krankheitssymptomen bleiben Sie BITTE zu Hause! Alle Inhaltsimpulse werde ich aufzeichnen und als
Recording zur Verfügung stellen. Nur Diskussionen und Präsenz-Aktionen wie das Event-Storming machen keinen Sinn
als Aufzeichnung. Stand heute gibt es folgende Verteilung von Präsenz und Online:
Mo 5.12. |
Di 6.12. |
Do 8.12. |
Fr 9.12. |
Mo 12.12. |
Di 13.12. |
Do 15.12. |
Fr 16.12. |
Präsenz |
Präsenz |
remote |
remote |
Präsenz |
remote |
remote |
Präsenz |
Vorbereitung auf den Kurs
- ILIAS-Kurs MSA beitreten
- Mir einen
gitlab.com
-Account zukommen lassen (nicht die campusId!)
- Videos schon mal ansehen - s.u. unter “Zeitplan”
- Wer will: Literaturliste anschauen und sich das eine oder andere schon mal besorgen (ebenfalls s.u.)
Fallstudie
Als Fallstudie nehmen wir das Microservice-Dungeon-Projekt. Hier sollen Sie in Teams von 3-4 Personen
jeweils einen Player-Service entwickeln, der mit den anderen Player-Services zusammenarbeiten kann. Die wesentlichen
Links zu dem Projekt sind diese hier:
Aufgaben in der Fallstudie
Achtung: In diesem Projekt sind wir ausschließlich im Backend unterwegs. Clients (UIs) sind nicht Bestandteil
der Aufgabe. Sie können aber so etwas als Bonus machen (s.u.). Ihre Aufgabe in der Fallstudie wird sein:
- Erfassen Sie die Fachlichkeit eines Players, der Robots steuert, mit Hilfe von EventStorming und anderen
Mitteln. Reflektieren Sie die Fachlichkeit (was Ihr Player kann) und Ihre Entscheidungen und Herausforderungen
in einer abschließenden Präsentation.
- Implementieren Sie einen Player. Jeder Player ist ein eigenständiger Service, der mit den Core-Services über
REST und RabbitMQ-Events kommuniziert. Ein Player sollte zumindest die nachfolgenden Funktionalitäten beherrschen
(und zwar automatisiert, nicht durch manuelle Steuerung):
- Robots kaufen
- Robots über die Map bewegen
- Ressourcen minen
- Ressourcen verkaufen
- Arbeiten Sie mit anderen Playern zusammen. Sprich: bauen Sie Kommunikationsstrukturen auf, um mit den anderen
Playern in diesem Kurs zu kommunizieren und z.B. Informationen auszutauschen.
- Sorgen Sie für ein Hosting des Players in unserer Microservice-Dungeon-Projekt-Umgebung. Dazu gibt es noch
eine Einführung. Ihr Player muss in einem Repo in der Gruppe
https://gitlab.com/the-microservice-dungeon/player-teams/msa liegen
und sein Name muss mit
player-
beginnen.
Bonus oder Abwertung
Die Bewertung der obigen Punkte erfolgt im Team. Dabei gehe ich von einer gleichmäßigen Leistung aller Mitglieder
aus. Wenn das nicht der Fall ist (wenn also z.B. ein Teammitglied sich erkennbar nicht an der Gruppenarbeit
beteiligt), dann behalte ich mir vor, dieses Teammitglied schlechter zu bewerten als die anderen. Stellen Sie also
z.B. sicher, dass Sie auch bei Pair Programming auch selbst Commits ins System pushen.
Als Bonus würde z.B. Folgendes gewertet (entweder individuell oder für das ganze Team):
- Besondere Features über das oben Beschriebene hinaus, z.B. ein UI-Client für den eigenen Player, besonders
gute Tests, …
- Außergewöhnlicher individueller Einsatz, entweder im eigenen Team, oder in der gesamten Gruppe (z.B. durch
Helfen)
Bezüglich Technologie haben Sie freie Wahl - einzig die Protokolle für die Kommunikation mit den
Core-Services sind gesetzt (REST bzw. AMQP, also das RabbitMQ-Messaging-Protokoll). Beachten Sie aber, dass
Sie keine technische Unterstützung von mir oder anderen aus dem Microservice-Dungeon-Projekt erwarten können, wenn Sie
auf eine Exoten-Technologie setzen - das müssen Sie dann selbst hinbekommen. Auch das Hosting ist Ihre Verantwortung.
Abschlussreflektion
Am letzten Freitag des Kurses machen wir eine Abschlussreflektion mit allen Teams. Dabei stellt jedes Team in einer
praktischen Demo vor, wie weit sie mit dem Player gekommen sind. Außerdem beantwortet die Reflektion folgende
Leitfragen:
- Was hat mir in dem Architekturstil “Microservice” mit einer Event-Driven Architecture Schwierigkeiten bei
Verständnis und Umsetzung gemacht? Was ist “anders” als bei früheren Software-Projekten von mir?
- Was hat bei der Bewältigung der Komplexität geholfen?
- Wenn ich an so ein Projekt (z.B. einer großen eCommerce-Plattform, die aus Microservices besteht) für Geld
mitarbeiten würde - was würde ich individuell, als Team und/oder als Gesamtprojekt anders machen?
- Bitte machen Sie realistische und konkrete Vorschläge
- Also “Dafür sorgen, dass alle anderen Services keine Bugs haben” genügt nicht, Sie sollten auch schon
vorschlagen, wie Sie das erreichen wollen.
- Was nehme ich ganz persönlich aus dieser Fallstudie mit?
Sie brauchen keine Folien zu machen. Mündlich oder Hilfsmittel wie Miro-Board genügen. Jeder aus dem Team sollte an
der Erstellung und Reflektion mitwirken. Die Leitfragen können Sie für das ganze Team beantworten (also sammeln).
Benotung
Die Benotung erfolgt in diesem Kurs in Teilgruppen, basieren auf einem Code Review des eigenen Players. Die Benotung
orientiert sich an den obigen Anforderungen an den Player plus Bonus. Details folgen noch, aber die Benotung
wird sich an dem nachfolgenden Schema orientieren.
Note |
Bedingung |
1,0 |
Alle Bedingungen 1) - 4) umfassend erfüllt (oder teilweise Kompensation durch Bonus) |
2,0 |
Bedingungen 1) - 3) umfassend erfüllt (oder teilweise Kompensation durch Bonus) |
3,0 |
Bedingungen 1) - 2) umfassend erfüllt (oder teilweise Kompensation durch Bonus) |
4,0 |
Bedingung 1) umfassend erfüllt (oder teilweise Kompensation durch Bonus) |
Angepasstes Benotungsschema (14.12.22)
Angesichts der doch teilweise großen Probleme in den Teams, mit der Technologie und dem Architekturstil einer
Event-Driven Architecture werden die Anforderungen wie folgt vereinfacht.
Die Leistung wird mit gut (2,0) bewertet, wenn
- in der Reflektion am Freitag Nachmittag die Leitfragen
(siehe oben zur Abschlussreflektion) passend und vollständig bearbeitet sind und
der Player in einer Demo sinnvoll vorgestellt wurde
- der eigene Player Robots kaufen und über die Map bewegen kann, ohne dass Exceptions geworfen werden (alles Weitere
ist dann Bonus, inklusive auch Mining und Verkaufen von Ressourcen)
- die Softwarequalität gut ist, d.h. insbesondere die Grundsätze des in den Kursen Clean Code und Application Design
erlernten Stoffs eingehalten werden
Alles darüber Hinausgehende aus der obigen Aufgabenliste ist Bonus
und trägt zur Verbesserung der Note bei.
Literatur
Hier finden Sie bewusst eine längere Liste zum Weiterlesen. Die aus meiner Sicht wichtigsten Titel sind fettgedruckt.
- Brandolini, A. (2022). Introducing EventStorming. LeanPub, https://leanpub.com/introducing_eventstorming
- Evans, E. (2015). Domain-Driven Design Reference—Definitions and Pattern Summaries. Domain Language, Inc.
URL
- Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software (1st edition). Addison-Wesley Professional.
- Fowler, M. (2014, January 15). Bounded Context. martinfowler.com. URL
- Fowler, M. (2017, February 7). What do you mean by “Event-Driven”? martinfowler.com. URL
- Gauder, S. (2019, April 1). A competitive food retail architecture with microservices. microxchg 2019. URL
- Graca, H. (2017, November 16). DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together. @hgraca. URL
- Levin, G. (2017, March 25). Internal vs. External APIs. REST API and Beyond. URL
- Newman, S. (2021). Building Microservices: Designing Fine-Grained Systems (2nd ed.). O’Reilly and Associates.
- Richardson, C. (2015, May 19). Introduction to Microservices. NGINX. URL
- Samokhin, V. (2018, January 18). DDD Strategic Patterns: How to Define Bounded Contexts - DZone Microservices. Dzone.Com. URL
- Steinacker, G. (2016, March 20). Why Microservices? Dev.Otto.De. URL
- Tilkov, S., Eigenbrodt, M., Schreier, S., & Wolf, O. (2015). REST und HTTP: Entwicklung und Integration nach dem Architekturstil des Web (3., akt. u. erw. Aufl.). dpunkt.verlag GmbH.
- Vernon, V. (2013). Implementing Domain-Driven Design (01 ed.). Addison Wesley.
- Wolff, E. (2015). Microservices: Grundlagen flexibler Softwarearchitekturen (1., Auflage). dpunkt.verlag.
- Wolff, E. (2016b, November 29). Self-contained Systems: A Different Approach to Microservices. InnoQ Blog. URL
Workshops
Mon 05.12.2022, 10:00 - 16:00: Kickoff mit EventStorming
In diesem ersten Blocktag starten wir in die Veranstaltung, klären Organisatorisches, dann erschließen wir uns die Fallstudie mit einem EventStorming.
Ort des Workshops
Raum:
423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).
Ziel des Tages
Sie wissen, was in den zwei Wochen auf Sie zukommt, haben die Domäne verstanden und Teams gebildet.
Videoaufzeichnung
Eine Videoaufzeichnung gibt es
hier.
(Passwort: TDruEV*0).
Agenda
-
10:00 - 10:30:
Organisatorisches
- Zeitplan und Struktur der ersten und zweiten Woche (Workshops, Übungen, Videos)
- Youtube-Channel
- Discord als präferiertes Kommunikationsforum
- Benotung
-
10:30 - 11:15:
Einführung in das Microservice-Dungeon-Projekt
-
11:15 - 12:00:
Diskussion der Fachlichkeit im Team
- Sie schauen sich die Dokumentation noch einmal in Ihren Teams an und sammeln Fragen
- Anschließend versuchen wir die Fragen zu klären
-
12:00 - 13:00:
Mittagspause
-
13:00 - 15:00:
EventStorming
- Wir machen ein EventStorming zu der Funktionalität des Players
-
15:00 - 16:00:
Wrap-Up und Fragen
- Abschließend Wrap-Up und Ende des Workshop-Tages
Aufgabe bis zum nächsten Workshop
- Überlegen Sie, wie Sie die Funktionalität umsetzen können
- Sammeln Sie weitere Fragen
- Schauen Sie sich das Video für den nächsten Tag an
Tue 06.12.2022, 10:00 - 16:00: Microservices - Motivation und technische Grundlagen
In diesem zweiten Blocktag beschäftigen wir der Architektur von Microservice-Landschaften mit ihren Kommunikations-Pattern - und wann & wieso man das so macht.
Ort des Workshops
Raum:
423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).
Ziel des Tages
Sie haben für sich klar, wie die grundsätzliche Architektur funktioniert, und was Ihr Player machen muss.
Schauen Sie bitte vorab nachfolgende Videos
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag und zum Microservice-Dungeon-Projekt
-
10:15 - 11:45:
Planspiel "Synchrone vs. Asynchrone Kommunikation"
-
11:45 - 12:30:
Motivation - Verteilte Softwaresysteme und Bearbeitung in Teams
- PDF liegt hier in ILAS.
- Es gibt einen Video-Mitschnitt (Passwort GAe@1Ae$).
- Traditionelle Architekturen
- Heutige Anforderungen - agile Teams, schnelle Time2Market
- Conway's Law
- Microservices als unabhängige Einheiten
-
12:30 - 13:30:
Mittagspause
-
12:30 - 14:45:
Vorstellung des Players M.O.N.T.E.
- Den Player M.O.N.T.E. können Sie als Basis nehmen, um eigene Funktionalität zu implementieren (müssen Sie aber nicht).
- Ich stelle den Player vor. Anschließend können Sie sich den Player in den Teams anschauen und entscheiden, ob Sie den eigenen Player darauf aufbauen lassen wollen.
- Es einen Video-Mitschnitt der Kurzvorstellung des Players (Passwort 6J06H8#C). Achtung - leider habe ich erst ab Minute 11 angefangen, den Bildschirm zu teilen.
- Sammeln Sie im Team offene Fragen. Die können wir dann klären.
-
14:45 - 16:00:
Anlegen des eigenen Players
- ... entweder als Fork von M.O.N.T.E. oder als eigenes Projekt.
Aufgabe bis zum nächsten Workshop
- Arbeiten Sie sich in den Code ein
- Sammeln Sie Fragen
Wed 07.12.2022: Selbstlerntag
Aufgabe bis zum nächsten Workshop
- Arbeiten Sie sich in den Code ein
- Schauen Sie sich die Videos für den nächsten Tag an
Thu 08.12.2022, 10:00 - 16:00: Coding-Session zum Loslaufen mit dem eigenen Player
Sie haben Zeit, Ihr Dev Env ans Laufen zu bringen und sich als Team zu organisieren. Am Nachmittag gibt es eine Live-Coding-Session zum Thema "REST-Calls"
Ort des Workshops
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
.
Ziel des Tages
Ihr lokales Dev Env ist aufgesetzt und funktioniert
Schauen Sie bitte vorab nachfolgende Videos
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag und zum Player
-
10:15 - 12:30:
Individuelle Arbeitszeit - Aufsetzen des lokalen Dev Env
-
12:30 - 13:30:
Mittagspause
-
13:30 - 14:30:
Live-Coding-Session - REST Calls aus dem Player heraus
- Ich demonstriere Ihnen, wie Sie aus dem Player heraus Kommandos via REST-Call absetzen können.
-
14:30 - 15:45:
Individuelle Arbeitszeit - Absetzen eines Kommandos
- Sie arbeiten daran, aus dem Player heraus ein Kommando abzusetzen
-
15:45 - 16:00:
Schnelle Runde & Wrap-Up des Tages
Aufgabe bis zum nächsten Workshop
- Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.
Fri 09.12.2022, 10:00 - 12:30: Individuelle Arbeitszeit und erste Retro
Sie haben Zeit, an Ihrem Player zu arbeiten. Zum Mittag hin machen wir eine Retro.
Ort des Workshops
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
.
Ziel des Tages
Sie können mit der Woche zufrieden sein ;-).
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag
-
10:15 - 11:00:
Live-Coding - Wie baue ich ein neues Event ein?
- Ich stelle kurz vor in einer Live-Coding-Session vor, wie man auf ein neues Event horcht. Den Video-Mitschnitt gibts hier. (Passwort N5s5CwM)
-
11:00 - 11:45:
Individuelle Arbeitszeit - Arbeit am Player
-
11:45 - 12:30:
Retro
- Wir machen eine Retro und schauen auf die erste Kurswoche zurück.
Mon 12.12.2022, 10:00 - 16:00: Coding-Session mit Event-Processing
Sie arbeiten beim eigenen Player am Thema "Event-Processing". Dazu gibt es auch eine Live-Session.
Ort des Workshops
Raum:
423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).
Es gibt zusätzlich eine Videokonferenz.
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
Ziel des Tages
Sie können Event-Listener schreiben und dadurch Aktionen im eigenen Player anstoßen. Konkret können das "round-status"-Event auslesen und aus dem Handler heraus bestimmen, was ihr Player als nächstes tun soll (z.B. Robots kaufen).
Agenda
-
10:00 - 10:15:
Fragen zur vorigen Woche und zum Player
-
10:15 - 10:45:
Fragen zur vorigen Woche und zum Player
- Aktuelle Änderungen im Generic Player - und wie mache ich den Merge in meinen Code?
- Hier ist die Videoaufzeichnung dazu (Passwort bzdaKK1DS1!)
-
10:45 - 14:30:
Individuelle Arbeitszeit
- Darin individuelle Mittagspause
-
14:30 - 15:00:
Live-Coding-Session - Commands absetzen
- Ich demonstriere Ihnen, wie Sie im Player ein Command an den Game-Service via REST absetzen können.
- Hier ist die Videoaufzeichnung dazu (Passwort bzdaKK1DS1!)
-
15:00 - 16:00:
Individuelle Arbeitszeit - Event-Listener
- Sie arbeiten daran, im Player Events zu lesen
Aufgabe bis zum nächsten Workshop
- Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.
Tue 13.12.2022, 10:00 - 16:00: Coding-Session mit Hosting
Sie arbeiten weiter am eigenen Player.
Ort des Workshops
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
.
Ziel des Tages
Sie können Robots kaufen und verstehen alle Events, die damit zusammenhängen.
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag und zum Player
-
10:15 - 15:45:
Individuelle Arbeitszeit
- Darin individuelle Mittagspause
- Bei Fragen rufen Sie mich in Zoom, ich komme dann dazu.
-
15:45 - 16:00:
Schnelle Runde & Wrap-Up des Tages
Aufgabe bis zum nächsten Workshop
- Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.
Wed 14.12.2022: Selbstlerntag
Thu 15.12.2022, 10:00 - 16:00: Individuelle Arbeitszeit
Bereiten Sie Ihren Player für eine Präsentation vor. Arbeiten Sie weiter am Code, und versuchen Sie Ihren Player in einen stabilen Zustand zu bekommen.
Ort des Workshops
Videokonferenz-Link:
https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09
.
Ziel des Tages
Ihre Robots können sich über die Map bewegen.
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag
-
10:15 - 11:30:
Individuelle Arbeitszeit mit Möglichkeit für Fragen
-
11:30 - 12:30:
Einführung Hosting
- Thomas Raser gibt aus dem DevOps-Team des Microservice-Dungeon-Projekts heraus eine Einführung, wie Sie Ihren Player deployen können.
- Hier ist die Video-Aufzeichnung (Passwort 1@#k1%1C)
-
12:30 - 15:45:
Individuelle Arbeitszeit mit Möglichkeit für Fragen
- Darin individuelle Mittagspause
-
15:45 - 16:00:
Schnelle Runde & Wrap-Up des Tages
Aufgabe bis zum nächsten Workshop
- Präsentation für Freitag vorbereitet und im Team abgesprochen.
Fri 16.12.2022, 10:00 - 16:00: Individuelle Arbeitszeit und Abschlusspräsentation
Bereiten Sie Ihren Player für eine Präsentation vor. Arbeiten Sie weiter am Code, und überlegen Sie sich die Punkte für die Teampräsentation mit Reflektion am Freitag. Dann gibt es die Teampräsentationen und eine Abschluss-Retro.
Ort des Workshops
Raum:
423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).
Agenda
-
10:00 - 10:15:
Fragen zum vorigen Tag
-
10:15 - 13:00:
Vorbereitung Ihrer Präsentation
- Letzte Arbeiten am Player
- Sie bereiten Ihre Präsentation für den Nachmittag plus eine Demo Ihres Players vor.
- Darin individuell Mittagspause
-
13:00 - 15:15:
Team-Präsentationen
- Vorstellen des Players und seiner Features
- Reflektion von Herausforderungen und individuellen Learnings / Takeaways
- Bitte max. 20 min pro Team
- Reihenfolge ist wie folgt (durch random.org ermittelt) ...
- (1) player-YaDaJo
- (2) player-team2
- (3) t-3
- (4) Le Gœtémarx
- (5) player-walle
- (6) Team 7 player
-
15:15 - 16:00:
Abschluss-Retro