pdf 1.967 kB - Praktische Informatik - Universität Siegen
pdf 1.967 kB - Praktische Informatik - Universität Siegen
pdf 1.967 kB - Praktische Informatik - Universität Siegen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
KAPITEL 3. ENTWICKLUNG DES SYSTEMS<br />
Auf den ersten Blick mag es vorkommen, dass die Nutzung von “Hibernate“ aufwendiger<br />
als der Datenbankzugriff mittels JDBC erscheint. Dies liegt an der Erstellung<br />
der SessionFactory-Konfigurationsdatei und der Mapping-XML-Dateien, was auf einen<br />
Mehraufwand für den Benutzer deutet. Diese müssen jedoch nur einmal erstellt werden,<br />
die Einbindung dieser Dateien funktioniert dann automatisch. Vergleicht man hingegen<br />
die beiden Codesequenzen, erkennt man, dass durch den Einsatz von “Hibernate“ die<br />
Implementierung kompakter und intuitiver gestaltet wird. Dies wird dadurch erreicht,<br />
dass das Mapping der Objekte - wie schon erwähnt - von “Hibernate“ übernommen wird<br />
und nicht mehr zu den Aufgaben des Programmierers gehört. Zudem müssen Tabellen<br />
nicht explizit erstellt werden, diese Aufgabe wird beim Erzeugen des "SessionFactory"-<br />
Objektes ebenfalls automatisch von “Hibernate“ übernommen. Vergleicht man nun beide<br />
Verfahren, kommt man zu der Erkenntnis, dass sich JDBC eher für Applikationen mit<br />
wenigen zu implementierenden Datenbankzugriffen eignet. Ist eine Implementierung vieler<br />
verschiedener Datenbankzugriffe erforderlich, so sollte der Einsatz von “Hibernate“<br />
in Betracht gezogen werden.<br />
Eine ausführliche Beschreibung der Funktionsweise von “Hibernate“ kann im [BaKi05]<br />
nachgeschlagen werden.<br />
3.7 ID-Zuweisung<br />
Daten und Objekte, die in einer relationalen Datenbank abgelegt werden, benötigen zur<br />
deren Unterscheidung eindeutige Identifizierer, sogenannte IDs. Das bei der Entwicklung<br />
des Systems verwendete “Hibernate“-Framework bietet die Möglichkeit solche IDs automatisch<br />
erstellen zu lassen. Auf diese Funktion wurde bei der Implementierung jedoch<br />
bewusst verzichtet. Aus Gründen der Übersichtlichkeit und besserer Kontrolle über die<br />
IDs, übernimmt das System deren Verwaltung. Anhand einiger IDs soll der Aufbau bzw.<br />
die Struktur dieser Identifizierer aufgezeigt werden:<br />
alg01- Algorithmus-ID<br />
inp01- Eingabedokument-ID<br />
cfg01- Konfigurationsdokument-ID<br />
exp01- Experiment-ID<br />
Die ersten drei Zeichen beschreiben hierbei den Typ des Dokuments, dem diese ID<br />
zugeordnet ist. Die Nummer, die diesen Zeichen folgt, soll die Einduetigkeit der ID<br />
garantieren. Die Klasse "IDWatcher", die im Paket "de.usi.caew.system" aufzufinden<br />
ist, übernimmt die Verwaltung und die Vergabe der IDs. Für die Vergabe einer neuen<br />
ID bietet sie dokumenttypspezifische Zugriffsmethoden, die bei Bedarf vom System aufgerufen<br />
werden. Für eine solche Anfrage wird hierbei die zum Dokumenttyp passende<br />
Methode aufgerufen. Diese lädt die zuletzt verwendete ID aus der Datenbank und inkrementiert<br />
deren Zahlenwert. Die so gewonnene neue ID wird als Resultat der Anfrage<br />
20