Einsamer Entwickler tief versunken in die Tiefe des Data-Layers wiederholt die magischen
Worte: "Objekt, speichere dich! In die Datenbank. Objekt, speichere dich!! Na,
wird's bald?! Also, geht doch ...". Och, wie schön wäre es, die Objekte
in irgendeine beliebige Datenbank zu speichern, ohne sich um die Abbildung und die
Anbindung kümmern zu müssen...
Gut, es geht nicht nur um die Speicherung der Objekte, aber irgendwie muss man anfangen.
Wieso auch nicht gleich eine vernünftige Persistenzstrategie erarbeiten? Wieso
eigentlich nicht.
Wozu ist das gut? Die Suche nach der richtigen Persistenzstrategie gehört in
allen Enterprise-Projekten zu den wichtigsten Aktivitäten - nicht nur die Performanz,
sondern auch eine einfache und saubere Implementierung und die Handhabung der Objekte.
In der Java-Welt bekannte Persistenzszenarien mit der Anwendung von Enterprise Java
Beans (EJB) oder die berühmtberüchtigten Java Data Objects (JDO) [1] haben
ihren festen Platz im J2EE-Framework gefunden. In Whidbey erwartet uns eine Überraschung
namens ObjectSpaces [2], welches den einfachen Datenbankenzugriff mittels ORM (Object
Relational Mapping) erlaubt.
Muss man darauf warten? Nein. Auch heute kann man die Schicht implementieren. Wir
haben uns auch darüber Gedanken gemacht, einiges implementiert und nutzen
durchgehend in allen Applikationen die schönen persistenen Objekte des Axinom
Business Framework. Die Persistenzschicht im Axinom Busines Framework ermöglicht
durch objektrelationales Mapping den transparenten und einfachen Zugriff auf unterschiedliche
Datenquellen. Dafür notwendige Logik ist im Namespace Axinom.Framework.Data zu
finden:
using Axinom.Framework.Data;
namespace Axinom.Templates.BL
{
public class Message : PersistentObject
{
....
Alle daraufbasierende Applikationen nutzen eine gemeinsame Zugrifssschicht. Somit
lässt sich so etwas wie der Single-Sign-On (Benutzeranmeldung über Applikationsgrenzen
hinweg) oder eine umfangreiche Benutzerprofilierung ohne gravierenden Kopfschmerzen
implementieren. Die Beispiele dafür findet man in diversen Projekten, einer davon
in der Implementierung von Codezone . Klar, auch
das CMS setzt darauf ...
Das Leben des Entwicklers ist schön ... "Objekt, speichere dich!" ;-)