Jx MVC JxMVC

Acerca de

Un framework que se puede leer completo.

JxMVC es un framework MVC para Jakarta EE escrito solo sobre el JDK y la API de Servlet. No usa Spring, Hibernate ni Jackson: el routing, el acceso a datos, el pool, el JSON, la seguridad y el resto están dentro de un JAR de 298 KB y 55 clases que una sola persona puede revisar.

Su versión 3 creció hasta cubrir lo que necesita una aplicación web real sin romper tres reglas: cero dependencias de terceros, seguridad aplicada por el pipeline y una API explícita.

Principios

Cero dependencias

Cada función está escrita sobre el JDK y Jakarta Servlet. El único artefacto extra en producción es el driver JDBC de tu base de datos.

Seguro por defecto

Las protecciones son propiedades del pipeline, no de cada ruta. Un controlador nuevo ya está protegido antes de añadirle una anotación.

API explícita

Flujo de control directo y columnas leídas por nombre, sin mapeo por reflexión. Lo que hace el código es lo que se lee.

Investigación

Evaluado con datos abiertos.

El diseño y la evaluación empírica de JxMVC frente a Spring Boot, Quarkus, Micronaut y Javalin se describen en un artículo en preparación. Los dos arneses de evaluación, las aplicaciones mínimas de cada framework y los datos crudos son públicos.

MedidaJxMVCRango de los otros cuatro
Ataques bloqueados por defecto17 / 188 – 9
Librerías en producción122 – 104
Imagen de contenedor274 MB289 – 302 MB
Arranque en frío1.3 s0.5 – 2.6 s
Memoria residente461 MB433 – 505 MB
Throughput en /json44.5 k/s47.1 – 50.4 k/s
Errores en 120.9 M de peticiones00

Código y citación

Abierto, archivado y citable.

El código, las aplicaciones de comparación, los dos arneses de evaluación y los datos crudos están en GitHub bajo licencia MIT. Cada versión queda archivada en Zenodo con su propio DOI.

RecursoEnlace
Repositoriogithub.com/Andre031222/jxmvc
DOI de todas las versiones10.5281/zenodo.21896136
DOI de la versión 3.5.1 (con los datos finales)10.5281/zenodo.23604453
DOI de la versión 3.5.0 (código evaluado)10.5281/zenodo.23585853
Datos y arnesesbenchmarks/

Stack

Java 17 o superior · Jakarta EE 10 · Servlet 6 · Tomcat 10.1 · Maven. Hilos virtuales en Java 21 o superior. Licencia MIT.

Autores

Idea y base original: Ramiro Pedro Laura Murillo. Desarrollo de la versión 3: Richar Andre Vilca Solorzano. Metodología, análisis y supervisión de la evaluación: Romel Percy Melgarejo Bolivar y Fred Torres Cruz.