gif gif up gif contents
Nächste Seite: Generierung der C++-Klassen Vorige Seite: 6.2.1 Notifikation des Anwendungsprogramms

6.2.2 Sichtenmaterialisierung im Anwendungsprogramm

Zur Unterstützung des Anwendungsprogrammierers und als Programmierschnittstelle sollen die Sichten in C++-Klassen materialisiert werden, die von ConceptBase bereitgestellt werden sollen. Die C++-Klassen verwalten die Objekte der Sicht, verarbeiten die Änderungsnotifikationen und ermöglichen dem Programmierer die Verwendung der Objekte in seinem Anwendungsprogramm.

Jede Sicht hat eine eigene Struktur. Für einen einfachen Zugriff auf die Elemente einer Sicht können die Objekte nicht, wie in der bisherigen Programmierschnittstelle, in nur einer Datenstruktur gespeichert werden. Daher werden für jede Sicht vom Datenbanksystem C++-Klassen generiert, die die Datenbanksicht im Anwendungsprogramm repräsentieren. Die Code-Generierung geschieht interaktiv mit dem Anwendungsprogrammierer. Dazu wurde ein Programm namens API Designer implementiert, das die verschiedenen Varianten einer Programmierschnittstelle darstellt. Der Programmierer kann eine Variante für seine Programmierschnittstelle auswählen und gegebenenfalls den Programmcode um eigene Funktionen ergänzen.

Abbildung 6.1 zeigt einen Überblick über die Vorgehensweise bei der Generierung der Programmierschnittstelle und die Integration in ein Anwendungsprogramm.

  
Abbildung 6.1: Generierung und Integration der Programmierschnittstelle

Das Anwendungsprogramm besteht aus drei Teilen:

Hauptprogramm:
Der Programmierer erstellt das Hauptprogramm der Applikation, in dem auf die Daten der Sicht zugriffen wird. Am Anfang des Hauptprogramms mußdie Verbindung zum Server aufgebaut werden und die Sicht initialisiert werden. Später mußdie Kommunikationsschnittstelle in regelmäßigen Abständen kontrollieren, ob neue Nachrichten eingetroffen sind.

C++-Klassen für Sichten:
Diese Klassen werden generiert und der Programmierer mußsie nur in die Applikation mit einbinden, damit sie benutzt werden können.

C++-Klasse für die Kommunikationsschnittstelle:

Die Kommunikationsschnittstellenklasse wird ebenfalls generiert. Sie stellt die Zentrale für die Sichtenverwaltung im Anwendungsprogramm dar. Durch die Instanziierung dieser Klasse werden die Sichten initialisiert. Nach der Initialisierung werden von dieser Klasse die Änderungsnachrichten verarbeitet und die Sichten im Anwendungsprogramm gewartet.

Die generierten C++-Klassen enthalten nur die für eine Sicht spezifischen Informationen und Methoden. Die gemeinsamen Eigenschaften aller Sichten sind in den Oberklassen der generierten Klassen implementiert.



gif gif up gif contents

Christoph Quix
31. Juli 1996