more spelling fixes
[mir.git] / doc / CODESTRUCTURE
index b7e6be6..35e6c7b 100755 (executable)
@@ -6,22 +6,46 @@ A short intro to the code-structure of Mir
 
 In the java-source tree you will find the following:
 
- - two packages (mir and mircoders)
  - two classes (OpenMir and Mir)
+ - two packages (mir and mircoders)
+
+
+Servlets:
+-------------------------------------------------------------------------------------
+
+Looking from the request of a client browser onto MIR, the http-request is passed
+via Apache/Tomcat to either Mir.class or OpenMir.class. Mir.class handles all 
+request that deal with internal administration tasks of MIR. OpenMir is the
+Servlet that deals with all open tasks: adding comments or articles/media to
+the system.
 
+These servlets don't do much but dispatching the tasks to an underlying code
+level, called ServletModules. OpenMir.class is basically a special case of Mir.class,
+no authentication is needed, and only two underlying ServletModule are used.
 
------------ old german stuff ........................................................
-1. Database / Entity Klassen
+The following explanation is about how requests are passed through, and responses
+to the client-browser are generated. The request has to pass through up to four
+levels of code (and from there asking the database), until it collected all the
+necessary data or performed all necessary tasks, to be able to respond.
 
-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.
 
-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.
-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.
+ServletModules:
+-------------------------------------------------------------------------------------
+
+The ServletModules are called via reflection java-api. The http-request parameter
+"module=XXX" and "do=YYY" are evaluated. A method YYY(HttpRequest,HttpResponse) is
+called in ServletModuleXXX. 
+
+
+Modules:
+-------------------------------------------------------------------------------------
 
-2. Module Klassen
 
-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 :)
+Database/Entity:
+-------------------------------------------------------------------------------------
+- db: singeltons, object-representation of db-table, access, generating entities
+- entity: representation of row
 
-3. ServletModule Klassen
 
-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....
\ No newline at end of file
+Producer
+-------------------------------------------------------------------------------------
\ No newline at end of file