/modality

Model Layer Implementation for a J2EE Pull MVC WebApp

Primary LanguageJavaApache License 2.0Apache-2.0

Modality is a lightweight but hightly configurable Java ORM, with a companion set of tools

Modality ORM library

Encompases a data access layer, a hierarchical and reentrant model definition gathering SQL queries, database values, names custom filters and much more. See modality-core's REAME.

Usage: include the needed module(s) in your pom.xml's dependencies section as follow:

  <dependency>
      <groupId>com.republicate.modality</groupId>
      <artifactId>modality-core</artifactId>
      <version>1.0</version>
  </dependency>

Modality Web anti-framework

While the ORM is usable on its own or within other Java/Kotlin web frameworks, the project comes with a companion set of tools which stick to the J2EE and JDBC standards to provide a lightweight, loosely coupled and highly cusomizable MVC pull architecture based on the Java J2EE servlets API.

Its design is based on a bottom-up approach rather than top-down. This makes Modality an anti-framework: its various components do stick to the underlying norms, have a minimal interdependance and just do the specific task they are intended to, leveraging the learning curve and added complexity, and nevertheless those components assembly cover all the basic needs of a fully functional MVC webapp.

  • the Model layer is addressed with a generic ORM Java API witouth any code generation and with minimal optional caching, providing a complete database structure reverse enginering feature.
  • the View layer is Apache Velocity, but other Java View layer technologies can easily be used instead.
  • the Control layer is decentralized in URI to path conventions (like serving basedir/foo.vhtml for GET /foo.vhtml), configuration files and helpers. It can easily be blended in existing frameworks.

Components: