ORM: ¿Novedad?

Hará de esto un año quizás cuando inicié mi andadura en una nueva empresa. La idea era hacer aplicaciones web trabajando con Java y MySQL y en medio usar un ORM (mapeo objeto/relación), en concreto Hibernate.

Yo, como buen empleado, comencé a leer todo lo que pude sobre aquel, decían, maravilloso sistema que te permitía acceder a los campos y relaciones de una tabla de una forma sencilla.

Comenzó la locura

Estos sistemas funcionan casi todos con ficheros descriptores XML o anotaciones en el código que define las clases de los objetos. Es verdad que existen aplicaciones/plugins que permiten a partir de una base de datos ya creada obtener los descriptores y las clases y viceversa, pero el mantenimiento de todos estas capas es realmente tedioso. Yo en concreto usaba MyEclipse junto con un plugin para Hibernate que venía en ese paquete.

Realmente antes de hacerlo a mano se agradecía que hubiera un sistema semiautomático de “sincronización” entre los cambios que se realizaban en los descriptores, las clases y las propias tablas en la base de datos.

Esto es la pólvora

Los compañeros que trabajaban conmigo ya llevaban más tiempo usando estas herramientas que yo y desafortunadamente para ellos no conocían Velneo. Yo ya tenía algo más de experiencia en esta plataforma de desarrollo.

Bueno, al grano. Mis compis decían: mira que guay, estoy en una factura y a través de una propiedad de la clase factura puedo acceder al cliente y a sus datos. También si estoy en un cliente determinado, a través de una propiedad puedo acceder a la lista de facturas de ese cliente. ¿No es alucinante?, decían. Yo los miraba incrédulos. “De verdad os parece alucinante, pero si eso Velneo lo hace de toda la vida y mucho más transparente e integrado”. Velneo, ¿eso que es?, me comentaban.

Que grande es Velneo

Cuando se creó el modelo de bases de datos relacional no se tenía en mente usarlo con entornos de desarrollo que usaran objetos. Este fué uno de los motivos de que sacaran el ORM, para intentar suavizar el salto abismal que existe entre el trabajo a nivel de clases y relaciones entre tablas.

Lo curioso de todo esto es que Velneo con su modelo de datos real integrado todo esto lo tiene más que resuelto, e incluso mucho más:

  • En las relaciones 1:n automáticamente disponemos de un enlace para acceder desde el detalle al maestro y una instrucción de proceso para acceder desde el maestro a su detalle (en Velneo se conoce como maestro-histórico). Además, en tiempo de ejecución, también puede hacer uso de estos “navegantes” para moverse por los datos.
  • Disponemos de índices especiales que permiten tener un enlace a un determinado elemento del detalle. Todo esto visualmente y sin tener que escribir una sola línea de código. Por ejemplo: desde el cliente podemos tener un enlace a su última factura. Esto permite por ejemplo que aparezca en el formulario de clientes la fecha de la última factura (#UltimaFactura.Fecha#). Insisto en que todo esto es visual.
  • A medida que vamos creando las relaciones entre las distintas tablas la navegación entre ellas si que es realmente alucinante. Por ejemplo si estamos en una factura determinado accediendo al campo #Cliente.DireccionPrincipal.Telefono1# obtenemos el telefono1 de la entidad. Darse cuenta de que estamos en la tabla facturas que tiene un maestro de clientes y éste un histórico de direcciones.
  • Si a todo esto le unimos las actualizaciones y actualizaciones en cascada contamos con un modelo real (de verdad) de datos.

Conclusión

Cuando les conté todo esto a mis antiguos compis quedaron flipados y alucinados de verdad. Cuando se enteraron que la plataforma es española su asombro fue aún mayor. Y cuando por último les mostré lo fácil que es mantener una aplicación en Velneo entonces lo tuvieron realmente claro. Pero este será tema de otro post.

Anuncios

2 responses to this post.

  1. […] programación, velneo, visual basic Al hilo de lo que comentaba en mi anterior post sobre mis experiencias en mi antiguo trabajo con Java y MySQL, os cuento la parte relativa al […]

    Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: