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
InfoTácticas Soluciones
Tecnología y Desarrollo Informático comprometido con tus metas estratégicas
Somos Ingenieros Informáticos dedicados al análisis y desarrollo de sistemas de información.
2 comentarios: