Fachwissenschaftliches Wahlpflichtmodul in den Bachelorstudiengängen Informatik und Wirtschaftsinformatik an der Hochschule Rosenheim.

Organisatorisches

Vorlesungstermin: Dienstag 2.,3. Stunde

Kommunikation vorzugsweise über die Mattermost Gruppe (Einladungslink).

GitHub Classroom: https://classroom.github.com/classrooms/31311683-microservices-ws18-19

Kurzbeschreibung des Moduls

Die Grundlagen von modernen Microservice-Architekturen werden anhand von typischen Architekturmerkmalen und gängigen Tools erläutert. Die Themen werden in Form von Präsenzübungen vertieft. Im Vordergrund stehen nicht die verwendeten Programmiersprachen, sondern die sinnvolle Architektur von klein geschnittenen unabhängigen Komponenten. Die Unterlagen sind auf Englisch die Vorträge auf Deutsch.

Aufgaben und Leistungsnachweis

Der Leistungsnachweis wird in Form einer mündlichen Prüfung im Prüfungszeitraum am Ende des Semesters erbracht. (ca. 15-20 min). Während des Semesters erarbeiten die Studenten zusätzlich eine kurze Präsentation zu einem Wahlthema aus dem Bereich Microservices. (ca. 10-15 min) Die gelernten Themen werden durch Übungsaufgaben vertieft.

Tools

  • IntelliJ Idea
  • Docker
  • Gradle, sbt
  • Git/GitHub/GitLab
  • JDK8, JDK9/10/11
  • Minikube
  • Helm
  • Bash/Powershell

Literaturempfehlungen

  • Sam Newman. Building Microservices. O’Reilly, isbn: 978-1491950357
  • O. Vogel, et al.: Software-Architektur. Grundlagen – Konzepte – Praxis, Spektrum (2005)
  • Eric Evans: Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison Wesley (2003
  • Eric Evans: Domain-Driven Design Reference: Definitions and Pattern Summaries, Dog Ear Pub Llc (2014)
  • Chris Richardson. Microservices. url: http://microservices.io/
  • Eberhard Wolff. Microservices - Grundlagen flexibler Softwarearchitekturen. dpunkt.verlag Heidelberg (2016)
  • Jonas Bonér: Reactive Microservies Archictecture – Design Principles of Districuted Systems O’Reilly (2016)

Inhalt

1. Building Blocks for Microservices & Tooling (02.10.2018)

Dozent: Tobias

— (Vorlesungsmaterialien, Vorlesungsmaterialien 2, Übungsaufgaben)

2. Webprogramming Basics - Play2 Webframework (09.10.2018)

Dozent: Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

3. Container - Basics (16.10.2018)

Dozent: Peter

— (Vorlesungsmaterialien, Übungsaufgaben)

4. Webprogramming Basics 2 - Play2 Webframework (23.10.2018)

Dozent: Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

5. Container 2 - Advanced (30.10.2018)

Dozent: Peter

— (Vorlesungsmaterialien, Übungsaufgaben)

6. Container 3 - Minikube & Kubernetes (06.11.2018)

Dozent: Peter

— (Vorlesungsmaterialien, Übungsaufgaben)

7. DevOps 1 - Intro / CI / CD / IaC Overview (13.11.2018)

Dozent: Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

8. DevOps 2 - k8s Helm, k8s in der Public Cloud (20.11.2018)

Dozent: Peter & Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

9. Service Disovery & API Gateways (27.11.2018)

Dozent: Peter

— (Vorlesungsmaterialien)

10. Security (04.12.2018)

Dozent: Peter

— (Vorlesungsmaterialien, Übungsaufgaben)

11. Data Persistence, Event Storming, Event Sourcing, CQRS (11.12.2018 & 18.12.2018)

Dozent: Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

12. Logging & Monitoring (08.01.2019)

Dozent: Peter

— (Vorlesungsmaterialien, Übungsaufgaben)

13. UI / UX in Microservice Architekturen & Prüfungsvorbereitung (15.01.2019)

Dozent: Gast, Tobias

— (Vorlesungsmaterialien, Übungsaufgaben)

Alle Angaben vorbehaltlich von Änderungen.