moved STRUKTUR.txt to CODESTRUCTURE, I'll start working on the text soon :)
[mir.git] / doc / CODESTRUCTURE
1 -------------------------------------------------------------------------------------
2
3 A short intro to the code-structure of Mir
4
5 -------------------------------------------------------------------------------------
6
7 In the java-source tree you will find the following:
8
9  - two packages (mir and mircoders)
10  - two classes (OpenMir and Mir)
11
12
13
14
15
16 1. Database / Entity Klassen
17
18 Die zugrundeliegende Speicherungsschicht wird von den StorageObjekten realisiert. StorageObjekt ist eine generische Klasse, die zur Zeit nur als Datenbankablage realisiert ist. Es waere jedoch mehr oder weniger einfach auch eine Ablage im Filesystem zu implementieren, womit offline-Arbeit mit dem Produktionssystem denkbar waere.
19
20 Die Databaseklassen sind als Singletons (es gibt fuer jede Tabelle nur ein Database-Objekt) implementiert und kuemmern sich um den Zugriff auf eine Tabelle in der Datenbank.
21 Wird von der Database-Klasse eine Zeile aus der Datenbank ausgelesen, so wird die Zeile als entsprechendes Entity-Objekt repraesentiert. Eine Entity ist also die Objektversion einer Datenbankzeile.
22
23 2. Module Klassen
24
25 Die ueber der Speicherungsschicht liegende Programmebene sind die Module-Klassen. Ein jeweiliges Module legt die eingentliche Schnittstelle zwischen Zugriff und Ablage fest, und ist von beiden jeweils abstahiert (wenn das ganze sauber programmiert waere :)
26
27 3. ServletModule Klassen
28
29 Die ServletModule Klassen implementieren bislang die einzige Zugriffsschicht nach aussen. Vorstellbar waeren auch Applikationen und Applets, ueber die das Produktionssystem steuerbar waere, oder java-Standaloneprogramme, die bspw. einen Datenbankimport machen....