Saltar la navegación

2.1.- Características.

Caso práctico

Imagen de Antonio, uno de los protagonistas de nuestros casos prácticos.

Antonio no sabe exactamente qué tiene que utilizar ni qué ventajas obtendrá con el uso de las herramientas de mapeo ¿Cuáles son las características de las herramientas ORM?

Las herramientas ORM facilitan el mapeo de atributos entre una base de datos relacional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) que permiten establecer estas relaciones. Gracias a las ORM, podemos conectar con una base de datos relacional para extraer la información contenida en objetos de programas que están almacenados. Para ello, sólo tendremos que definir la forma en la que establecer la correspondencia entre las clases y las tablas una sola vez (indicando qué propiedad se corresponde con cada columna, qué clase con cada tabla, etc.). Una vez hecho esto, podremos utilizar POJOs de nuestra aplicación e indicar a la ORM que los haga persistentes, consiguiendo que una sola herramienta pueda leer o escribir en la base de datos utilizando  VOs. directamente.

Un POJO es una instancia de una clase que no extiende ni implementa nada en especial. Para los programadores Java sirve para enfatizar el uso de clases simples y que no dependen de un framework en especial.

VO: Significa Value Object y es un objeto Java Bean enfocado en la vista. Basicamente es un POJO (Plain old java object). BO: Significa Business Object y generalmente son los Java Beans que se mapean a entidades de base de datos (Objetos de negocio) como por ejemplo en Hibernate.

eXtensible Markup Language, traducido como "Lenguaje de Marcado Extensible"

Una herramienta ORM permite tomar un objeto Java y hacerlo persistente, carga el objeto de la base de datos a memoria y permite hacer consultas a las tablas de la base de datos.

Ventajas de ORM.

  • Ayudan a reducir el tiempo de desarrollo de software. La mayoría de las herramientas ORM disponibles, permiten la creación del modelo a través del esquema de la base de datos, es decir, el usuario crea la base de datos y la herramienta automáticamente lee el esquema de tablas y relaciones y crea un modelo ajustado.
  • Abstracción de la base de datos.
  • Reutilización.
  • Permiten persistir objetos a través de un método Orm.Save y generar el SQL correspondiente.
  • Permiten recuperar los objetos persistidos a través de un método Orm.Load.
  • Lenguaje propio para realizar las consultas.
  • Independencia de la base de datos.
  • Incentivan la portabilidad y escalabilidad de los programas de software.

Desventajas de ORM.

  • Tiempo utilizado en el aprendizaje. Este tipo de herramientas suelen ser complejas por lo que su correcta utilización lleva un tiempo que hay que emplear en ver el funcionamiento correcto y ver todo el partido que se le puede sacar.
  • Menor rendimiento (aplicaciones algo más lentas). Esto es debido a que todas las consultas que se hagan sobre la base de datos, el sistema primero deberá de transformarlas al lenguaje propio de la herramienta, luego leer los registros y por último crear los objetos.
  • Sistemas complejos. Normalmente la utilidad de ORM desciende con la mayor complejidad del sistema relacional.
Imagen que muestra el entorno NetBeans y la zona donde operar con Hibernate.

Se define como la característica que posee un software para ejecutarse en diferentes plataformas es decir la portabilidad se refiere exclusivamente a la propiedad que posee un software que le permite ser ejecutado en diferentes plataformas y/o sistemas operativos.

La escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.