Die APIs von Lotus Workflow

01.05.2006 von Martin Kuppinger
Das eigens für Lotus Workflow bereitgestellte Software Development Kit enthält neben APIs für JavaScript und LotusScript auch eine Berichtssprache für die weitere Anpassung. Die Dokumentation zu dem Toolkit ist eine wichtige Hilfe für Entwickler, weil darin auch grundlegende Aspekte wie die Erstellung eigener Benutzerschnittstellen und die Initiierung von Jobs beschrieben werden.

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:

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:

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.

Bild 1: Die Event Handler von Lotus Workflow können über LotusScript programmiert werden.

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.

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