old24

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