From: Jorge C. <jor...@ya...> - 2003-11-19 01:53:32
|
Hola. Tengo un par de cosas que plantear: 1) en que vamos a hablar dentro del proyecto? Ingles/Español/Frances/Portugues/Aleman/Chino/Esperanto? 2) les planteo una arquitectura que estoy desarrollando y mi situación en el proyecto. Por ahora las interfaces que están en PersistentCollectio, Selector y ObjectBase me cierran, y por esa razón me avoqué a intentar persistir algo... esto me llevó a ver los siguientes problemas: - ser "no intrusivos" es complicado, evidentemente vamos a necesitar acceder al estado del objeto desde afuera. Para hacerlo me incliné por usar reflection (otra alternativa es usar una lib como javassist, que igualmente pretendo usar). Usando reflection estoy empezando a generar un XML del objeto con todos, TODOS (incluyendo todos los de las superclases). Con este esquema logramos ser poco intrusivos, las clases persistidas tienen que tener un constructor vacío (podría extenderse esto tocando el bytecode, pero de todas maneras hay clases que no se pueden tocar) y que los atributos que son de clases "asociadas" a algo físico no pueden ser replicados satisfactoriamente (si adentro del objeto tiene un fileOutputStream, no es posible volverlo al estado en que estaba). Este mecanismo de reflection debería servir también para poder copiar los objetos. Esto que parece tan simple, me está tomando algo de tiempo, pero me gustaría validarlo con Uds. - la otra cosa es que el mecanismo de reflection no alcanza para lo que queremos hacer. Es necesario extender las clases (el bytecode, sea en tiempo de compilación o de carga) para agregar "transparentemente"/"no intrusivamente" algunos atributos y funcionalidad, tales como un OID (para que objetos que representan el mismo objeto sean realmente el mismo objeto con dos referencias), constructores especiales, etc. - proxies, creo que la idea de proxies es viable y haría casi la transparencia absoluta... por ahora no pensé mucho en el asunto, pero creo que vamos a usarlos. Me gustaría tener las opiniones de todos respecto del camino que planteo. También me gustaría que alguien empiece a tomar postas de los temas pendientes. Un abrazo Jorge PD: no se van a quejar, vamos a meter reflection/bytecode handling/proxies y además nuestra OB va a permitir que miles de programadores sean felices. __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree |