miércoles, 28 de noviembre de 2018

ORM en desarrollo de aplicaciones

Un ORM, en el desarrollo de aplicaciones con acceso a base de datos, simplifica el trabajo del desarrollo de este tipo de aplicaciones enormemente. En el desarrollo de este tipo de aplicaciones se requiere realizar un mapeo, que consiste en transformar la información de la base de datos en tablas a objetos de la aplicación y viceversa. Entonces, ¿Qué es un ORM? Un ORM es el responsable del mapeo automático.

ORM procede de las siglas Object Relational Mapping. El trabajo deja de ser manual ya que el ORM lo realizará de forma independiente de la base de datos. Además, gracias al mapeo automático podrás cambiar de motor de base de datos fácilmente y cuando quieras.

El ORM es un modelo de programación que transforma las tablas de una base de datos en entidades para simplificar enormemente la tarea del programador.

Un ORM es una biblioteca especializada en acceso a datos que genera por ti todo lo necesario para conseguir que no tengas conceptos "extraños" de bases de datos en tu código orientado a objetos. En la práctica para ti la base de datos es como si no existiera.

Un ORM (Object Relational Mapping) es un tipo de biblioteca de acceso a datos que intenta hacer que esta tarea sea más natural para los desarrolladores. Así, a la hora de acceder a datos, en lugar de utilizar otro lenguaje (generalmente SQL), un ORM permite que puedas utilizar los paradigmas habituales de la programación orientada a objetos: clases y objetos. En lugar de pensar en tablas y relaciones, piensas en objetos y propiedades.

Ventajas y desventajas de un ORM
  • Ventajas
    • No tienes que escribir código SQL
    • Algo que muchos programadores no dominan y que es bastante complejo y propenso a errores. Ya lo hacen por nosotros los ORM.
    • Facilidad y velocidad de uso
    • Un ORM, nos facilita las labores básicas de cualquier acceso a datos , el CRUD (Create, Read, Update y Delete). Realizando todas estas labores a través de un lenguaje de alto nivel orientado a objetos.
    • Abstracción de la base de datos usada.
    • Por ejemplo, si se usaran instruciones SQL desde la aplicación en vez de ORm, listar los 10 primeros registro de una tabla conlleva a usar diferentes sintaxis en las bases de datos MS-SQL SERVER, ORACLE o MySQL. El ORM al tener un capa intermedia, abstrae al programador de la base de datos y le centra en el desarrollo de la aplicación.
    • Seguridad de la capa de acceso a datos contra ataques.
    • Se encargan de evitar posibles ataques de inyección SQL y similares.
  • Desventajas
    • En entornos con gran carga poner una capa más en el proceso puede mermar el rendimiento.
    • En general una consulta SQL directa será más eficiente siempre.
    • Aprender el nuevo lenguaje del ORM.
    • La configuración inicial que requieren se puede complicar dependiendo de la cantidad de entidades que se manejen y su complejidad, del gestor de datos subyacente, etc...

Uno de los mapeos automáticos más utilizados es de JAVA y se llama Hibernate, pero también están iBatis, Ebean, para .NET nHibernate, Entity Framework, o para PHP Doctrine y Propel, entre otros.

Para profundizar más puede acceder a:
https://www.campusmvp.es/recursos/post/que-es-un-orm.aspx

Posted by InfoTacticas Soluciones  |  2 comments

11/28/2018 03:02:00 p. m. Share:

2 comentarios:

back to top