[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Transformación de grafos de objetos (OOM)
- To: <mindfood@xxxxxxxxxxxxxxx>
- Subject: Transformación de grafos de objetos (OOM)
- From: "Rafael Luque Leiva" <rafael.luque@xxxxxxxxxxxxxxx>
- Date: Fri, 2 Jul 2004 18:20:04 +0100
- Delivered-to: mailing list mindfood@orange-soft.com
- Delivered-to: moderator for mindfood@orange-soft.com
- Importance: Normal
- Mailing-list: contact mindfood-help@orange-soft.com; run by ezmlm
- Organization: Orange Soft
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