-
Notifications
You must be signed in to change notification settings - Fork 23
Basic concepts
This page explains the basic concepts of the SHOGun2 software design.
SHOGun2 is intended to be
- Reusable
- Extendable
- Maintainable
Therefore SHOGun2 shall consist of (preferably independent) modules. To achieve this, SHOGun2 is organized as a Maven Multi Module project.
Maven is using POMs (XML files) to configure the build of a project. Each POM results in a (maven) artifact with some kind of (packaging) type, for example jar
, war
, pom
or maven-archetype
.
A Maven multi module project is realized by defining a root/super/parent POM (of packaging type pom
) with a list of modules (which are in fact subfolders with custom POMs). On top of that it is possible that POMs (of modules) inherit (and possibly overwrite) the properties of their parent POM, which makes it easy to maintain a simple and clear project configuration.
The modules of SHOGun2 are structured in the following way:
-
shogun2 (
pom
, root)-
core (
pom
, the core-module, which has submodules again) -
init (
jar
, module for content initialization) -
web (
jar
, web/controller layer to provide some interface) -
webapp-archetype (
maven-archetype
, template artifact for the quick creation of a SHOGun2-basedwar
-artifact, i.e. webapplication)
-
core (