Asunto: Re: reflective middleware
Fecha: Fri Mar 3 09:36:22 2000
De: Francisco Dominguez Mateos <f.dominguez@escet.urjc.es>
Hola
Sobre middleware no digo nada.
En cuanto a reflectividad tengo un pelin de experiencia ya que el año
pasado dirigi un pfc que implementaba la reflectividad estructural y de
comportamiento a nivel de sistema operativo en Oviedo3.
Podeis encontrar la presentacion en:
http://fdomingu.escet.urjc.es/Investigacion/Tesis/Oviedo3/PresentacionReflectividad.ppt
o en mi pagina web en la seccion de proyectos fin de carrera.
Basicamente, por reflectividad se entiende:
"La propiedad que tiene un sistema de razonar acerca de sí mismo y
actuar sobre si mismo cambiando su propio comportamiento".
Al final del proyecto y para ilustrar la potencia de la reflectividad se
implemento en unas pocas lineas del lenguaje carbayon un potente shell.
Si a alguien le interesa ver el resto de la documentacion del proyecto o
el .exe de carbayonia y el shell para ejecutarlo y hacer pruebas solo
tiene que pedirmelas.
En cuanto a lo que comenta Angel Garcia, si no lo he entendido mal, se
soluciona estableciendo interfaces estandars. Un control ActiveX se
puede insertar en un container de controles porque ambos soportan un
conjunto de interfaces estandars. Simplemente con saber que un objeto
soporta una interfaz ya sabes el resto de informacion sobre los metodos
que tiene y para que sirve cada uno de sus parametros. Pero para saber
que interfaz soporta un determinado objeto es necesario algun tipo de
reflectividad. Ten en cuenta que la simple sentencia sizeof() de C es
reflectiva.
Venga nada mas, un cordial saludo.
> >Sin embargo, las aplicaciones que se plantean en estos temas son muy
> >limitadas: browsers (para que un humano examine objetos), gateways,
> >monitorizaci'on y poco mas.
> >
> >
> >A mi me parece que ello (reflectividad, introspecci'on, interfase
> >din'amico) es entonces un peque~no enga~no.
> >
>
> Un buen ejemplo *real* del uso de técnicas de "Reflection" es el de
> las herramientas visuales que permiten ensamblar componentes para construir
> aplicaciones gráficamente (parte de la aplicacion). Un ejemplo es el modelo
> de componentes JavaBeans, y las herramientas (casi todos los IDEs para Java)
> que permiten ensamblar JavaBeans. Este tipo de herramientas necesitan
> descubrir en *tiempo de ejecución* determinados aspectos de los
> JavaBeans (ej.: propiedades, listeners, etc.), e invocar *dinámicamente*
> algunos de sus métodos y/o generar código. Otro ejemplo real lo tienes con
> el modelo de componentes de Microsoft, y las herramientas que permiten
> ensamblarlos (ej.: Visual Basic). El modelo de componentes de CORBA
> también permitirá scripting (vía herramientas del estilo de Visual Basic),
> por lo que también necesita apoyarse en técnicas de Reflection
> (CORBA ya dispone de soporte para este tipo de técnicas: DII + IR).
>
> De hecho, la mayor parte de los modelos de componentes se apoyan en este tipo
> de técnicas para permitir precisamente eso: "ensamblado de componentes con
> herramientas gráficas", lo que es fundamental para acelerar el desarrollo de
> aplicaciones.
>
> -------------------------------------------
> Fernando Bellas Permuy.
> Estudio de Ingeniería Telemática CESAT.
> Almirante Francisco Moreno, 5, Planta Baja.
> Ciudad Universitaria. 28040 Madrid.
> Tel : +34-91-4590001
> Fax : +34-91-4597555
> E-mail : fer@cesat.es
> -------------------------------------------
--
Francisco Dominguez Mateos
Escuela Superior de Ciencias Experimentales y Tecnología
Universidad Rey Juan Carlos Tlf: +34 91-488-7004
Campus de Móstoles. FAX: +34 91-664-7490
C/ Tulipán, s/n 28933 Mostoles, MADRID mailto:f.dominguez@escet.urjc.es
Despacho 332 http://fdomingu.escet.urjc.es