Home » Tutorials » Datenbanken » Object Persistence Framework

Object Persistence Framework

Generelle Funktionsweise

Der Entwickler kommt an zwei Stellen mit dem OPF in Berührung: zum einen wenn es um die Definition der Schnittstellen geht, die eine zur Datenbank, die andere zur Oberfläche und zum anderen bei der Definition des Businessmodell oder auch Domänenmodell, das die Klassen der Anwendung beinhaltet, die in der Datenbank gespeichert werden.
Die Schnittstelle zur Datenbank wird über entsprechende Verbindungskomponenten hergestellt, die sich nicht wesentlich von den bekannten TDatabase Komponenten unterscheiden.
Die Anbindung der Klassen an die Oberfläche kann auf zwei Wegen geschehen: Einige OPF verwenden DataSet-kompatible Komponenten, die an alle möglichen bestehenden datensensitiven Komponenten angeschlossen werden können. Dieser Weg ist der flexibelste, da selbst die Anbindung an einen Reportgenerator wie bei einer „normalen“ Datenbankanwendung vorgenommen wird.
Der zweite Weg für die Oberflächenanbindung liegt darin, dass die OPFs gleich VCLKomponenten (Edits,…) zur Verfügung stellen, über die die Anbindung geschieht. An diese Komponenten werden die Klassen bzw. zur Laufzeit die Objekte zugewiesen. Der Vorteil dieser Art der Anbindung besteht darin, dass die Komponenten zusätzliche Funktionen bereit stellen können, die die Arbeit wesentlich vereinfachen. Auf der anderen Seite ist man auf die bestehenden Komponenten angewiesen, bzw. muss sich selbst Komponenten ableiten und die Anbindung an den Reportgenerator muss auch getestet werden bzw. es
muss zusätzlich Arbeit investiert werden.
In diesem Tutorial werde ich auf InstantObjects eingehen, diese verwenden DataSet kompatible Komponenten für die Oberflächenanbindung. Als weitern Pluspunkt bieten die IO einen Codegenerator an, d.h. die Klassen werden wie bei einer Datenbank die Tabellen mit einem grafischen Editor erstellt und der Code dann automatisch erzeugt.
Wer sich für die grundsätzliche Funktionsweise eines OPF interessiert, kann sich diese zwei Dokumente anschauen: Bei [2] geht es eher technisch zur Sache, aus welchen Klassen ein OPF besteht und wie sie kommunizieren, in [3] erklärt ein Entwickler den Aufbau seines einfachen OPF in Delphi. Der Sourcecode kann auch heruntergeladen werden.