12.03.2007
Protokoll DeepaMehta Entwicklertreffen 12.03.2007
-------------------------------------------------
Standort: IT-Pool / Newthinking Store Kreuzberg
Teilnehmer:
Jörg Richter
Enrico Schnepel
Danny Gräf
Daniel Müller
1) Unterstützung für HSQL-Datenbank
Ziel ist, die DeepaMehta-Installation zu vereinfachen, indem keine
MySQL Datenbank mehr vorausgesetzt wird. Gegenwärtig unterstützt
DeepaMehta für seine Datenhaltung (Corporate Memory) nur MySQL, was
manuell installiert werden muß. HSQL ist reine Java Software und kann
mit DeepaMehta automatisch installiert werden.
Verantwortlich: Enrico Schnepel
Warum HSQL?
-in Java 1.6 ist bereits die relationale DB Derby integriert.
-zukünftige Unterstützung für beide Varianten geplant
derzeitiger Stand:
-MySQL integriert
-HSQL läuft intern, noch nicht integriert
-seperate Skripte für das Erstellen der Datenbanken
-generalisierter Zugriff (DML) auf unterschiedliche Datenbanken
-Interface: CoporateMemory > RelationalCoporateMemory.java (dbmsHint)
Zukunft:
-generalisierter Update-Mechanismus (Änderungen an DB-Inhalten / Struktur) > neues Feature
1.1) Property-Dateien statt dmrc und config.xml
momentaner Stand:
build.xml mit Targets zum Installieren und Starten (inkludiert config.xml)
config.xml mit Settings die der Nutzer Konfigurieren kann (allgemeine Einstellungen)
-Pfade, Libs, Classpath
-Instanzinformationen für den install-target
dms.rc (für Server und Monolithen) mit Instanzinformationen
Ziel:
-eine generelle/allgemeine Property-Datei
-dm.properties
-Verweis auf Default-Instanz (dm.instance) z.B.: hsqldb-intern
-DM-Default-Port (dm.port)
-alles aus config.xml ohne Instanz-Angaben
-Pfade zu allgemeinen Libs (dm.libs), ...
-DB-Property-Dateien (untergeordnet)
-DB-unabhängige Benennung: dm-"db-name"-embedded/server.properties
-hsql-intern: dm-hsqldb-embedded.properties
-hsql-extern: dm-hsqldb-server.properties
-mysql-extern: dm-mysql-server.properties
-JDBC-URL (db.url)
-DM-Port (dm.port)
-JDBC-Treiber (db.libs)
-Treiber-Klasse des JDBC-Treibers (db.driver)
-DB-Provider (db.provider)
1.2) Anpassung DB-Provider
-neue Klasse: DataBaseProvider?
2) Flexiblere Typdefinition
Neudesign des Typs "Relation": Ziel ist, Relationen zwischen Typen
definieren zu können, bei Verwendung selbstdefinierter
Assoziationstypen. Derzeit muß der Assoziationstyp per ID eingegeben
werden. Diese Zwischenlösung ist sehr unpraktisch, da die ID 1.) für
den Anwender unsichtbar ist, und 2.) einen Export/Import-Vorgang nicht
überlebt. Verantwortlich: Enrico Schnepel