[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Transformación de grafos de objetos (OOM)



Hola a todos,

En un proyecto de integración en el que venimos trabajando hemos
necesitado transformar los objetos intercambiados por dos sistemas
legados que manejan diferentes modelos de datos.

Este problema es parecido a aquel con el que nos enfrentamos cuando se
utiliza una base de datos relacional y hay que adaptar el modelo
orientado a objetos de nuestra aplicación al esquema relacional de la
base de datos, o cuando se utilizan instancias XML para representar
entidades del dominio de la aplicación. En estos casos el desarrollador
dispone de múltiples soluciones, tanto para el mapeo objeto/relacional
(ORM: Object/Relational Mapping frameworks): Hibernate [1], iBATIS
SqlMaps [2], Cayenne [3], etc. como para el mapeo objeto/XML (XML Data
Binding frameworks): Castor [4], JiBX [5], etc. Sin embargo, no parecen
existir soluciones parecidas para mapear grafos de objetos, lo que
podríamos llamar un "Object/Object Mapper" (OOM).

Hemos desarrollado un prototipo básico de OOM capaz de transformar
objetos complejos (o grafos de objetos) siguiendo reglas de mapeo
definidas programáticamente o declarativamente (mediante un documento
XML). Su característica principal es que para definir estas reglas de
mapeo se aplican expresiones XPath [6] directamente a objetos Java, en
lugar de a documentos XML.

Como el problema de "adaptación" se presenta con frecuencia en la
integración de aplicaciones empresariales (EAI) y puede ser aún más
importante cuando las arquitecturas orientadas a servicios (SOA) cobren
fuerza, nos estamos planteando perfeccionar el prototipo y añadirle más
funcionalidad. Antes de reinventar la rueda nos gustaría saber si
conocéis de la existencia de algún producto o solución en este campo.

Un saludo,

[1] http://www.hibernate.org/
[2] http://www.ibatis.com/common/sqlmaps.html
[3] http://www.objectstyle.org/cayenne/
[4] http://www.castor.org/
[5] http://jibx.sourceforge.net/
[6] http://www.w3.org/TR/xpath


--
Rafael Luque, <rafael.luque[at]orange-soft.com>
Orange Software