Hallo,
auf Basis der Frage von Christian ( chbo ) möchte ich versuchen diese Plattform für eine Diskussion zu nutzen.
Derzeit gibt es mehrere Orte, an denen Groovy Skripte verwendet werden können, die beiden wichtigsten sind die Preapred Searches und Datengeneratoren. Dabei kann jeweils an dem Element das Skript bearbeitet werden. Das bedeutet auch, die Skripte sind direkt an das Element gebunden, quasi eine 1:1 Beziehung. Die Skripte können derzeit auch nur über die Weboberfläche bearbeitet werden.
Bei Installationen mit einer hohen Anzahl an PSs oder DGs führt das zu Redundanzen, da sich die Skripte teilweise funktionell wiederholen. Um den Punkt zu verbessern müsste diese 1:1 Beziehung aufgelöst werden. Wie kann so eine Lösung aussehen.
Spontan hätte ich folgende Ansätze:
Java Libs
Auf dem haupia Server gibt es ein Verzeichnis, um allgemeine Libs zur Verfügung zu stellen. Aus dieser Lib werden alle Klassen gescanned, die ein bestimmter Interface implementieren. Diese stehen dann im Cockpit zur Auswahl zur Verfügung.
Vorteile:
1. Externe Entwicklung der Libs, inkl. IDE und SCM
2. Typisiert durch das Interface
Nachteile:
1. Austausch oder Hinzufügen einer jar zur Laufzeit ist kompliziert und Fehleranfällig, der einzig sichere Weg ist Neustart
FaaS
Function as a service (FaaS) bedeutet es gibt einen Server für Geschäftslogiken der die Funktionen verwaltet. Dort werden die Skripte verwaltet und von haupia aus darauf verwiesen.
Vorteile:
1. Komplettes Entkoppeln von haupia Server und den spezifischen Funktionen
2. Unterstützung der Entwickler durch die FaaS Implementierungen
Nachteile:
1. FaaS Service notwendig
Für weiteren Input bin ich dankbar