Vortrag

Datenbankzentrische Anwendungen mit Spring Boot und jOOQ

In diesem Vortrag wird eine Variante datenbankzentrischer Anwendungen mit einer modernen Architektur vorgestellt, die sowohl in einer klassischen Verteilung als auch “cloud native” genutzt werden kann, und dabei eine sehr direkte Interaktion mit Datenbanken erlaubt.

jOOQ ist eine von vielen Möglichkeiten, Datenbankzugriff in Java zu realisieren, aber weder eine Objektrelationale Abbildung (ORM) noch “Plain SQL”, sondern eine typsichere Umsetzung aktueller SQL Standards in Java. jOOQ “schützt” den Entwickler nicht vor SQL Code, sondern unterstützt ihn dabei, typsicher Abfragen in Java zu schreiben.

Spring Boot setzt seit mehreren Jahren neue Standards im Bereich der Anwendungsentwicklung mit dem Spring Framework. Waren vor wenigen Jahren noch aufwändige XML Konfigurationen notwendig, ersetzen heute “opinionated defaults” manuelle Konfiguration. Eine vollständige Spring Boot Anwendung passt mittlerweile in einen Tweet.

Der Autor setzt die Kombination beider Technologien erfolgreich zur Migration einer bestehenden, komplexen Oracle Forms Client Server Anwendung mit zahlreichen Tabellen und PL/SQL Stored Procedures hinzu einer modernen Architektur ein. Das Projekt profitiert sehr davon, die Datenbankstrukturen nicht in einen ORM “zu zwängen”.

Der Vortrag demonstriert, wie Spring Boot genutzt wird, um den Kontext für jOOQ vorzubereiten (Datenbankverbindung, Transaktionen etc.) und anschließend fortgeschrittene, analytische Abfragen als HTTP apis zu veröffentlichen.

Auf dem Weg dorthin wird ebenfalls über Datenbankmigrationen gesprochen und wie auch an dieser Stelle die Magie von Spring Boot eingesetzt werden kann, um Entwicklungs-, Test- und Produktivdatenbanken synchron zu halten.

Kann Domain Driven Design von spezialisierten SQL-Abfragen profitieren? Die Gefahr ist groß, JPA-Entities mit Entitäten aus Evans’ DDD Buch zu verwechseln und zu meinen, man ist fertig mit DDD. Vielleicht ist es eine gute Idee, auch für DDD Entitäten und Value-Objekte spezialisierte Abfragen zu verwenden.

Datum
15.11.2017
Uhrzeit
18:30 - 20:00
Konferenz / Veranstaltung
Java Usergroup Münster, November 2017
Ort
LVM, 3.01.08 Konferenzraum II Links, Münster
  • Folie 1
    1/50
  • Folie 2
    2/50
  • Folie 3
    3/50
  • Folie 4
    4/50
  • Folie 5
    5/50
  • Folie 6
    6/50
  • Folie 7
    7/50
  • Folie 8
    8/50
  • Folie 9
    9/50
  • Folie 10
    10/50
  • Folie 11
    11/50
  • Folie 12
    12/50
  • Folie 13
    13/50
  • Folie 14
    14/50
  • Folie 15
    15/50
  • Folie 16
    16/50
  • Folie 17
    17/50
  • Folie 18
    18/50
  • Folie 19
    19/50
  • Folie 20
    20/50
  • Folie 21
    21/50
  • Folie 22
    22/50
  • Folie 23
    23/50
  • Folie 24
    24/50
  • Folie 25
    25/50
  • Folie 26
    26/50
  • Folie 27
    27/50
  • Folie 28
    28/50
  • Folie 29
    29/50
  • Folie 30
    30/50
  • Folie 31
    31/50
  • Folie 32
    32/50
  • Folie 33
    33/50
  • Folie 34
    34/50
  • Folie 35
    35/50
  • Folie 36
    36/50
  • Folie 37
    37/50
  • Folie 38
    38/50
  • Folie 39
    39/50
  • Folie 40
    40/50
  • Folie 41
    41/50
  • Folie 42
    42/50
  • Folie 43
    43/50
  • Folie 44
    44/50
  • Folie 45
    45/50
  • Folie 46
    46/50
  • Folie 47
    47/50
  • Folie 48
    48/50
  • Folie 49
    49/50
  • Folie 50
    50/50

Nach links wischen, um ggf. weitere Folien zu sehen

Scrollen oder die Pfeiltasten nutzen, um ggf. weitere Folien zu sehen

Scrollen, um ggf. weitere Folien zu sehen

Die Pfeiltasten nutzen, um ggf. weitere Folien zu sehen

Folien downloaden