[abgespalten aus http://forum.byte-welt.net/byte-welt-projekte-projects/allgemeines-zu-projekten-generals/15212-javabasiertes-forum.html ]
ich rege auch einen Focus auf Unabhängigkeit/ Schichtensystem an:
- Präsentationsschicht: das Web-Framework hat nur zunächst die Aufgabe, die Aktionen zu bestimmen und neuen User-Input in serverseite Objekte zu organisieren,
- darunter: dann geht es in eine allgemeine Verarbeitungsschicht nur aus eigenen Klassen, die mit jedem Framework oder auch (gut für lokales Testen!) Desktop-GUI läuft
- darunter: das innere System liefert eine abstrakt Ergebnisentscheidung, was anzuzeigen ist + alle variablen Daten dazu in eigenen Klassen
- die Präsentationsschicht wiederum zeigt das ganze in irgendeiner selbstgewählten HTML-Seite an oder auch in Desktop-GUI
das Kernsystem könnte man also auch erstmal lange ohne Webserver in GUI programmieren
unabhängig zusätzlich J2EE-Zugang, Play-Zugang usw., beliebiges anschließbar
wähle also beliebig dein Framework, aber wäre schön darauf zu achten dass alles auch so läuft,
dass man das interne Konglomorat (aus laufenden User-Sessions, Application-Session, Verwaltung der laufenden DB, Logs, Überwachungs-Threads) usw. genauso für eine GUI hochfahren und nutzen kann,
nicht unbedingt gleich mehrere Clients die gleichzeitig mit einem laufenden Forum-Kern interagieren können, obwohl später ganz nett,
aber zumindest die Klassen jeweils zu übernehmen, in eigener Instanz zu verwenden,
das bedeutet auch, das User-Sessions, Formular-Daten usw. eigene Klassen sind, nicht zu sehr in ‚Lifecycle‘ von irgendwelchen Frameworks eingebunden,
vielleicht noch innerhalb der Präsentationsschicht, aber bei Übergabe nach unten ein Schnitt, wie Aufrufe an fernen Webservice/ RMI denken
vom MVC in ‚Spring MVC‘ bleibt dann vielleicht nicht mehr so viel übrig, aber abzuwarten,
grundsätzlich akzeptable Richtung?