The Joist Framework
The Joist site is comprised of dozens of application servlets all sharing a common framework. The framework takes care of the common processing that happens for every request, thereby relieving the author of an application servlet from having to worry about them. Application authors can, instead, focus on the specific business functionality particular to the application.
The basic design follows a three-tier architecture. The UI component is separate from the business logic, which is distinct from the data storage. In broad strokes:
- The UI is implemented using WebMacro templates. WebMacro is an open-source templating engine developed for java servlets (more later).
- The business logic is implemented as java servlets and application specific business classes.
- The data storage is implemented in a MySQL relational database accessed via JDBC.
The basic processing goes roughly as follows. A client request is routed to a servlet, which does some security checking, then performs the requested action. The servlet determines what will be displayed as a result of the request, then hands off to the WebMacro template engine to render the HTML, which is returned to the client.