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:
- JSP pages allow quite a lot more flexibility: you can change the functionality, parameters, etc. of your JSPWiki installation very easily, without recompilation.
- 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
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 |