1. Goobi 19.09 under the hood
Technische Neuerungen an Goobi workflow
1
Oliver
Paetzel,
intranda
GmbH
25.09.2019
2. Was haben wir verbessert?
1. Build-System und Arbeitsweise
2. Integration mit anderen Tools
3. Performance und Skalierbarkeit
2
Oliver
Paetzel,
intranda
GmbH
25.09.2019
4. Maven
Maven ist ein Build-Management-Tool für Java Projekte, das sich auch um
Abhängigkeiten und deren
Versionen kümmert.
Durch die Nutzung von Maven haben wir folgendes gewonnen:
Besserer Überblick über Abhängigkeiten und deren Versionen
Goobi workflow hat mit jedem release eine feste Version
Plugins hängen direkt von einer Goobi workflow Version ab
4
Oliver
Paetzel,
intranda
GmbH
25.09.2019
6. Gitea
...ist unser neuer Git-Hosting-Dienst. Hier haben wir die Möglichkeit
von pull-requests und code-
reviews gewonnen.
6
Oliver
Paetzel,
intranda
GmbH
25.09.2019
11. HTTP-Schritt: Möglichkeiten
Schritt schließen / warten
HTTP Methode wählen:
POST
PUT
PATC
HTTP body mit ersetzten Goobi-Variablen
HTTP body als JSON einlesen und Variablen als JSON escapen
11
Oliver
Paetzel,
intranda
GmbH
25.09.2019
12. REST-API: neue endpoints
Es gibt mehrere neue endpoints für die REST-API. Zwei davon sind
besonders nett:
GET/POST /api/processes/search
POST /api/processes
12
Oliver
Paetzel,
intranda
GmbH
25.09.2019
21. Warteschlangen
Die GoobiScript-Warteschlange wurde Thread-safe gemacht, d.h. es
können jetzt ohne Angst vor
Fehlern neue GoobiScripte gestartet
werden, während andere noch laufen.
21
Oliver
Paetzel,
intranda
GmbH
25.09.2019
22. Warteschlangen
Die GoobiScript-Warteschlange wurde Thread-safe gemacht, d.h. es
können jetzt ohne Angst vor
Fehlern neue GoobiScripte gestartet
werden, während andere noch laufen.
trotzdem...
22
Oliver
Paetzel,
intranda
GmbH
25.09.2019
23. Skalierbarkeit: ActiveMQ message queue
ActiveMQ bringt viele praktische Dinge mit:
Recovery wenn ein consumer ausfällt
Retry mit backoff-multiplier
Persistenz ins Dateisystem oder in die Datenbank
23
Oliver
Paetzel,
intranda
GmbH
25.09.2019