Aprende ya que es un ORM

Blog Single

¿Estás cansado de repetir la construcción de 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. Actualmente este tipo de herramientas son altamente empleadas en cualquier desarrollo de software.

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

Cuando se desarrollaban las primeras soluciones software para trabajar con datos persistentes, 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 por lo que se buscaron soluciones para alinear la información con los objetos de nuestra aplicación. Así, en busca de solucionar los problemas que esto traía se intentó proporcionar una solución eficiente y alineada con las tecnologías actuales del mercado.

orm

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 rápido y fácil de implementar el modelo de datos.
  • 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.

Gracias a esta gran evolución hoy podemos hablar de sistemas de mapeo objeto-relacional como pueden ser Hibernate, Doctrine o Entity Framework.

Nube de Tags

doctrinehibernateorm
Comparte el artículo si te ha resultado interesante: