Anwendungsentwicklung mit LC LSX - Teil 1

15.01.2007 von Martin Kuppinger
Das LC LSX ist eine Erweiterung für LotusScript, mit der sich Zugriffe auf externe Datenquellen einfach durchführen lassen. Die sehr umfassende Funktionalität für die Entwicklung von Anwendungen wird in einer mehrteiligen Artikelserie vorgestellt. Zunächst geht es um die Grundlagen der Entwicklung mit dem LC LSX.

Das LC LSX stellt eine sehr weitreichende Funktionalität für die Entwicklung von Anwendungen bereit, die über die Lotus Connectors (LC) auf andere Datenquellen zugreifen. Da es sehr unterschiedliche Arten von Connectoren gibt, sind auch bei der Anwendungsentwicklung einige wichtige Unterschiede zu vermerken – nicht immer stehen alle Funktionen zur Verfügung, und manches Mal können nur bestimme Funktionen genutzt werden. Es gibt aber auch ein gemeinsames Raster für alle Anwendungen als Basis in der einen oder anderen Form.

Dieser Artikel gibt zunächst einen Überblick über die grundsätzliche Struktur von Anwendungen, die mit dem LC LSX entwickelt werden, und geht näher auf die Klassen ein, die in solchen Anwendungen benötigt werden.

Die Grundstruktur von LC LSX-Anwendungen

Im Artikel „LotusScript und Datenbanken“ in der Ausgabe SPEZIAL Nr. 13/2006 wurde bereits in Grundzügen auf die Entwicklung von Anwendungen mit dem LC LSX eingegangen. Dabei wurden die verschiedenen Klassen kurz erläutert und an einem Beispiel gezeigt, wie die Struktur typischer Anwendungen aussieht. In dieser Struktur wird eine Verbindung aufgebaut, eine Abfrage durchgeführt, dann werden die Ergebnisse Schritt für Schritt durchlaufen.

Über die minimalistische Struktur der Beispielanwendung hinaus gibt es aber noch einige weitere wichtige Punkte zu beachten:

Methoden

Interessant ist auch ein Blick auf die verschiedenen Methoden, die bei einer Verbindung angewendet werden können.

Die bekannteste ist Execute, also die Ausführung eines Statements, mit dem ein Ergebnissatz ermittelt wird. Das setzt voraus, dass man weiß, in welcher Form auf den Connector zugegriffen werden muss. Die Methode Select ist dagegen Connectorunabhängig. Sie verwendet unterschiedliche Eingabeparameter, um die Ergebnisse zu ermitteln. Die Methode Call wird verwendet, um eine Prozedur oder Funktion auf dem Backend-System aufzurufen. In diesem Fall werden Parameter für diese Prozedur übermittelt. Schließlich gibt es noch die Methode Catalog, mit der sich Metadaten über ein externes System ermitteln lassen. Damit können beispielsweise die Tabellen und Spalten einer Datenbank erfragt werden.

Das kann wiederum interessant sein, um komplexere Anwendungen zu erstellen, in denen die Abfragen in Abhängigkeit von den Datenstrukturen dynamisch generiert werden. Das ist aber eher die Ausnahme. In der Regel ist von vornherein klar, wie die Datenbank aussieht, auf die zugegriffen wird.

Alle diese spezifischen Punkte werden aber in der Grundstruktur umgesetzt, die in dem zu Beginn genannten Artikel erläutert wurde. Wie das im Einzelfall konkret aussehen kann, wird in den folgenden Teilen der Serie erläutert.

Wie geht es weiter?

Der zweite Teil der Serie stellt zwei Beispiele für einfachere Anwendungen dar, über die auf Informationen aus einer relationalen Datenbank zugegriffen wird. Dabei werden einfachere SQLStatements und Analysefunktionen für die Daten verwendet. Die Anwendungen beschränken sich auf die Auswertung einfacher Feldtypen und gehen nicht auf spezielle Anforderungen anderer Felder ein. In den Beispielen wird auch auf die Nutzung sowohl von Execute als auch Select eingegangen, um die spezifischen Unterschiede zwischen diesen Methoden herauszuarbeiten.