Konzeption und Implementierung eines ... - Stephan, Daniel
Konzeption und Implementierung eines ... - Stephan, Daniel
Konzeption und Implementierung eines ... - Stephan, Daniel
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6. Statisches Modell<br />
Das System war von Beginn an eine sehr experimentelle Plattform, so dass zu<br />
keinem Zeitpunkt eine ausführlich geplante Architektur vorlag. Während der<br />
Forschung daran wurden ständig an verschiedenen Aspekten mehrere Alterna-<br />
tiven ausprobiert, so dass sich inzwischen einige Design-Aspekte als sinnvoll<br />
herauskristallisiert haben, die im Folgenden besprochen werden sollen.<br />
6.1. Data Objects<br />
Die Anwendung verwendet durchgehend objektorientierte Prinzipien <strong>und</strong> macht<br />
auch für das Datenmodell keine Ausnahme. Da die Daten in einer relationalen<br />
Datenbank abgelegt werden sollen, ist ein relationales Modell trotz gr<strong>und</strong>sätz-<br />
lich objektorientierter Ausrichtung unausweichlich. Somit gibt es hier zwei Mo-<br />
delle, ein relationales (S. 72) <strong>und</strong> ein objektorientiertes (S. 73 <strong>und</strong> S. 74).<br />
Es gibt hier für jedes Objekt der objektorientierten Sicht eine Tabelle in der<br />
relationalen Sicht, so dass die Umsetzung vom Einen auf das Andere sehr un-<br />
kompliziert ist. Dank Hibernate lässt sich diese Umsetzung deklarativ bewerk-<br />
stelligen. Das bedeutet, dass für jedes Objekt eine Mapping Datei im XML<br />
Format vorliegt, die von Hibernate ausgewertet wird. Es gibt keinen Code in<br />
der Anwendung, der irgendwie Bezug auf die relationale Natur der Datenbasis<br />
nimmt, die Umsetzung erledigt Hibernate völlig transparent.<br />
6.2. Data Access Objects<br />
Ein wichtiges Ziel bei der Überlegung, auf welche Weise man seinen Datenzu-<br />
griff strukturieren möchte, ist die möglichst weitgehende Unabhängigkeit der<br />
Zugriffsmechanismen von anderen Teilen der Anwendung. Der Gr<strong>und</strong> leuchtet<br />
sofort ein: da es so viele verschiedene Möglichkeiten des Zugriffs auf Daten gibt<br />
(JDBC, Hibernate, XML, . . . ), die natürlich auch unterschiedliche Vor- <strong>und</strong><br />
Nachteile besitzen, die sich möglicherweise erst in einer späteren Phase der Ent-<br />
wicklung bemerkbar machen, möchte man in der Lage sein, die Technik später