Hola en esta oportunidad mostrare una integración bien interesante se trata de la integración de
Spring 3 con un Motor de datos
No-Relacional osea Orientado a Objeto llamado
MongoBD y todo administrado con el estándar
maven .
Explicando un poco podemos decir que al maneja BD relacionales como
Oracle, SQLServer, MySql, DB2 dentro de un App Web independientemente del lenguaje que te tenga la aplicación, uno sacrifica mucho tiempo al momento de realizar el Mapping de los Objetos (Beans) a sentencias
SQL o
JOINs para uno traer los datos respectivos. Una solución a esto es usar un
Framework ORM que facilite este mapping y haga de tu persistencia que luzca como un seudo manejo orientado a objetos. Pero en si, si se desea ganar ese tiempo perdido en el mapping se lograría la usar Bases de datos no relacionales como
MongoDB siguiendo la tendencia del
NoSql que tan bien les ha ido a grandes como:
Twitter, Facebook, etc. Lo
ORM relacionado a los
CRUD y
QUERYs de persistencia, nos ayuda a ya no tener que estar ejecutando SQL sino que de frente orientar todo a un pseudo manejo orientado a OBJETOS ya que tu programación si es que ya esta orientada a objetos es ilógico que lo tengas de transformar a:
NO OBJETOS (DB Estructural) para guardar persistir en BD. Para eso son los
ORM nos brindan una capa de mapping automática para poder persistir mas fácilmente COMO DEBE DE SER.
Al Integrar con
BD Orientadas a Objetos aumentamos la rapidez de nuestros aplicativos, ya que nos olvidamos en si de la capa de
ORM (Mapping) sino que de frente persistiremos nuestros objetos cargados.
Iniciaremos el post explicando un poco como descargar e instalar
MongoDB en un ambiente
WINDOWS XP:
1. DESCARGAR [MONDODB]: MongoDB., que es el servidor de BD.
2. DESCARGAR [MONGOVUE]: MongoVue., que es la herramienta por excelencia para administrar
MongoDB .
INSTALACION MONGODB: Luego de descargar el
zipeado de MONGODB .
PASO #0: Configurar variables de entorno que apunten al directorio
BIN en la ruta
del zipeado descargado de
MONGODB .
DENTRO DE [PATH] EN VARIABLES DE ENTORNO APUNTAR: C:\JAVA\MONGODB\mongodb_win32_v1.6.5\bin PASO #1: C:\> mkdir "C:\JAVA\MONGODB" PASO #2:
C:\> cd "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\bin"
C:\JAVA\MONGODB\mongodb_win32_v1.6.5\bin> mongod PASO #3: CREAR DIRECTORIOS:
C:\> mkdir "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\data"
C:\> mkdir "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\data\db"
C:\> mkdir "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\logs"
C:\> mkdir "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\conf" PASO #4: INICIAR EL SERVICIO [MongoDB]:
mongod --logpath "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\logs\log.txt" --dbpath "C:\JAVA\MONGODB\mongodb_win32_v1.6.5\data" --install PASO #5: INICIAR EL BD: - OPCION #1 [DIRECTA]: C:\>net start "MongoDB" - OPCION #2 [ADMNISTRADOR SERVICIOS]: C:\>services.msc , luego buscar el servicio "MongoDB" e iniciarlo.
PASO #6: PROBAR CONEXION DESDE CONSOLA: C:\> mongo
> 10+10
6
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find(){ _id : ..., a : 1 }
> show dbs
...
> show collections
...
>exit
bye PASO #[EXTRA]: - 'REPARAR' SERVICIO [MongoDB]: mongod --repair - 'ELIMINAR' SERVICIO [MongoDB]: mongod --remove Ya tenemos instalados MongoDb ahora requerimos lo siguiente:
- Eclipse v3.6 (Plugin Maven).
- Tomcat 6 (Instalado).
- Maven (Ya configurado). 1. Iniciamos el cliente MONGOVUE y nos conectamos a la BD: 2. El Dummy al ser cargado en Eclipse y desplegado en Tomcat mostrara la siguiente interfaz: 3. Al procesar el APP se ejecutara el Servlet: ValidaMongoDbServlet, que probara los escenarios comunes que se pueden dar al trabajar con procesos transaccionales (CRUD y QUERYs), pero esta vez no apoyándonos en un ORM sino que persistiendo en un BD orientada a objetos [MongoDB]. Los procesos a testear son los siguientes:
- registrarUsuario
- loginUsuario
- actualizarUsuario
- obtenerUsuario
- obtenerListaUsuarios
- eliminarUsuario
Finalmente, veremos que el
Dummy ha creado el esquema:
DB_PLANTILLA en MongoDB y la Colleccion (Tabla): TB_USUARIOS, donde se registraron 2 registros que en el transcurso del Dummy se han creado y modificado. Lo intersante es que MongoDB al reliaza un persistencia de un
Objeto aninado (AGREGACION o COMPOSICION), este lo guarda de forma directa en su propio registro de BD, esto se prueba apreciar mediante la herramienta cliente en la relacion
USUARIO - PRODUCTO que hemos probado.
Para un mejor entendimiento del manejo de este Framework, puedes descargar el proyecto 'Eclipse Mavenizado' completo:
AQUI.