ok. hier kommt bald mein Vorschlag.
Habe das aber ein bischen anders gemacht.
Von "aussen" wird eine NotesDatenbank per Java ausgelesen und in eine MySQL Datenbank geschrieben.
Man kann das ganze auch als Notes-Agenten umschreiben. Benötigt aber ein bischen Anpassung. So konnte ich Eclipse benutzen. Ich schreib Notes-Java Agenten auch in Eclipse (und kopier die dann rüber). Alles in Eclipse zu schreiben ist noch besser, weil dann hab ich debugger und viele Dinge mehr.
So richtig voll objekt-orientiert ist das auch nicht.
Letztlich wird hier auch kein richtiger OO-Business-Layer gebildet, sondern die ganzen Daten nur so portiert: auslesen_aus_notes --> Datenstruktur (ohne behaviour, keine Methoden) --> RDBMS (konkret MySQL). Beziehungen zwischen Tabellen (oder Haupt-Antwort-Doc) werden nicht berücksichtigt. Kein Transaktionssupport.
Kyle Brown hat das in seinem tollen Websphere-Buch angesprochen. Der Sack schmeisst aber mit ca. 4-6 Fowler-Enterprise Business Application Patterns (auch ein sehr gutes Buch, btw) um sich und das geht nicht mal so schnell am Wochenende. War auch für die Aufgaben-Stellung nicht nötig.
Vielleicht geht das neue Spring-Framework in die Richtung, aber da bin ich mir noch nicht so sicher.
Ich werde hier lediglich eine Implementierung des guten alten DAO-J2EE-Patterns reinschmeissen.
Das ist aber schon ein ganzes Stück flexibler als Quojotes Ansatz.
Und es gibt hier tonnenweise dolle Interfaces und abstrakte Methoden.
Als konkretes Beispiel habe ich die gist - Datenbank von eknori genommen, die im Rahmen des Entfernungs-Berechnungs-Threads entstanden ist (hier ist link auf download:
http://www.atnotes.de/attachments/Dist.rar ). Ist nicht klein.
Ich hab als "RDBMS" die zukünftige SAP-Datenbank mySql gewählt. Ist recht einfach zu bedienen und nicht so groß wie db2 oder Oracle. Reicht aus.
http://www.mysql.com/products/index.html . Interessierte müssen auch unbedingt den jdbc-Treiber und (ernste Empfehlung) das controll center runterladen. GAlles gibts bei der mySql Seite.
Die einfachste Art mySql zu starten ist über den Befehl mysqld-nt --standalone aus der Kommandozeile im bin-Verzeichnis von mySql.
Der Standard-Alle-Rechte-User heisst glaub ich "admin" ohne Kennwort.
Ich beschreibe alles Eclipse-mässig, weil das meine Entwicklungsumgebung ist.
Wens interessiert. Auf MySql müsste erstmal eine Datenbank erstellt werden. Die soll "gist" heissen. Geht mit dem Controll Center
Hier ist der DDL-code für die Generierung der einzigen Tabelle:
# Host: localhost
# Database: gist
# Table: 'location'
#
CREATE TABLE `location` (
`id` bigint(20) NOT NULL auto_increment,
`city` varchar(50) NOT NULL default '',
`loc` varchar(30) default '',
`east` varchar(10) NOT NULL default '10',
`north` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `BY_CITY` (`city`)
) TYPE=MyISAM;
Die gist-DB sollte im Controll-Center grün sein. Dann auf SQL Button klicken. Das obige DDL reinkopieren und dann ausführen. Dann Control Center schliessen und öffnen (tool ist nicht so schlau, hab aber auch null doku dazu gelesen.
rest.kommt.später, lüpt aber schon.
Arbeite vielleicht morgen noch daran, die Generierung der mySql Datenbank ein bischen konfortabler zu gestalten, aber das mach ich auch nicht jeden Tag.
Gruß Axel