Die OMG-Schnittstellen sind in Form von Java-Beans realisiert, die auf unterschiedlichen Anwendungsservern ausgeführt werden können. Insofern ist die Bezeichnung als API for Web-Sphere eigentlich nicht ganz zutreffend. Über die Beans kann auf viele Funktionen von Lotus Workflow zugegriffen werden. Sie bilden damit faktisch einen Layer oberhalb der Lotus Workflow-Funktionalität, um diese einfacher automatisieren zu können.
Zu den Kernfunktionen von Lotus Workflow, auf die die Beans zugreifen können, zählen beispielsweise Aktivitäten, automatisierte Aktivitäten, Jobs, Binder und Dokumente. Der Zugriff erfolgt über definierte Schlüssel, die Instanzen eines Objekts, beispielsweise einen Binder, eindeutig identifizieren.
Systemvoraussetzungen
Die API kann mit allen Versionen von Lotus Workflow ab der Version 3.0 und mit Lotus Domino ab der Version 5.0.5 eingesetzt werden. Außerdem wird eine Servlet-/JSP-Engine benötigt. Hier ist man grundsätzlich offen. Die Dokumentation beschränkt sich allerdings auf das Zusammenspiel mit der Engine von IBM Web-Sphere, die auch aus Supportgründen von IBM empfohlen wird.
Für die Installation müssen zwei Archive installiert werden:
-
LWFJavaAPI.jar ist die Datei, in der die Beans für die API enthalten sind.
-
ncsow.jar ist die Erweiterung für die Nutzung von Domino-spezifischen Funktionen von IBM WebSphere aus. Unter der Bezeichnung ncso.jar gibt es auch eine Variante für andere Anwendungsserver.
Die Beans
Die insgesamt neun Beans, die mit der API geliefert werden, haben folgende Funktionalität:
-
Das AssignmentAccessBean ist ein „Hilfs-Bean“. Es stellt eine Beziehung zwischen dem ExecutionObjectAccessBean und dem ExtendedActivityAccessBean her.
-
Mit dem BinderAccessBean können Ordner kontrolliert werden. Über dieses Bean kann auch auf die Dokumente in einem Ordner zugegriffen werden.
-
Das ExecutionObjectAccessBean ist ein spezielles Bean, um den Zugriff auf verschiedene Informationen zur Ausführung von Objekten zu ermitteln. So kann beispielsweise die Priorität von Objekten – also Aktivitäten oder Jobs – ausgelesen werden.
-
Das ExtendedActivityAccessBean liefert die Grundfunktionalität für den Umgang mit Aktivitäten. Dabei wird nicht zwischen „normalen“ und automatisierten Aktivitäten unterschieden.
-
Über das ExtendedDocumentAccessBean erfolgt der Umgang mit einzelnen Dokumenten. Damit können Modifikationen innerhalb von Dokumenten durchgeführt werden. Zu beachten ist, dass der eigentliche Zugriff auf Dokumente über das schon erwähnte BinderAccessBean erfolgt.
Weitere Beans
-
Das ExtendedProcessAccessBean dient der Steuerung eines spezifischen Schritts eines Prozesses. Das entspricht den Jobs in Lotus Workflow.
-
Mit dem ProcessManagerAccessBean werden die Aktivitäten und Routing-Informationen für eine Reihe von Jobs eines definierten Typs gesteuert. Die Steuerung durch den Prozess-Manager erfolgt im Sinne von Lotus Workflow.
-
Das RessourceAccessBean wird für den Zugriff auf Ressourcen wie Benutzer und Teams innerhalb eines Workflows verwendet.
-
Schließlich gibt es noch das WorklistHandler-AccessBean. Mit diesem wird auf die Listen von ausstehenden Aktivitäten zugegriffen.
Die Bedeutung wird klarer, wenn man die verschiedenen Beans mit den Begriffen vergleicht, die bei Lotus Workflow verwendet werden (Tabelle 1).
Terminologie der Beans |
Lotus Workflow-Terminologie |
ExtendedActivityAccessBean |
LWF ActivityInstance |
ExtendedProcessAccessBean |
LWF Job |
ExecutionObjectAccessBean |
Kein direktes Gegenstück |
ProcessManagerAccessBean |
LWF Process |
WorklistHandlerAccessBean |
LWF WorklistHandler |
BinderAccessBean |
LWF Binder |
ExtendedDocumentAccessBean |
LWF Document |
ResourceAccessBean |
LWF User |
AssignmentAccessBean |
Kein direktes Gegenstück |
Wie auch die Lotus Workflow LotusScript API ist auch die Lotus Workflow API for WebSphere eine wichtige Schnittstelle für Entwickler, die Workflow-Anwendungen erstellen. Sie ist aber um einiges komplexer als die LotusScript-API. Dafür ist sie die Basis, um Lotus Workflow in eine Java-Anwendungswelt zu integrieren und die Workflows von Java aus zu steuern. Und das ist vor allem beim Blick auf die Einbindung von Lotus Workflow in größere, komplexe Umgebungen von Bedeutung.