Arquitectura variados

Solo disponible en BuenasTareas
  • Páginas : 10 (2382 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de agosto de 2010
Leer documento completo
Vista previa del texto
Arquitecturas Reflexivas y Generación de Código

Arquitecturas Reflexivas y Generación de Código.
1.- Empezemos con un ejemplo: AnotherAmazon.com . 2.- Generación de código fuente (o desarrollo manual en su defecto).. 3.- Qué es una arquitectura reflexiva. 4.- Cuándo desarrollar una arquitectura reflexiva.

1.- Empezemos con un ejemplo: AnotherAmazom.com. Imaginemos que recibimos el encargode construir un portal comercial orientado a la venta por internet de artículos de consumo como libros, películas, DVDs, CDs, impresoras, ratones, cámaras fotográficas, reproductores mp3, televisores, y toda clase de consumibles electrónicos. Cada uno de estos tipos de objetos se definen por sus características. De hecho tendremos: Características que aparecerán en todos los objetos, como porejemplo el precio que el comprador debe pagar para poder obtenerlo, así como un peso y volumen, elementos a tener en cuenta en cuanto al transporte, etc. Un conjunto de atributos particulares para cada tipo de objeto. Por ejemplo en las cámaras digitales fotográficas la resolución máxima de definición (medida en megapíxeles), o por ejemplo en los CDs y DVDs la duración de las películas o discos demúsica que contengan. Para la gestión de toda esta información, surge de forma evidente la necesidad de guardar todos los datos en bases de datos, de tal forma que podamos gestionar la información de forma adecuada, con todas las garantías que nos da este tipo de software. Para la finalidad de lo que así se explica consideraremos que tendremos una tabla por cada tipo de objeto, cuyos campos serán lascaracterísticas (tanto comunes como particulares) de ese tipo de objeto. De esta forma la información asociada a cada objeto se guardará en la tabla del tipo al que pertenezca, por ejemplo los libros se guardarán en la tabla ‘Libros’. Evidentemente todo esto es una simplificación pero nos sirve para nuestro pequeño. Nuestra tarea consiste básicamente en gestionar la publicación web de toda estainformación (olvidemos el carrito de la compra). Publicar esta información consiste básicamente en permitir al usuario, a través de un navegador web, el poder: Visualizar listados de productos de un determinado tipo. Filtrar estos listados. Visualizar los detalles de un producto específico. Tenemos básicamente dos posibilidades técnicas para llevar a buen puerto esta tarea: Construir o generarcomponentes web para cada una de estas categorías. De esta forma tendríamos un ‘componente ‘(conjunto de páginas JSPs o ASPs) distinto para cada tipo de objetos. De esta forma encapsularíamos en cada componente el conocimiento sobre las características de cada tipología. Tendríamos por ejemplo un Jsp/Asp para listar DVDs (ListDvd.jsp), y otro para visualizar la Moisés D. Díaz. www.moisesdaniel.com Pág.1

Arquitecturas Reflexivas y Generación de Código información asociada a un DVD (ShowDvd.jsp?id=83838). Esto implica tener mucho código que deberemos construir (costoso) o generar, y mantener (muy costoso).

Books

User Books

DVDs User DVDs

...

...

WebServer

User

Mobiles Mobiles

User

Tener un único componente web genérico de tal forma que leyendo las propiedades decada tipo de objeto (datos que guardamos en la tabla MetaInformación), sea capaz de mostrar cualquier objeto sea cual sea su tipo. Podríamos verlo como tener un único Jsp/Asp para listados (List.jsp?type=DVD), y otro para visualizar registros (ShowElement.jsp?type=DVD&id=83838). A la información que describe la estructura de cada tipo de objeto se le llama metainformación. El coste de creaciónpuede ser alto o no serlo, pero el de mantenimiento es muy bajo.

MetaInformation

User

Books Generic Web Component DVDs WebServer ... Mobiles User User User

Moisés D. Díaz. www.moisesdaniel.com

Pág. 2

Arquitecturas Reflexivas y Generación de Código 2.- Generación de Código Fuente (o desarrollo manual en su defecto). Cada tipo de objeto tiene un conjunto de características...
tracking img