Locked History Attachments

BennuFramework

Bennu Framework

The Bennu Framework is our infrastructure for building modular web-applications. It stacks over the Fenix Framework, adding core concepts necessary for a web-application to function. The Bennu Framework has a modular architecture, all features reside in standalone inter-dependent java projects, glued together by a maven based compile system.

Structure of a Bennu Project

There are two kinds of projects in Bennu: libraries and applications. Libraries are projects that contribute with a set of functionalities that can be included in an application, they produce a .jar package. Applications are projects that produce a .war bundled package, they do not provide any functionality, they just bundles a set of them by depending on projects that do provide them.

Bennu Library Projects

To create a Bennu Library Project run the following command:

mvn archetype:generate -DarchetypeGroupId=pt.ist -DarchetypeArtifactId=bennu-project-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeRepository=https://fenix-ashes.ist.utl.pt/nexus/content/groups/fenix-ashes-maven-repository/

This will create a project with the following structure:

<project-name>
 |-- pom.xml
 `-- src
     `-- main
         |-- java
         |   `-- <java packages>
         |-- dml
         |   `-- <dml files>
         `-- resources
             |-- resources
             |   `-- <resource bundle files>
             `-- META-INF
                 |-- web-fragment.xml
                 `-- resources
                     |-- <jsp, javascript, image files>
                     `-- WEB-INF
                         `-- <project-name>
                             |-- renderers-config.xml
                             `-- schemas-config.xml

Bennu Application Project Structure

To create a Bennu Application Project run the following command:

mvn archetype:generate -DarchetypeGroupId=pt.ist -DarchetypeArtifactId=bennu-application-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeRepository=https://fenix-ashes.ist.utl.pt/nexus/content/groups/fenix-ashes-maven-repository/

This will create a project with the following structure:

<project-name>
 |-- pom.xml
 `-- src
     `-- main
         |-- java
         |   `-- <java packages>
         |-- dml
         |   `-- <dml files>
         |-- resources
         |   |-- configuration.properties
         |   |-- resources
         |       `-- <resource bundle files>
         `-- webapp
             |-- <jsp, javascript, image files>
             `-- WEB-INF
                `-- web.xml

Bennu Core Features

Bennu Infrastructural Domains

Bennu 2