On this page the architecture and design of the JSPWiki is described. This page is thought of as a help for coming developers who need to figure out how to apply changes and where these should be applied.

NB: I changed this page to contain a high-level description of the JSPWiki 1.9.x and 2.0 design. --JanneJalkanen

Structure#

JSPWiki follows the basic Model-View-Controller paradigm:

Model
is handled by the WikiEngine class and any subsidiary classes. Via using different Manager objects, it handles page storage (see PageProviders), etc.
View
is handled via a number of JSP pages, that are stored in the templates/ directory. Normally JSPWiki uses the "default" template, but it is possible to change this via deployment-time configuration.
Controller
is handled via a number of custom JSP pages (Wiki.jsp, Edit.jsp, etc) that reside in the top-level directory. Unlike most application frameworks, JSPWiki uses JSP pages instead of servlets as the main entry point, for a couple of reasons:
  1. JSP pages allow quite a lot more flexibility: you can change the functionality, parameters, etc. of your JSPWiki installation very easily, without recompilation.
  2. JSP pages are servlets. So in effect we're running a servlet-based system.

Other stuff#

Other stuff TBA as I think of it. You can make note below if you want me to speak about certain aspects of the design.

I just reverse-engeneered the most important classes using Omondo-UML-Plugin for eclipse and came up with a little diagram (see attached pdf), which shows the main dependencies of the important classes in package jspwiki. -- MaxVoelkel

Attached is the UML class diagram and rough sequence diagram for JSPWiki using Jude. Not perfect, but provide a rough overview of the flow and class interactions. -- WillRubel





CategoryDocumentation, CategoryOfficialDocumentation

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
pdf
JSPWiki-Architektur.pdf 11.9 kB 3 18-Jul-2005 21:54 KarstenDello
jpg
JSPWiki_class_diagram.jpg 331.2 kB 1 08-Feb-2005 03:47 12.216.67.118
jpg
JSPWiki_sequence_diagram.jpg 150.8 kB 1 10-Feb-2005 06:09 12.216.67.118
« This page (revision-35) was last changed on 19-Dec-2011 12:20 by 210.76.116.66