Plugins:NullPlugin
Aus Melin DokuWiki
Eigene Plug-Ins entwickeln
Das Melin-Paket enthält alle Komponenten um eigene Plug-Ins für die Workflow-Engine zu entwickeln. Einzige Vorrausetzung ist ein installiertes Java SDK (Software Development Kit). Ein Plug-In besteht aus vier oder mehr Komponenten:
Mindestens: • Progammcode • Definitionsdatei • Icon (PNG, 128x128 Pixel) • Dokumentation (PDF)
Optional: • Quellcode • Zusatz-Libraries (JAR-Files)
Im folgenden soll nun ein einfaches Plug-In entwickelt werden. Ausgangsbasis ist das NullPlugIn, das als Vorlage für eigene Entwicklungen dient.
Inhaltsverzeichnis |
[bearbeiten] Plug-Ins im Allgemeinen
Jedes Plug-In hat zwischen 0 und 2 Ein- und Ausgänge die separat belegt werden können.
Die Anschlüsse werden gemäß ihrer Orientierung mit Nord, Ost, Süd und West bezeichnet.
Die Anschlüsse Nord und West sind Eingänge, Ost und Süd sind Ausgänge.
Jeder Anschluss kann einzeln vom Plug-In abgefragt werden. Es gibt Plugi-Ins ohne Eingänge die ihre Daten selbst erzeugen (z.B. PulseEmitter der ein Signal abgibt, der Email-Listener der seine Daten aus einer externen Quelle erhält). Es gibt Plug-Ins mit Ein- und Ausgängen die Daten vom Eingang verarbeiten und an einen Ausgang weiterleiten (z.B. IF-Abfrage, SetHashField oder Filter). Und es gibt Plug-Ins die nur über Eingänge verfügen (z.B. Mülleimer, EmailSender oder XMLDiskWriter).
Plug-Ins selbst werden weiter unterteilt in aktive und passive Plug-Ins.
[bearbeiten] Aktive und passive PlugIns
Die aktiven Plug-Ins werden beim Start des Demons parallel aktiviert und laufen ständig im Multithreading-Betrieb (z.B. der XML-Reader der regelmäßig ein Verzeichnis überprüft oder der Email-Listener der ein Verzeichnis überwacht). Die passiven Plug-Ins werden nur gestartet wenn eine Information an einem Eingang anliegt (z.B. IF-Abfrage).
Aktive Plug-ins sollten immer dann verwendet werden wenn ein Plug-In permanent aktiv sein muß, z.B. zur Überwachung von Verzeichnissen, Email-Accounts oder Datenbankfeldern. Die Verwendung eines aktiven Plug-Ins bietet sich ebenfalls an wenn beim Start es Plug-Ins eine größere Datenmenge zur Initialisierung eingelesen werden muss (Caching).
Passive Plug-Ins sind erheblich ressourcen-schonender da sie nicht permanent CPU-Zeit und Speicher belegen.
[bearbeiten] Erstellen eines Test-Workflows
[bearbeiten] Vorbereitungen
Stellen Sie sicher dass der TomCat-Server läuft (die Melin Web-Oberfläche kann bedient werden) und der Hintergrund-Demon ausgeschaltet ist. Gehen Sie in das Workflow-Designer-Menü und deaktivieren sie alle existierenden Workflows um sicherzustellen dass es keine Störeinflüsse durch sonstige Aktivitäten gibt:
[bearbeiten] Anlegen eines neuen Workflows
Legen Sie einen neuen Workflow an und konfigurieren Sie im Grid folgende Logik - drei PlugIns der Reihe nach verbunden:
- PulseEmitter
- SetHashField
- NullPlugin
Der PulseEmitter und das NullPlugin müssen nicht konfiguriert werden, das SetHashField sollte mit den Werten KEY=foo und VALUE=bar belegt werden.
Alternativ können sie auch den fertigen Workflow herunterladen (nullplugindeveloper.xml) und im Verzeichnis SITE-DIR/demon/jcomm ablegen.
