← Volver al blog

XavaPro 8.0 disponible

  • Generación automática de API REST para todas las entidades JPA con OpenAPI y Swagger UI integrado.
  • Ediciones renombradas: Professional ahora es Starter, Enterprise ahora es Solo y Enterprise for Teams ahora es Team.
  • Nuevo aspecto moderno para la interfaz de usuario móvil.
  • Compatible con Spring Boot 4.1.
  • Compatible con Jakarta EE 11, incluyendo Jakarta Persistence 3.2 y Jakarta Servlet 6.1.
  • Java 17 como versión base. Se ha eliminado la compatibilidad con Java 8 y 11.
  • Nuevo generador de interfaz de usuario para la interfaz móvil, escrito en Java puro. Se ha eliminado el antiguo renderizador JSP.
  • Se ha eliminado el código DWR; se ha reescrito para utilizar JavaScript fetch() y servlets Java.
  • Se han eliminado las dependencias de las API de J2EE y Java EE.
  • Vista de detalle mejorada para los módulos de administración de Usuarios y Módulos.
  • Tiempo de espera de LDAP reducido a 5 segundos para mejorar la experiencia de inicio de sesión cuando los servidores LDAP no están disponibles.
  • Msal4j (la biblioteca para Microsoft Entra/Azure AD) actualizada a la versión 1.26.0.
  • Nimbus JOSE + JWT actualizado a la versión 10.9.1.
  • Compatible con OpenXava 8.0.
Más información sobre XavaPro

API REST automática

Desde la v8.0 XavaPro genera y publica automáticamente una API REST para todas tus entidades JPA. No hace falta escribir controladores, DTOs, mapeadores ni ficheros de configuración: escribe las entidades de dominio con las anotaciones estándar de JPA y OpenXava, y la API REST está disponible de inmediato.

La API generada incluye:

  • CRUD completo bajo URLs en plural, como /api/customers.
  • Una especificación OpenAPI 3 y un Swagger UI embebido en /api/.
  • Autenticación JWT con los usuarios de XavaPro y las mismas restricciones de rol, módulo, acción y campo que la interfaz web.
  • Paginación, ordenación por varias propiedades y operadores de filtro.
  • Respeto de @Tab(baseCondition=...), Histórico, notificaciones por correo y multiempresa.
  • CORS configurable para frontends basados en navegador.

Por defecto la API automática está desactivada por seguridad. Puedes activarla desde la interfaz de administración sin reiniciar el servidor.

Ve a la carpeta Admin del menú de la aplicación y abre el módulo Configuración. En el formulario, marca la casilla Autogenerar API y pulsa Grabar:

Una vez marcada, todos los endpoints bajo /api/ quedan activos de inmediato. Si se desmarca, cualquier petición a /api/* recibe HTTP 404 con el cuerpo JSON {"error":"API is disabled"}.

XavaPro incluye un explorador Swagger UI embebido y sin conexión que permite inspeccionar y probar interactivamente cada endpoint desde el navegador.

Para abrir Swagger UI, usa esta URL:

http://localhost:8080/tuaplicacion/api/


Desde Swagger UI puedes pulsar Authorize, pegar el JWT (sin el prefijo Bearer; Swagger UI lo añade), explorar los esquemas JSON de tus entidades y ejecutar consultas contra la aplicación.

La especificación OpenAPI 3.0 en JSON está en:

GET /api/openapi.json

La API automática aplica el mismo modelo de seguridad que XavaPro en la interfaz web:

  • Acceso a módulos: Un usuario solo puede acceder al endpoint de una entidad si sus roles tienen permiso para ver ese módulo. Acceder a una entidad prohibida devuelve HTTP 403.
  • Módulos de solo lectura: Si el módulo es de solo lectura para el usuario o su rol, solo se permiten peticiones GET. POST, PUT y DELETE devuelven HTTP 403.
  • Derechos de acción: Crear (POST) exige permiso para la acción new; modificar (PUT) exige save; borrar (DELETE) exige delete.
  • Propiedades excluidas: Las propiedades configuradas como excluidas para el rol del usuario se ocultan en todos los GET y se ignoran en POST y PUT.
  • Propiedades de solo lectura: Se devuelven en los GET pero se ignoran en las modificaciones PUT.

Puedes crear un rol dedicado api (o varios roles de API) en el módulo Roles para los consumidores de la API. Asignar ese rol a las cuentas de API permite afinar exactamente qué módulos, acciones y campos son accesibles.

Puedes ver todos los detalles en la documentación.

Nuevos nombres para las ediciones de XavaPro

Hemos renombrado las ediciones de XavaPro. Se quedan así:

  • La edición Professional ahora se llama Starter.
  • La edición Enterprise ahora se llama Solo.
  • La edición Enterprise for Teams ahora se llama Team.
  • La edición Corporate sigue llamándose Corporate.

Los precios y las condiciones siguen siendo exactamente los mismo de siempre. Únicamente hemos hecho que los nombres sean más descriptivos.

Modernización bajo el capó

XavaPro 8.0 evoluciona junto con OpenXava 8.0, incorporando la misma base tecnológica moderna y limpia. Es compatible con Spring Boot 4.1 y Jakarta EE 11, incluyendo Jakarta Persistence 3.2 y Jakarta Servlet 6.1, y establece Java 17 como versión base, eliminando la compatibilidad con Java 8 y 11. La interfaz móvil estrena un aspecto más moderno y un nuevo generador de interfaz escrito en Java puro, que sustituye al antiguo renderizador JSP. También hemos eliminado por completo DWR y reescrito esta parte utilizando JavaScript fetch() y servlets Java, además de eliminar las dependencias de las antiguas API de J2EE y Java EE. 

Pruébalo tu mismo

Demo: https://www.openxava.org/xavaprotest (Usuario: demo, Contraseña: demo)

Si quieres probar las facilidades de administración responde a este correo preguntando por la clave del administrador.
Si quieres probar las características móviles accede a la URL de arriba usando tu teléfono móvil.

Te invitamos a que vayas a la página de XavaPro para ver más cosas.