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

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.

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
jsp
listfiles.jsp 6.1 kB 1 06-Jan-2007 14:15 212.138.64.174
« This page (revision-30) was last changed on 07-Jul-2008 09:51 by JanneJalkanen