Das Entwickler-Toolkit von Lotus Workflow enthält Beschreibungen für die verschiedenen Schnittstellen, über die eine Automatisierung und Erweiterung des Produkts erfolgen kann. Der Artikel gibt einen Überblick über die verschiedenen Schnittstellen und Anpassungsmöglichkeiten.
Die Anpassung von Oberflächen
Bei Lotus Workflow werden über die Vorlagen weitgehend definierte und schnell einsetzbaremAnwendungen geliefert. Es gibt allerdings viele Situationen, in denen diese Anwendungen an spezielle Anforderungen angepasst werden müssen, beispielsweise an Designvorschriften innerhalb von Unternehmen.
Die Anwendungsvorlagen von Lotus Workflow bestehen aus zwei Gruppen von Designelementen. Ein Teil definiert die Basisfunktionalität und sollte nicht verändert werden, ein anderer dagegen die Oberfläche der Anwendungen. Dieser Teil kann angepasst werden, um spezielle Anforderungen abzudecken. Dabei lassen sich folgende Bereiche anpassen:
-
Das Frameset und die Navigation innerhalb der Anwendung können modifiziert werden.
-
Die Sc hnittstellen zum Starten von Jobs lassen sich anpassen.
-
Es können zusätzliche Ansichten erstellt werden, um beispielsweise bestimmte anstehende Aufgaben anzuzeigen.
-
Die Schnittstellen für die Bearbeitung von Aktivitäten können ebenso verändert werden wie die Anzeige von Aktionen innerhalb eines Workflows.
-
Dialogfelder für komplexere Aktivitäten innerhalb von Workflows lassen sich modifizieren.
-
Die Mailbenachrichtigungen sind ebenfalls anpassbar.
Mit Anpassung dieser Elemente sind viele Anforderungen bereits abgedeckt – vor allem wenn man seine Anwendungen auf den Beispieldatenbanken aufbaut oder nur einfachere Workflows abbilden muss.
Ereignisse
Eine wichtige Funktion bei Lotus Workflow sind die Ereignisse und die Event-Handler, also der Code zur Bearbeitung solcher Ereignisse. Es gibt drei Gruppen von Ereignissen, die unterschieden werden können:
-
Query Events werden getriggert, bevor eine Aktion von Lotus Workflow ausgeführt wird. Damit können beispielsweise die zu verarbeitenden Dokumente oder die Parameter von Lotus Workflow angepasst werden.
-
Post Events werden hingegen nach einer Aktion ausgeführt. Damit können Ergebnisse abgefangen und beispielsweise Mails erzeugt werden.
-
Audit Events sind spezielle Ereignisse, über die zusätzliche Informationen in die Audit-Datenbank geschrieben werden.
Es gibt eine ganze Reihe vorkonfigurierter Ereignisse. Sie sind in Form von Skriptbibliotheken in der Vorlage für die Anwendungsdatenbanken vorbereitet. Das SDK liefert vier Beispiele für den Code, der in solchen Ereignissen erstellt werden kann. Die eigentlichen Event-Handler sind aber durchweg leer. Der Code muss also im Rahmen der Anwendungsentwicklung erstellt werden, soweit man bestimmte Ereignisse nutzen möchte.
Das ist beim ersten Mal zwar relativ aufwändig, aber da die Art der Verarbeitung in vielen Fällen über Anwendungen hinweg identisch sein wird, kann man später viel von diesem Code wiederverwenden. Es bietet sich in diesen Fällen an, Kopien der Vorlagen zu erstellen und diese für unterschiedliche Einsatzbereiche mit vorkonfigurierten Event-Handlern zu versehen.
Externe Organisationsverzeichnisse
Ein weiterer Bereich der Anpassung ist die Verwendung von externen Organisationsverzeichnissen. Dafür können Mapping-Dateien erstellt werden. Die Nutzung externer Organisationsverzeichnisse bietet sich an, wenn die für Lotus Workflow erforderlichen Strukturen bereits an anderer Stelle im Unternehmen beschrieben sind.
Die LotusScript API
Eine der beiden APIs für Lotus Workflow ist die LotusScript-API. Sie enthält zwei Klassen. WFBinder stellt Methoden und Eigenschaften für die Bearbeitung von Bindern, also Sammlungen von Dokumenten, zur Verfügung. OSDocumentCollection verhält sich wie eine normale NotesDocumentCollection, wird aber speziell für die Navigation durch Dokumente innerhalb von Workflows eingesetzt.
Die JavaScript-API
Die zweite API ist die JavaScript-API. Sie wird für den Zugriff auf Lotus Workflow-Funktionalität aus Webschnittstellen benötigt. Es gibt eine ganze Reihe vordefinierter Funktionen, um mit Jobs, Aktivitäten und Bindern arbeiten zu können. Die Utility-Funktionen sind ergänzende Funktionen beispielsweise für den Dokumentzugriff.
RDL
Über die Lotus Workflow Report Definition Language (RDL) können Berichte definiert werden. Die spezielle, einfache Programmiersprache erlaubt es, Informationen über den Status von Workflows in Berichten auszugeben. Man muss sich mit der Sprache etwas vertraut machen. Sie ist aber insgesamt nicht sehr komplex, so dass man schnell eigene Reports erzeugen kann.
Lotus Workflow API for WebSphere
Bei der Lotus Workflow API for WebSphere handelt es sich um eine Samlung von JavaBeans, die Mit diesen lassen sich die wichtigsten Aufgaben für die Steuerung und Bearbeitung von Workflows ausführen.
Das Spektrum der Schnittstellen ist recht breit, so dass sowohl innerhalb von Notes/Domino als auch über die externen Java-Schnittstellen eine Anpassung und Erweiterung von Lotus Workflow- Anwendungen erfolgen kann.
Workflows als Web Services
Mit Lotus Workflow 7 gibt es drei wichtige neue API-Funktionen, über die Lotus Workflow Web Service bereitstellen kann.
-
Mit LWFInitiateJob können definierte Jobs in Lotus Workflow gestartet werden.
-
LWFQueryJobStatus liefer t Informationen zum Status eines laufenden Jobs zurück.
-
LWFQueryWorkset wird verwendet, um die Liste der anstehenden Aktivitäten für einen Benutzer zu ermitteln.
Diese Web Services können beispielsweise in Orchestrierungswerkzeugen für IBM WebSphere MQ Workflow oder im Microsoft .NET-Umfeld genutzt werden. Leider gibt es im aktuellen Release noch keine Funktionen, um innerhalb eines Prozesses andere Web Services zu nutzen. Man darf gespannt darauf sein, ob eine solche Funktionalität mit der nächsten Produktversion kommt
-
immerhin soll die Version 8 von Lotus Notes/Domino in sehr viel größerem Umfang als bisher mit Web Services arbeiten.