Sie sind hier

OPF - ORM

Object Persistence Frameworks oder Object Relational Mapper werden verwendet um eine Schnittstelle zwischen relationalen Datenbanken und objektorientierter Programmierung zu bilden. Es gibt eine Menge bestehender OPF für Delphi und auch für andere Programmiersprachen. Hier findest Du einige grundsätzliche Informationen und auch ein paar Tutorials für den schnellen Einstieg.

Wer sich für den grundsätzlichen Aufbau eines OPF interessiert, kann sich dieses Dokument anschauen (auch die anderen Artikel auf der Seite sind einen Blick wert). Und in diesem Dokument wird (incl. kompletter Sourcen) der Aufbau eines einfachen OPF in Delphi erklärt.

Es gibt eine Menge an existierenden OPF, auch für Delphi. Auf der Suche nach einem OPF für meine Anwendungszwecke habe ich einige davon getestet und damit "herumgespielt". Hier eine kleine Übersicht, der mir bekannten OPF für Delphi:

  • ECO (Bold) [.NET]: Vermutlich das "bekannteste" OPF für Delphi, da es bis Delphi 2006 von Borland/CodeGear bei Delphi mitgeliefert wurde und von Borland auch gepflegt wurde. Mit der Einstellung der WinForms-Unterstützung durch Codegear wurde die Abteilung in eine eigene Firma ausgegliedert um auch andere IDEs zu unterstützen (vor allem Visual Studio) und die Möglichkeit zu bieten unabhängig von Delphi Updates zur Verfügung zu stellen.
  • InstantObjects [WIN32]: InstantObjects liegt in der Version 2 vor und bietet einen einfachen Einstieg in das Thema (s.auch das IO-Tutorial). IO bietet ein paar tolle Features, darunter sicherlich der Code-Generator für die Businessklassen. IO bietet Data-Set kompatible Komponenten, so dass eine Ansteuerung beliebiger Db-Komponenten möglich ist.
  • tiOPF [WIN32]: tiOPF ist wie InstantObjects ein kostenloses OPF. Es bietet aber keinen Codegenerator und keine DataSet-kompatiblen Komponenten. Die Anbindung an die Oberfläche erfolgt über spezielle Komponenten.
  • NHibernate [.NET]: Hibernate ist vor allem aus der Java-Welt bekannt. NHibernate ist der "Nachbau" für .NET.
  • DObject [WIN32]: Ein kommerzielles OPF, das ich leider noch nicht dazu gebracht habe in der Demoversion in meinem Delphi zu funktionieren.
  • DePo [WIN32]: DePo ist ein einfaches OPF, das allerdings nicht mehr weiter entwickelt wird
  • Obiwan [WIN32]: Ebenso wie DePo, allerdings unter dem Dach von Jedi, wurde das OPF nicht mehr weiterentwickelt

Kennt Ihr noch weitere OPF die hier nicht in der Liste enthalten sind? Ich würde mich über Infos darüber freuen!