web 2.0

miércoles, 2 de junio de 2010

DB4O: Una Base de Datos Orientada a Objetos

DB4O es una Base de Datos Orientada a Objetos que cumple muy bien su función, persistir datos de aplicaciones de pequeña y mediana escala.

Los modelos Relacional y Orientado a Objetos son ciertamente incompatibles, en términos simples, al desarrollar una aplicación con Base de Datos no almacenamos objetos, si bien nos va, utilizando un patrón de diseño DAO podemos "abstraer" un poco la complejidad de la persistencia en la capa web y pasarla a una capa de persistencia para que sea otra persona quien la implemente, o mejor aún, de una forma más sofisticada emplear un Framework ORM como Hibernate. Pero en el peor de los casos, al trabajar con una BD Relacional utilizamos variables escalares y enviamos sus valores a la BD.

Sin entrar en polémica sobre la utilización o no utilización de SQL embebido código de un Lenguaje de alto nivel  o la utilización de un ORM, es bueno considerar a DB4O como una alternativa real y potente para muchos de los proyectos que podamos desarrollar.

Su utilización es tan fácil que para abrir una conexión basta hacer algo como:

ObjectContainer db = Db4o.openFile(DB4OFILENAME);

Y para persistir información basta con escribir:

db.store(usuario);
db.close();

Sin mapeos, ni XML, ni SQL, ni concatenación de variables a String que contiene SQL!! Basta con crear el objeto y emplear el método save.



Existe una versión de DB4O para Java y una más para C#, mismas que pueden descargarse de la página oficial.Para nuestro ejemplo en Java basta con agregar a nuestro entorno de programación (Eclipse, NetBeans, etc) el archivo db4o-7.4.88.12908-java5.jar.

Al descargar la librería de la página oficial, nos vendrá con una completa documentación, incluido un muy buen tutorial en ingles y español sobre su utilización.

Un sencillo y austero ejemplo en NetBeans se puede descargar de aquí



2 comentarios:

angel dijo...

como hacer ping o mas bien como se conecta db4o en netbans en

david dijo...

el lin del ejemplo no esta deberias aser un video o un documento con capturas jeje

Publicar un comentario