Webwarp Framework - Architecture

Layers

Maven Build Settings and Utility Projects

Die Webwarp Framework is organized in different layers. At the lowest level (webwarp-common) there are base projects controlling the maven build and reporting setup. Following there is a pom layer (webwarp-pom) which only encapsulates the dependencies for the different technologies used throughout the framework (e.g. Apache commons libraries, spring framework, hibernate O/R mapper and more). Based on the pom layer several utility libraries are build  (webwarp-util) which contain several projects that are as much as independent from each other as possible. 

Base Framework

Next layer is the webwarp base layer (webwarp-base) which realizes some very common functionaliy usd throughout application development, like pluggable bean configurations (based on spring), pluggable menus, an installer snd setup manager and multi language support. Dependency and version management on the base layer is made with the help of an additinoal abstraction layer (webwarp-base-pom).

Modules Layer and Reporting Framework

The webwarp modules layer (webwarp-modules) then contains several components for different areas of application development that we encountered during our work within tha last years. The modules layer is extended by a reporting module that was separated from the other modules because of its complexity (webwarp-reports).

UI Extension

Based on the layers described so far, several UI component libraries can be build. Currently only a JSF/Apache MyFaces/Trinidad based web application interfaces is implemented and available. The UI projects allow the pluggable setup and configuration/extension of web based applications based on simple dependency inclusion in the projects POM.

Build Environment

As a build system the Webwarp Framework heavily relies on  Apache maven. Basically you can also collect and organize things with other build tools. But we strongly recommend using maven for several reasons:

Modules available

So, what could you do with the framework? As a quick start we want to give you a short overview of the modules currently available:

Repository Structure

The Webwarp subversion repository is organiszed according to the layers defined above and the corresponding UI technology:

Projekt Structure

According to the architecture the repository / projects are layouted as follows:

Webwarp unterstützt in der aktuellen Version nur JSF mit MyFaces/MyFaces Trinidad.

Version and Release Management

Basically all subprojects are managed as single projects with their own lifecycle. Corresponding parent projects are planned to be defined for simplifying the dependency inclusion when using the Webwarp framework for application development. Another advantage is that minor bugfixes in submodules can be fixed and included fast and independent from the overall versioning of the whole framework.