Überblick über die Integrationsschnittstellen

15.12.2006 von Martin Kuppinger
Die Rolle von Lotus Domino wird in Zukunft neben der Messaging- Infrastruktur immer mehr die eines spezialisierten Application Server werden. Damit wird der auch heute schon oft genutzte Zugriff auf Datenbanken noch wichtiger werden. Der Artikel gibt einen Überblick über die Integrationsschnittstellen.

Ich kann mich noch an ein Gespräch erinnern, das ich vor vielen Jahren – zu Zeiten von Lotus Notes 3 – mit dem damaligen Lotus-Chef und mit Ray Ozzie, dem „Erfinder“ des Produkts und inzwischen inhaltlichen Nachfolger von Bill Gates bei Microsoft, geführt habe. Der Lotus-Chef hat, damals, anders als Ray Ozzie, die Integration mit Datenbanken als unwichtig angesehen.

Inzwischen hat sich viel geändert. Es gibt etliche Schnittstellen zu externen Datenquellen, von Datenbanken bis hin zu ERP-Systemen. Dabei hat auch ein technischer Wandel stattgefunden. Und seit dem Release der Version 7 hat man auch die – noch etwas eingeschränkte – Option, mit der DB2 als Backend für die Speicherung von Domino- Datenbanken zu arbeiten statt der NSFDateien.

Diese Spezialausgabe von ´s inside Lotus Notes/ Domino Heft beschäftigt sich mit verschiedenen Ansätzen für den Zugriff von Domino auf Datenbanken. Das Spektrum reicht von der Formelsprache bis zur DB2-Integration und dem Lotus Enterprise Integrator. Damit wird der Vielfalt ebenso wie der Bedeutung des Themas Rechnung getragen.

Dieser erste Artikel gibt aber zunächst einen Überblick über die heute präferierten und die generell nutzbaren Ansätze, um Lotus Domino mit externen Datenbanken zu integrieren.

Die DB2-Anbindung

Mit der Entscheidung, die DB2 als Backend für Domino-Datenbanken zu unterstützen, hat IBM vor dem Release der Version 7 für Aufsehen gesorgt. Wie so oft hat sich inzwischen auch gezeigt, dass einfach heißer gekocht wird als gegessen. Die DB2-Kopplung ist immer noch ein Feature, das speziell für große Kunden und für den Preview gedacht ist und das damit noch nicht ganz „Serienreife“ hat – auch wenn man es durchaus auch produktiv nutzen kann. Andererseits ist diese Entwicklung nicht mehr aufzuhalten, weil man damit bessere Möglichkeiten für das Datenmanagement und eine einfachere Integration mit anderen Anwendungen realisieren kann.

Das Konzept besteht im Kern darin, dass man die NSF-Dateien durch DB2-Datenbanken ersetzt. Diese haben eine definierte, recht komplexe Datenstruktur. Über spezielle Views kann aber dennoch relativ einfach auf die Daten zugegriffen werden. Damit lassen sich beispielsweise mit vergleichsweise geringem Aufwand Anwendungen entwickeln, die Domino-Daten als Datenbank betrachten und mit den entsprechenden Mechanismen wie SQL darauf zugreifen. Damit steht ein weiterer wichtiger Ansatz für die Integration von Domino mit anderen Anwendungen im Unternehmen zur Verfügung – eben über den Umweg der DB2.

Die Standardverfahren für die Integration

Man kommt aber durchaus auch ohne DB2 aus. Denn mit DECS (Domino Enterprise Connection Services), dem LEI (Lotus Enterprise Integrator) oder auch den relativ einfachen Funktionen der Formelsprache gibt es eine Reihe weiterer Möglichkeiten der Integration. Im Gegensatz zur DB2-Integration geht es dabei aber primär darum, auf Informationen aus Datenbanken zuzugreifen, wobei diese durchaus „virtuell“ in Domino integriert werden können.

Eines der insgesamt weniger bekannten Verfahren ist die DCR (Data Connection Resource). Dabei handelt es sich um ein Designelement im Domino-Designer, das mit der Version 6 eingeführt wurde. Die Ressource stellt die Verbindung zu einer definierten Datenquelle her. Der Reiz ist, dass man mit vordefinierten Ressourcen arbeiten kann, die man an verschiedenen Stellen in Anwendungen nutzt. Die DCR stellt eine interessante, vergleichsweise einsetzbare Option zu DECS dar.

Die einfachste Möglichkeit für den Zugriff auf Datenbanken aus Domino heraus sind aber die @DB-Befehle der Formelsprache. Sie erlauben den Zugriff über ODBC auf Datenbanken, wobei LS:DO als Verbindung genutzt wird.

Ein Ansatz, der inzwischen längst etabliert, ist DECS. Mit dem DECS Administrator lassen sich Verbindungen zu Datenbanken relativ einfach über eine grafische Oberfläche erstellen. Ein besonderer Vorteil liegt hier wie beim eng verwandten LEI in den automatisch aktualisierten Informationen, die aus externen Datenbanken bezogen werden können.

LEI

Eine Ebene darüber befindet sich der LEI, der auf die DECS-Funktionalität aufsetzt. Dabei geht es nicht mehr nur um den Realtime-Zugriff auf Informationen, sondern auch um die Automatisierung der Synchronisation von Daten zwischen Domino-Datenbanken und externen Datenquellen. Der Datenaustausch kann über Events getriggert und zeitgesteuert werden. Außerdem lassen sich die Funktionen des LEI beispielsweise über LotusScript steuern, was die Entwicklung sehr leistungsfähiger Automatisierungslösungen ermöglicht.

Mit dem Lotus Domino Connector LSX, einem Teil des Domino-Servers, steht aber auch eine Schnittstelle bereit, die direkt von Lotus Domino aus mit LotusScript genutzt werden kann. Für Java gibt es den Domino Driver for JDBC, über den JDBC aus Java-Anwendungen des Domino-Servers angesteuert werden kann. Die erforderlichen Klassen werden mit dem Domino-Server als Teil der java.sql-Klassen geliefert.

Für DECS, den LEI und den Zugriff mit Lotus- Script über die LSX sind die Domino-Connectoren die Grundlage. Diese Connectoren werden für die Verbindung mit den Datenquellen benötigt. Die Palette solcher Connectoren, die direkt mit Domino geliefert werden, ist breit. Etliche Erweiterungen für den Zugriff beispielsweise auf ERP-Systeme werden von Drittanbietern geliefert.

Mit den aktuell präferierten Schnittstellen ist also bereits für jede Anforderung etwas dabei. Die Kunst liegt darin, den richtigen Ansatz für die jeweilige Aufgabenstellung zu finden, was voraussetzt, dass man mit allen Wegen wenigstens einigermaßen vertraut ist.

Weitere Möglichkeiten

Neben den genannten Schnittstellen finden noch einige zugrundeliegende Technologien bzw. ältere Tools Verwendung. Hier ist zunächst das LS:DO zu nennen, das LotusScript Data Object. Darüber kann der Zugriff auf alle ODBC-kompatiblen Ressourcen erfolgen. Im Windows-Umfeld ist das ein durchaus verwendbarer Ansatz. Inzwischen stehen aber zum einen einfachere Schnittstellen auf höherem Level zur Verfügung, zum anderen ist eine plattformunabhängige Programmierung über andere Ansätze einfacher zu realisieren.

Denkbar ist auch die Entwicklung spezieller LSXe für unterschiedliche Aufgabenstellungen. Verschiedene LSXe findet man unter anderem ,auch für DB2. Das kann für eine optimale Integration Sinn machen, wobei man kaum als Anwender den entsprechenden Entwicklungsaufwand treiben dürfte, sondern allenfalls auf vorhandene LSXe zugreifen wird.

Gleiches gilt auch für das Lotus Domino Connector Toolkit, mit dem man eigene, spezialisierte Verbindungen entwickeln kann. Auch dieser Ansatz hat nur geringe Bedeutung für Endanwender.

Die zukünftige Rolle der Web Services

Zukünftig werden sich in diesem Bereich aber wichtige Änderungen ergeben. Mit der zunehmenden Unterstützung von Web Services geht die Tendenz einher, von der datenorientierten Integration zu einer dokumentorientierten Integration zu wechseln. Es werden also Dokumente zwischen Anwendungen ausgetauscht. Dieses Thema wird in diesem Sonderheft allerdings nicht weiter vertieft, in den weiteren Ausgaben von Expert’s inside Lotus Notes/Domino aber eine wichtige Rolle spielen.