Modality alternatives and similar libraries
Based on the "Database" category
Do you think we are missing an alternative of Modality or a related project?
Modality is a set of tools which stick to the J2EE and JDBC standards to provide a lightweight, loosely coupled and highly cusomizable MVC 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 covers 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.
- there is no centralized Controller, but rather a set of configuration files (like
WEB-INF/web.xml, the webapp application descriptor), conventions and helpers, plus any standalone controller implemented as a J2EE filter (like a form data validation one) can easily be added.
- [modality-core](modality-core) - a model layer for a pull MVC architecture, which encompases a data access layer, a hierarchical and reentrant model definition gathering SQL queries, database values and names custom filters, ...
- [modality-api-client](modality-api-client) - API client utility for JSON/XML APIs.
- [modality-api-server](modality-api-server) - API servlet serving Velocity JSON templates.
- [modality-webapp](modality-webapp) - servlets and filters for Modality-core configuration and initialization in a J2EE webapp environment.
- [modality-webapp-auth](modality-webapp-auth) - authentication filters assortment.
- [velocity-tools-apiclient](velocity-tools-apiclient) - view layer API client tool which encapsulates modality-api-client for use with Apache Velocity Tools.
- [velocity-tools-model](velocity-tools-model) - view layer model tool which encapsulates modality-core model objects for use with Apache Velocity Tools.
- [modality-webapp-oauth-server](modality-webapp-oauth-server) - OAuth2 server (work in progress)
- [modality-webapp-oauth-client](modality-webapp-oauth-server) - OAuth2 client (work in progress)
The flagship module, [modality-core](modality-core), is a full fledged ORM, mature and usable on its own. It's a complete 2019' rewrite of the Velosurf library, which is a Velocity-specific ORM (which I maintained for 18 years). The Velocity specific stuff now belongs to the
Release 1.0 doesn't publish any
modality-webapp-oauth-*, nor the
velocity-tools-apiclient modules, which aren't ready.
modality-webapp-auth have been published with v1.0 because they are needed by
modality-example-bookshelf, but shall undergo some refactoring.
Inclusion in a maven project
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>