Plugin-Entwicklung

Jedes selbst-entwickelte Plug-in muss lizensiert und in der Process Engine registriert werden, damit Sie es nutzen können.

Wenden Sie sich für die notwendige Lizenzanpassung an den Virtimo Support.

Überblick

Mit Java basierten Plug-ins können Sie die INUBIT-Software funktional erweitern. So können Sie z. B. Unternehmensanwendungen, für die es noch keine System-Konnektoren gibt, an die INUBIT-Software anbinden. Die Anzahl von Plug-ins ist unbeschränkt.

Anforderungen

Für die erfolgreiche Nutzung eines Plug-ins in INUBIT müssen folgende Schritte absolviert werden:

Ein Beispiel-Repository mit einem funktionierenden Plugin und Tests finden Sie in Bitbucket.

Wenden Sie für die notwendige Freischaltung an den Virtimo Support.

Code-Repository anlegen

Legen Sie ein Repository an, in dem der Plugin-Code verwaltet und getestet werden soll.

Implementierung

Für ein vollständiges Plugin müssen verschiedenen Teile implementiert werden.

Im Frontend liegt der Fokus auf der Bereitstellung einer benutzerfreundlichen UI, wobei die Konfiguration des Moduls einfach und intuitiv gestaltet ist. Der Benutzer erhält so die Möglichkeit, die Ausführung des Plug-ins zu konfigurieren. Die konfigurierten Einstellungen werden persistiert und an das Plug-in-Backend weitergereicht.

Das Backend beinhaltet die eigentliche Logik des Plug-in. Es nutzt die übergebene Modulkonfiguration, um die Ausführungslogik zu steuern.

Frontend implementieren

Die clientseitige Implementierung muss auf dem Interface I_IBISClientPluginInterface oder ein davon ableitenden Klasse erfolgen. Sie stellt Anfang des Frontend-Teils des Plugins dar.

Die clientseitige Konfiguration findet in einem Modul-Wizard statt. Es können beliebig viele Wizardseiten in einem Plugin implementiert werden. Diese werden codeseitig miteinander verkettet, so dass Seitenabfolgen für den Nutzer entstehen. Zudem können über die gewählte Konfiguration auf einer Wizarseite Verzweigungen realisiert werden. Der implementierte Logik in den Wizardseiten führt den Nutzer dann zu anderen Folgeseiten.

Jede Wizardseite verwaltet ihre Konfiguration in einem IBISPropertyHandler der auf im gesamten Wizard verfügbar ist. Damit können Folgeseiten die Konfiguration vorheriger Seiten einsehen und darauf reagieren.

Nutzen Sie GUI-Tests, um die Funktionalität der Wizardseiten automatisiert prüfen zu können.

Backend implementieren

Die serverseitige Implementierung muss auf dem Interface I_IBISPluginInterface. Für System-Konnektoren gibt es das spezielle Interface I_IBIS_SC_PluginInterface. Sie stellt Anfang des Backend-Teils des Plugins dar.

Die Moduleigenschaften werden in einem IBISPropertyHandler in die Plugin-Ausführung an die execute Methode übergeben.

Basierend darauf muss die Ausführungslogik des Plugins implementiert werden.

Nutzen Sie Unit-Tests, um die Funktionalität des Plugins automatisiert prüfen zu können.

Plug-in installieren

Damit das Plugin im INUBIT verfügbar ist, müssen alle notwendigen JAR-Dateien hochgeladen und das Plugin in der INUBIT Process Engine registriert werden.

Plugin hochladen

Voraussetzungen

  • Das Plugin liegt als JAR-Datei vor

  • Alle notwendigen Bibliotheken liegen als JAR-Dateien vor

So gehen Sie vor

Laden Sie alle JARs (Plugin JAR, Bibliotheken) über die Workbench auf die Process Engine: Burger Menu > Configuration > Library Manager.

Im Library Manager wählen Sie als Typ "Plugin" für das Plugin-JAR aus. Für die Bibliotheken-JARs nutzen Sie den Typ "Treiber".

Nach dem Hochladen muss die Process Engine neugestartet werden.

Plugin registrieren

Voraussetzung

Alle notwendigen JAR-Dateien wurden auf die INUBIT Process Engine hochgeladen.

So gehen Sie vor

Die Registrierung erfolgt über den Plug-In Manager in der Workbench: Burger Menu > Configuration > Plug-In Manager.

Fügen Sie im Plug-in Manager einen neuen Eintrag hinzu. Wählen Sie die Gruppe, die am besten zu Ihrem Plugin passt und klicken Sie dann auf add.

Im Hinzufügen-Dialog müssen folgende Informationen bereitgestellt werden:

Property Pflichtfeld? Bedeutung

Pluginname

Ja

  • Muss identisch mit dem Eintrag in der Lizenz sein

  • Muss identisch mit dem Wert sein, der aus der Client-Klasse zurückgegeben wird (Implementierung von I_IBISClientPluginInterface#getPluginName)

Server-Klasse

Ja

Packagename + Klassenname der serverseitigen Implementierung

Client-Klasse

Ja

Packagename + Klassenname der clientseitigen Implementierung

Icon

Nein

Optionales Icon, dass im Workflow am Modul angezeigt wird

Kommentare

Nein

Optionale Information, die für zusätzliche Beschreibung genutzt werden kann

Speichern Sie die Einstellungen. Das Plugin ist danach im Modul-Editor verfügbar und kann direkt in Technical Workflows hinzugefügt und verwendet werden.

Plug-in ausführen

Jedes selbst-entwickelte Plug-in muss lizensiert und in der Process Engine registriert werden, damit Sie es nutzen können.

Wenden Sie sich für die notwendige Lizenzanpassung an den Virtimo Support.

Platzieren Sie ein Modul von Typ ihres Plugins in einem Technical Workflow. Setzen Sie einen Startpunkt und führen Sie den Workflow wie gewohnt aus. Ihr Plugin wird als Teil der Workflowausführung mit abgearbeitet.

Fehlerbehandlung

Um dem Workflow eine fehlgeschlagene Modulausführung zu signalisieren, muss die execute Methode eine Exception werfen.

Logging

Für das Logging wird die SLF4J-Bibliothek verwendet.