openxava / documentación / OpenXava con LeanXcale

Tabla de contenidos

¿Qué es LeanXcale?
Registrarte en LeanXcale
¿Qué es OpenXava?
Registrarte y descargar OpenXava Studio
Crear nuevo proyecto OpenXava
Configurar OpenXava para LeanXcale
Reconstruir proyecto
Ejecutar Aplicacion

¿Qué es LeanXcale?

LeanXcale es un motor de base de datos ACID que escala linealmente desde un solo nodo hasta cientos de nodos, cuenta con una API key-value de latencia en milisegundos y ejecuta de manera sencilla queries analíticas de SQL y GIS.
Permite acompañar tu negocio desde el MVP hasta el despliegue global, provee una plataforma rápida y flexible con una visión 360° de toda la información disponible.

Registrarte en LeanXcale

LeanXcale provee una versión gratuita con 14 días de prueba sin necesidad de proveer información alguna. Solo necesitas registrarte con tu mail aquí
leanxcale-configuration_es10.png
Dentro de unos minutos te llegará un mail para activar la versión de prueba y te llevará directamente a la plataforma LeanXcale.

¿Qué es OpenXava?

Es un framework Java de código abierto con alta productividad, enfocado para el desarrollo de aplicaciones web empresariales adaptables a múltiples plataformas y soporta prácticamente todos los base de datos relacionales.

Registrarte y descargar OpenXava Studio

OpenXava es gratuito y puedes decargar el Studio registrandote aquí o puedes usar otro IDE como IntelliJ, VSC con Maven. Una vez registrado, te llegará un mail con el link para descargar el Studio, para este ejemplo usaremos este IDE.
leanxcale-configuration_es20.png

Crear nuevo proyecto OpenXava

Primero debes hacer clic en OpenXava > New OpenXava Project, luego aparecerá una ventana:
leanxcale-configuration_es30.png
Ahora creamos una nueva clase Cliente en el paquete com.tuempresa.facturacion.modelo:
getting-started_es125.png
Después teclea Cliente como nombre de clase y pulsa Finish.
getting-started_es130.png
Copia el código siguiente en Cliente:
package com.tuempresa.leanxcale.modelo;
import javax.persistence.*;
import org.openxava.annotations.*;
import lombok.*;
 
@Entity  
@Getter @Setter accesibles
public class Cliente {
 
    @Id  
    @Column(length=6)  
    int numero;
 
    @Column(length=50) 
    @Required 
    String nombre;
 
}

Configurar OpenXava para LeanXcale

Edita el archivo pom.xml en la raíz de tu proyecto, allí añade las siguientes dependencias dentro de <dependencies>:
<dependency>
	<groupId>com.leanxcale</groupId>
	<artifactId>qe-driver</artifactId>
	<version>1.9.4</version>
</dependency>

<dependency>
	<groupId>com.leanxcale.connectors</groupId>
	<artifactId>hibernate-connector</artifactId>
	<version>1.9.4</version>
</dependency>
En el mismo archivo añade el siguiente repositorio en <repositories>:
<repository>
	<id>maven-releases</id>
	<url>https://nexus.leanxcale.com/repository/maven-releases</url>
</repository>
Quedaría algo así:
leanxcale-configuration_es50.png 
Faltaría agregar una propiedad en persistence.xml ubicado en la carpeta src/main/resources/META-INF:
<properties>
      <!-- ... -->
      <property name="hibernate.dialect" value="com.leanxcale.connector.hibernate.LxDialect"/>
      <property name="hibernate.globally_quoted_identifiers" value="true"/>
</properties>
leanxcale-configuration_es60.png
Ahora ve a la plataforma de LeanXcale, sección "How To Connect" y copia el url:
leanxcale-configuration_es70.png
Luego edita el archivo context.xml ubicado en src/main/webapp/MEFA-INF:
<Resource name="jdbc/facturacionDS" auth="Container" type="javax.sql.DataSource"
	  maxTotal="20" maxIdle="5" maxWaitMillis="10000"
	  username="app" password="app" 
	  driverClassName="com.leanxcale.client.Driver"
	  url="jdbc:leanxcale://a5357d898f9318f2a75b.lxc-db.com:1522/db"/>
Obviamente, debes adaptarlo al proyecto. cambiar el usuario, contraseña(si estás usando la versión de prueba, usuario/contraseña es "app"), por último en url pega el que copiaste de la plataforma LeanXcale.
leanxcale-configuration_es80.png

Reconstruir proyecto

Después de los cambios has de reconstruir (rebuild) tu proyecto. En OpenXava Studio pulsa con el botón derecho del ratón en tu proyecto y escoge Run As > Maven install, así:

Nota de optimización: En lugar de mvn install, que hace un build de Maven completo, puedes usar mvn war:exploded, suficiente para aplicar los cambios de arriba para desarrollo. Puedes llamar a mvn war:exploded desde el OpenXava Studio con Run As > Maven build... y tecleando war:exploded para goal.

Ejecutar aplicacion

Pulsa el botón Run:
getting-started_es150.png
Espera hasta que la consola muestre un mensaje diciendo "Aplicación iniciada", como este:
getting-started_es155.png
Ya tienes tu aplicación ejecutándose. Para verla, abre tu navegador favorito (Chrome, Firefox, Edge o Safari) y ve a la siguiente URL:

    http://localhost:8080/facturacion

Estás viendo tu aplicación por primera vez. Para empezar pulsa en el botón INICIAR SESIÓN:
getting-started_es160.png
Ahora, introduce admin/admin y pulsa en ENTRAR:
Página de identificación
Después, pulsa en la parte de la izquierda se mostrará una lista de módulos, escoge Clientes:
getting-started_es170.png
Usa el módulo Clientes para crear nuevos clientes, simplemente introduce el número y el nombre y pulsa Grabar.
getting-started_es190.png
Pulsa en Lista para ver los clientes que has creado. Enhorabuena, tienes tu primera aplicación OpenXava funcionando con LeanXcale.

¿Te ha gustado OpenXava y quieres más detalles? Te invitamos a ver la lección 1
¿Tuviste problemas con OpenXava? Pregunta en el foro