JVocabulary

JVocabulary

Dokumentation | Downloads [N/A] | Über das Projekt | sf.net Project page

Implementierung


Übersicht

Details

Java

Java scheint als Programmiersprache hier sehr geeignet. Da es sich bei der hier implementierten (zum heutigen Zeitpunkt noch in der Implementierung befindlichen) Software um ein reines Informationssystem im Softwaretechnischen Sinne handelt, sind keine Zeitkritischen Abfragen zu erwarten. Ausserdem bringt Java von Hause aus alle wichtigen Funktionen zur Abfrage von Datenbanken mit (siehe java.sql.* Package in der Java-Dokumentation).

Der compilierte Quellcode sollte auf jeder Plattform lauffähig sein, auf der auch eine JRE (Java Runtime Environment) lauffähig ist. Zur Entwicklung wird das JDK (Java Development Kit) in der Version 1.5.0 Update 6 verwendet. Sollte während der Entwicklungsphase eine neue Version des JDK veröffentlicht werden, kann es sein, dass die Entwicklung auf die dann aktuelle Version umgestellt wird. Da das Entwickler-Team zur Zeit aus genau einer Person besteht, birgt ein solcher Versionswechsel auch keinerlei Schwierigkeiten, bzw. Gefahren der Inkompatibilität.

Hibernate

Hibernate ist ein Framework, mit dessen Hilfe sich Datenbank Strukturen in POJOs (Plain Old Java Objects) übertragen lassen.
Hierzu müssen nur die Tabellen aus der Datenbank in Mapping-Dateien übertragen werden. Es gibt nun zwei Möglichkeiten mit den Mapping-Dateien zu verfahren:

  1. Man erzeugt die Klassen für den Java-Code per Hand
  2. Man lässt sich den Java-Code durch einen Code-Generator erzeugen
Ich habe für die Implementierung die zweite Variante gewählt, da mögliche Änderungen am Code der Mapping-Dateien sich nicht unmittelbar auf die Implementierung der POJO-Klassen auswirken. Der Code-Generator wird Änderungen mitnehmen und die POJO-Klassen anpassen (bzw. neu erzeugen).

Eclipse

Als Entwicklungsplattform wird die Java-Entwicklungplattform Eclipse in der Version 3.1.2 verwendet. Zudem werden verschiedenen Plugins wie z.B. SQLExplorer zur Ansicht der Datenbank während der Entwicklung herangezogen.

HSQLDB

Als Datenbank wurde die HypersonicSQL-Datenbank (kurz hsqldb) gewählt. Ihre grosse Stärke liegt in ihrer Grösse. HSQLDB ist eine rein in Java implementierte Datenbank, die auf verschieden Weisen betrieben werden kann. Im Fall von JVocabulary wird sie im Entwicklungprozess im Server-Modus betrieben. Im produktiven Betrieb jedoch wird sie im In-Process-Modus betrieben. Im Server-Modus besteht die Möglichkeit auf die Inhalte der Datenbank ausserhalb der Programmlogik zuzugreifen, was für den Entwicklungsprozess von grossem Nutzen ist, denn es muss ja überprüft werden, welche Inhalte in die Datenbank geschrieben werden. Im produktiven Betrieb hingegen, müssen solche Prüfungen nicht mehr durchgeführt werden.




Letzte Änderung: 09.04.2006