¿Estás cansado de repetir consultas y conexiones a la base de datos en tus desarrollos? Conoce y aprende lo que es un ORM y las características que proporciona dentro del desarrollo de una aplicación.

orm


¿Qué soluciones existían antes de los ORM?

Cuando se desarrollaban las primeras soluciones software para trabajar con datos, el mismo software debía de implementar la lógica necesaria de una base de datos para poder realizar las operaciones básicas.

Con el paso del tiempo los Sistemas de Bases de Datos Relacionales han sido líderes en todos los proyectos para almacenar toda la información necesaria definiendo distintas entidades con sus atributos y relaciones entre estas. Para acceder a estos datos se desarrollaron interfaces para cada sistema de base de datos con su propio lenguaje SQL específico, permitiendo recuperar y manipular esta información desde nuestra propia aplicación. Para realizar esta gestión de los datos el lenguaje de programación orientados a objetos perdía cierta de sus características.

Así, en busca de solucionar los problemas que esto traía se intento proporcionar una solución eficiente y alineada con las tecnologías actuales del mercado.

Object Relational Mapping

El mapeo objeto-relacional es una técnica de programación que permite convertir datos entre el sistema de tipos empleado en el lenguaje de programación orientado a objetos y el utilizado en la base de datos relacional, empleando lo que se conoce como un motor o framework de persistencia.

En la práctica esto genera una base de datos orientada a objetos virtual, sobre la base de datos relacional creando una capa de abstracción entre la lógica de negocio y la base de datos. Esto posibilita el uso de las características propias de la orientación a objetos en los modelos de base de datos y nos aporta características importantes en el desarrollo como pueden ser:

  • Agilidad en el Desarrollo. La curva de aprendizaje no es demasiado alta y cuando se domina el ORM es mucho más rapido y fácil de implementar.
  • Abstracción de la base de datos. Al emplear este sistema conseguimos un acceso transparente al sistema de base de datos, pudiendo cambiar en un futuro el motor sin notar efecto sobre nuestro sistema. Esto ese debe que no se emplea una sintaxis para una base de datos concreta para acceder a nuestro modelo, sino la sintaxis propia que nos proporcione el ORM, ya que este será el encargado de traducir para los distintos sistemas de bases de datos.
  • Seguridad. Los ORM implementan sistemas para evitar tipos de ataques maliciosos como pueden SQL injections, ya que no atacamos directamente a nuestra base de datos con una consulta SQL.
  • Mantenimiento y reutilización del código. Nos proporciona un mejor mantenimiento del código ya que nos permite separar los modelos en un paquete además de desacoplárlos de otras partes de la aplicación.
  • Encapsulación: La capa ORM encapsula la lógica de los datos desacoplándolo del resto de la aplicación.

En próximos artículos detallaré más características y algún ejemplo del ORM más empleado en Java, Hibernate, con el cual estuve trabajando y desarrollando durante una temporada.

[googleplusauthor]

Artículos relacionados...

Sobre El Autor

Coordinador en AnalyticaWeb.com Me encanta el SEO y la Analítica Web. Emprendedor y autodidacta que con pasión intenta alcanzar los máximos de su proyección. Disfruto convirtiendo datos en negocio.

Artículos Relacionados

2 Respuestas

  1. Juan

    Me parece interesante lo que dices, pero creo que habria que recalcar la abastraccion sobre la base de datos, aquí vemos un ejemplo: ejemplo orm

    Responder

Hacer Comentario

Su dirección de correo electrónico no será publicada.