Si la semana pasada os hablé del ODM de Doctrine2 (por cierto, todavía en beta por lo que es una tecnología en crecimiento) hoy vamos hablar de Morphia, otro ODM un poco mas pulido ya que el creador de la tecnología es el mismo Google.
Todos sabemos que la mayoría de las herramientas de Google son una maravilla y la motivación de esta herramienta es la de proporcionarnos agilidad en el desarrollo con MongoDB, abstraernos y proporcionárnos un mayor alto nivel en el acceso a los datos. Precisamente ese es el objetivo principal del proyecto: proveernos velocidad, facilidad y la manera de usar las fortalezas que nos proporciona Java para aprovechar las características de MongoDB.
Hasta ahora la forma de comunicarse con MongoDB desde Java era el driver que nos aportaba este, el cual nos proporciona un acceso a los datos a través de Mapas de Objetos bastante maleable y consistente, sin embargo los desarrolladores piensan que puede ser algo complicado. Por ello Google con esta librería desea que podámos mantener el control de los datos, mientras el desarrollo sigue los principios y buenas prácticas de Java.
Entre las características/principios que aporta nos encontramos:
- Empleo de POJOS en la capa de negocio
- Configuración basada en anotaciones
- Interfaz de consulta intuitiva y sencilla
- Flexibilidad en objetos del modelo
- Proporción de interfaz abstracto para aplicar el patrón DAO
Uno de los principios se trata de la facilidad de instanciar clases java y añadir información a sus campos en contraposición con el de persistir los datos en fuentes de datos externas que pueden provocar ciertos errores. Al igual que pasaba con Doctrine, este tipo de herramientas está basada en los ORM de las bases de datos relacionales. Google nos ha preparado un framework basado en los conceptos de JPA e Hibernate, pero orientado a MongoDB.
Morphia lo podéis encontrar en su web oficial totalmente accesible donde podréis encontrar mucha mas información. De momento esto se ha tratado de una breve introducción, en las próximas semanas escribiré un artículo de primer contacto con Morphia y Mongo, persistiendo nuestros primeros datos.
La url del repositorio del desarrollo es la siguiente: https://github.com/mongodb/morphia
El siguiente framework lo emplee en una asignatura de la carrera donde diseñamos un sistema de distribución de cafés. Aquí está el proyecto subido a github: https://github.com/adrianalonso/TeleCafe