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.
| Medida | JxMVC | Rango de los otros cuatro |
|---|---|---|
| Ataques bloqueados por defecto | 17 / 18 | 8 – 9 |
| Librerías en producción | 1 | 22 – 104 |
| Imagen de contenedor | 274 MB | 289 – 302 MB |
| Arranque en frío | 1.3 s | 0.5 – 2.6 s |
| Memoria residente | 461 MB | 433 – 505 MB |
Throughput en /json | 44.5 k/s | 47.1 – 50.4 k/s |
| Errores en 120.9 M de peticiones | 0 | 0 |
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.
| Recurso | Enlace |
|---|---|
| Repositorio | github.com/Andre031222/jxmvc |
| DOI de todas las versiones | 10.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 arneses | benchmarks/ |
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.