1. 2021-09-24

1.1. JakartaEE vs. Microprofile

jakartaee vs microprofile

1.3. microservices vs monolith

microservices vs monolith

1.4. Beginn Microservice Tutorial

2. 2021-10-01

  • Begonnen mit microprofile

  • Übung

    • Erstellen eines Mikroprojekts mit dem Thema des 4. Jahrganges

    • Erstellen eines Asciidoc-Ordners

3. 2021-10-04

  • tw. ausgefallen

4. 2021-10-08

  • Weiter mit microprofile-tutorial

  • "Develop the number microservice"

  • LocalDateTime vs Instant

  • BookEndpoint wurde erstellt; die openAPI-Annottionen wurden noch nicht eingetragen

  • Übung:

    • Erweitern Sie Ihr Mikroprojekt mit Panache-Repositories

    • Verwenden Sie zur Persistierung eine gedockerte Postgres-DB (starten sie mit docker-compose)

    • Erstellen Sie für die gesamte Applikation (mittels application.properties) sowie für eine Stammdaten-Klasse eine ausführliche openAPI-Dokumentation

    • Taggen Sie die abgegebene Übung mit "ue2-openapi"

5. 2021-10-11

microprofile - create books

6. 2021-10-15

7. 2021-10-18

7.1. MP Fault Tolerance

8. 2021-11-08

02 definition kanonisch
02 architecture canonical appl

8.1. Authentifizierung und Autorisierung

  • Wir verwenden hierzu keycloak

  • Woher "bekommen" wir keycloak

    1. entweder als docker image

    2. oder aus DevServices

8.1.1. Übung

  • Stellen Sie das OIDC-Demo-Projekt fertig

    • Verwenden Sie

      • einen keycloak-devservice

      • sowie einen eigenen keycloak docker-container

    • Dokumentieren Sie die Konfiguration auf gh-pages

    • Erstellen Sie 3 Endpoints

      • Auf den ersten Endpoint darf nur die Rolle admin zugreifen

      • Auf den zweiten Endpoint dürfen nur die Rollen user und admin zugreifen

      • Der dritte Endpoint ist öffentlich zugänglich

Termin: Dienstag, 16.11.2021, 23:59

Test: 3.Dezember

9. 2021-11-12

10. 2021-11-15

  • Verschiedene Security Verfahren in Quarkus

  • Variablen in requests.http

11. 2021-11-22

11.1. Websockets und SSE

12. 2021-11-26

  • Durchführung der Arbeitspakete

13. 2021-11-29

  • Feedback zu Arbeitspaketen

    • es reicht nicht, nur die Aufgaben zu erstellen

    • Die Durchführung ist als AsciiDoc zu exzerpieren

      • Grundsätzliche Einsatzgebiete - Warum?

      • Grundsätzliche Funktionsweise - Wie? (im Großen)

      • Kurze Anleitung - Wie? (im Kleinen / Cheatsheet)

13.1. Arbeitspaket KeyCloak und Testcontainer

14. 2021-12-10

  • Projekt test-demo

15. assertj

  • assertj-core

    • um Java-Objekte im Hauptspeicher zu überprüfen

    • besonders gut geeignet, um (Elemente von) Collections zu überprüfen

  • assertj-db

    • um Werte in Datenbanktabellen zu überprüfen und auszugeben

16. Referatsthemen

Table 1. Danke an Emina zur Koordination der Termine
# Thema Wer Termin

1

MongoDB (NoSQL) with Panache (Cluster)

Polleichtner

12.01.2022

2

Hibernate ORM with Panache

Kronreif

3

Reactive-Präsentationen

Eichhorn & Wallinger

6.12.2021

4

Qute

Ignjatovic

5

GraphQL, GraphQL-Client

Hain & Kaufmann

04.02.2022

6

Servlet, Servlet-Filter

Besic

07.02.2022

7

Websocket (Client & Server)

Spisak

14.01.2022

8

Flyway (Versionierung von Datenbanken)

Tischler, Trinkl

31.01.2022

9

Testcontainers (DevServices)

Sljivic

14.01.2022

10

Quarkus in Kotlin geschrieben (JPA with Panache for Kotlin)

Ecker

12.01.2022

11

Kafka

Bojer & Birklbauer

10.01.2022

12

MQTT

Rieser

21.01.2022

13

gRPC

Andricic

21.01.2022

14

RESTEasy Reactive Qute

Spasenovic

24.01.2022

15

Kubernetes

Bal, Hosic

17.01.2022

16

Container Image [Docker/Jib]

1 Person

17

Security JPA

Özdogan

18 - max. 3er

Quartz, Picocli

Gahleitner

04.02.2022

17. 2022-03-18

17.1. Native Build for Docker

  • Wir verwenden Java 17 und daher wird ein spezielles Image für Java17 spezifiziert:

./mvnw package -Pnative \
-Dquarkus.native.container-build=true \
-Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:21.3-java17
result - Das Linux binary hat eine Größe von 68MB
ls -lh ./target/backend-1.0.0-SNAPSHOT-runner
-rwxr-xr-x  1 stuetz  staff    68M Mar 19 09:28 ./target/backend-1.0.0-SNAPSHOT-runner