• Stars
    star
    12
  • Rank 1,547,068 (Top 32 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Model Layer Implementation for a J2EE Pull MVC WebApp

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: