06.10.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!