Schnittstellen für die Integration

15.09.2006 von Martin Kuppinger
Das Zusammenspiel von Microsoft Office mit Lotus Notes/Domino gehört zu den wichtigsten Herausforderungen beim Praxiseinsatz, da viele Unternehmen zwar mit Microsoft Office arbeiten, aber eben auch Lotus Notes einsetzen. Der Artikel gibt einen Überblick über die Schnittstellen.

Für das Zusammenspiel zwischen Office-Anwendungen´und Lotus Notes/Domino gibt es eine ganze Reihe von Möglichkeiten. Im Mittelpunkt stehen zwei Verfahren:

Es gibt aber auch einige weitere Verfahren, die genutzt werden können, wenn auch meist nur für einzelne Anwendungsszenarien, und nicht mit so breitem Anwendungsbereich wie insbesondere die COM-Klassen.

Smart Tags

Für das Zusammenspiel zwischen Office-Anwendungen ab Microsoft Office XP und Lotus Notes 7 sind die Smart Tags ein interessanter Mechanismus. Es handelt sich dabei um eine Standardfunktion von Office, über die bestimmte Arten von Informationen wie beispielsweise Benutzernamen automatisch erkannt und davon abhängig Funktionen angeboten werden.

Ab Notes 7 kann Office so konfiguriert werden, dass auch Personen aus dem Notes-Adressbuch erkannt werden. Dazu steht bei der Konfiguration von Smart Tags in Office-Anwendungen eine Option Person (Lotus Notes Recognizer) zur Verfügung (Bild 1). Wenn eine Person erkannt wird, können drei Aktionen ausgeführt werden:

Bild 1: Die Smart Tags bilden eine direkte Schnittstelle zwischen Office und Lotus Notes.

Über diese Basisfunktionen hinaus gibt es aber keine weitergehende Integration.

Die COM-Klassen

Deutlich mehr Möglichkeiten bieten die COMKlassen, die allerdings in der Nutzung auch wesentlich aufwendiger sind, weil man sie eben programmieren muss. Die COM-Klassen orientieren sich an den LotusScript-Klassen, was durch die Ähnlichkeiten zwischen LotusScript und Visual Basic als der von Microsoft präferierten Programmiersprache auch nahe liegend ist.

Um die COM-Schnittstelle nutzen zu können, muss auf einem Windows-System mit Lotus Notes oder Domino ab der Version 5.0.2b gearbeitet werden. Notes/Domino muss aber nicht ausgeführt werden, weil nur einige DLLs und Backend-Komponenten, aber nicht die Benutzerschnittstellen erforderlich sind.

Auf die spezifischen Unterschiede zwischen COM- und LotusScript-Klassen wird im folgenden Artikel noch näher eingegangen.

Weitere Integrationsansätze

Auch der umgekehrte Weg ist möglich. Aus LotusScript heraus kann auf OLE-Objekte und ActiveX- Controls zugegriffen werden, um diese zu automatisieren. Damit lassen sich beispielsweise Vorgänge in Microsoft Excel oder Microsoft Project steuern. Umfassende Beispiele dafür finden sich unter anderem in Heft 6/1999 im Artikel „OLE-Automatisierung unter Notes“ und in den Schwerpunkten der Hefte 5/2002 und 11/2002 von Expert’s inside Lotus Notes/Domino.

Das Grundprinzip dabei ist immer, dass man beispielsweise ein Excel- oder Projekt-Anwendungsobjekt initialisiert. Anschließend entwickelt man für dieses Objekt Code entwickelt, der eigentlich VBScript-Code ist und sich auf Methoden und Eigenschaften der jeweiligen Anwendungen bezieht.

In einigen Fällen kann der Zugriff auch über Datenbankzugriffe erfolgen. Das setzt allerdings voraus, dass entweder mit dem allerdings schon längere Zeit nicht mehr aktualisierten ODBCTreiber für Lotus Notes gearbeitet wird, falls von Office-Anwendungen aus auf Notes-Datenbanken zugegriffen werden soll, oder dass ein ODBCTreiber für den Zugriff auf die Office-Dateien genutzt wird, was beispielsweise bei Microsoft Access der Fall ist. Bei der Programmierung ist allerdings zu beachten, dass dieser Weg deutlich komplexer ist, wenn man ihn mit der Automatisierung über COM/OLE vergleicht.

Ein denkbarer Ansatz ist auch die Nutzung von WebDAV (Web Distributed Authoring and Versioning). Dieser Ansatz ist allerdings primär für die Modifikation von Anwendungsdesigns interessant. Abgesehen von den Sicherheitsproblemen, die WebDAV bietet, ist das Verfahren für eine sinnvolle Integration mit Office-Anwendungen zu komplex und im Anwendungsbereich zu exotisch, auch wenn Microsoft Office eine WebDAV-Unterstützung bietet.

Ein denkbarer Ansatz wäre auch die Verwendung von XML für die Integration. Derzeit ist das allerdings eher wenig sinnvoll. Mit der nächsten Office-Version und der breiteren XML-Unterstützung, auch durch Windows Vista, wird das aber zu einer Alternative. Office-Dokumente lassen sich dann über die XML-Schnittstellen von Notes/Domino importieren und verarbeiten, um beispielsweise bestimmte Daten daraus in Notes-Datenbanken einzufügen. Ob das allerdings einfacher ist als die Verwendung der COM-Klassen oder die Ansteuerung von Excel, Project und anderen Office-Anwendungen aus LotusScript heraus, ist fraglich.

Auf einer höheren Ebene sind noch die Microsoft Office Library sowie die Schnittstellen des Domino Document Manager zu erwähnen. Ersteres ist eine Ablage für Office-Dokumente, die basierend auf einer Schablone erstellt werden können. Der Document Manager wiederum kann mit einer relativ engen Integration aufwarten, um Dokumente direkt aus Office heraus in die Verwaltung dieser Anwendung zu übergeben.

Bild 2: Auch die Microsoft Office Library ist ein Ansatz für die Integration von Notes und Office.

In der Summe hat man etliche Gestaltungsmöglichkeiten. Die COM/OLE-Unterstützung ist aber weiterhin die mit weitem Abstand wichtigste Schnittstelle.