30.12.2012 Views

geração (semi)automática de metadados - Universidad Autónoma ...

geração (semi)automática de metadados - Universidad Autónoma ...

geração (semi)automática de metadados - Universidad Autónoma ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DISEÑO DE UNA HERRAMIENTA PARA EL<br />

DESARROLLO DE APLICACIONES WEB BASADAS EN<br />

STRUTS<br />

A<strong>de</strong>lai<strong>de</strong> Bianchini, Ricardo Blanch, Maruja Ortega, Ascán<strong>de</strong>r Suárez<br />

Dpto. <strong>de</strong> Computación y Tecnología <strong>de</strong> la Información<br />

<strong>Universidad</strong> Simón Bolívar - Caracas, Venezuela<br />

{abianc, bricardo, mof, suarez}@ldc.usb.ve<br />

RESUMEN<br />

En este artículo se presenta una herramienta <strong>de</strong> apoyo para el diseño y <strong>de</strong>sarrollo <strong>de</strong> aplicaciones Web basadas en Struts.<br />

La herramienta se apoya en una metodología que a partir <strong>de</strong> la i<strong>de</strong>ntificación <strong>de</strong> los casos <strong>de</strong> uso conduce a la <strong>de</strong>scripción<br />

<strong>de</strong>l controlador <strong>de</strong> la aplicación mediante un grafo <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong>nominado grafo Struts. Este se construye a partir<br />

<strong>de</strong> las Vistas y Acciones <strong>de</strong>finidas en Diagramas <strong>de</strong> Comportamiento que <strong>de</strong>scriben los casos <strong>de</strong> Uso <strong>de</strong> la aplicación. La<br />

herramienta facilita la construcción <strong>de</strong> las JSP y las clases que implementan las Vistas y Acciones, genera a partir <strong>de</strong>l<br />

grafo Struts el servlet correspondiente al controlador <strong>de</strong> la aplicación y provee facilida<strong>de</strong>s para la <strong>de</strong>finición <strong>de</strong> datos<br />

vivos y datos persistentes. Adicionalmente, la herramienta genera productos que forman parte <strong>de</strong> la documentación <strong>de</strong> la<br />

aplicación.<br />

PALABRAS CLAVE<br />

Ambientes <strong>de</strong> <strong>de</strong>sarrollo Web, MVC, Struts.<br />

1. INTRODUCCIÓN<br />

Conferência IADIS Ibero-Americana WWW/Internet 2007<br />

El diseño <strong>de</strong> aplicaciones Web es una tarea compleja que requiere <strong>de</strong> la integración <strong>de</strong> diferentes métodos y<br />

técnicas, e involucra una gran variedad <strong>de</strong> tecnologías. En el caso <strong>de</strong> aplicaciones basadas en Java esto<br />

incluye HTML, JSP, JavaScript, XML, Enterprise JavaBeans, Java Database Connectivity (JDBC), entre<br />

otras. Algunas <strong>de</strong> estas tecnologías son utilizadas para manejar elementos <strong>de</strong> presentación y otras para<br />

resolver lo relacionado con la funcionalidad <strong>de</strong> la aplicación. Ambos aspectos requieren <strong>de</strong> habilida<strong>de</strong>s<br />

bastante diferentes <strong>de</strong> parte <strong>de</strong>l <strong>de</strong>sarrollador, lo que conduce a la necesidad <strong>de</strong> una separación <strong>de</strong> tareas.<br />

Esta separación <strong>de</strong> tareas es una <strong>de</strong> las principales razones por la que el patrón <strong>de</strong> diseño <strong>de</strong> arquitectura<br />

MVC (Mo<strong>de</strong>l – View – Controller) [14], se ha establecido como uno <strong>de</strong> los paradigmas más ampliamente<br />

utilizados para el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones en Internet. Las principales ventajas <strong>de</strong> este patrón son la clara<br />

separación entre las capas <strong>de</strong> presentación y <strong>de</strong> aplicación, lo cual facilita el hacer modificaciones a la<br />

presentación sin afectar la lógica <strong>de</strong>l negocio y viceversa, su adaptabilidad a distintos tipos <strong>de</strong> vistas y<br />

usuarios, y la posibilidad <strong>de</strong> <strong>de</strong>sarrollo por distintos equipos con diferentes habilida<strong>de</strong>s, reduciendo así costos<br />

y tiempo <strong>de</strong> <strong>de</strong>sarrollo.<br />

Entre las distintas implementaciones <strong>de</strong>l patrón MVC, una <strong>de</strong> las más conocidas y difundidas, es el<br />

framework o ambiente <strong>de</strong> trabajo Struts [12], <strong>de</strong>sarrollado sobre la plataforma J2EE [7]. Esta herramienta<br />

aporta una infraestructura para el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones Web que facilita la separación entre la<br />

presentación y la lógica <strong>de</strong> la aplicación, así como la integración entre ambas capas, <strong>de</strong>jando en manos <strong>de</strong>l<br />

programador especializado la implementación <strong>de</strong> la lógica <strong>de</strong>l negocio, almacenamiento y acceso a los datos.<br />

En una aplicación Web basada en Struts, el eje central lo constituye el controlador, siendo este elemento<br />

el encargado <strong>de</strong> recibir las solicitu<strong>de</strong>s <strong>de</strong> los clientes (las Vistas) y <strong>de</strong> distribuirlas a los distintos elementos <strong>de</strong><br />

la aplicación que se encargarán <strong>de</strong> dar respuesta a estas solicitu<strong>de</strong>s (las Acciones). Las Acciones establecen la<br />

conexión con los elementos que implementan la lógica <strong>de</strong>l negocio y el mo<strong>de</strong>lo <strong>de</strong> datos (el Mo<strong>de</strong>lo),<br />

obteniendo las respuestas que <strong>de</strong>be dar el sistema a los requerimientos <strong>de</strong>l usuario. Una vez obtenida la<br />

respuesta, el controlador <strong>de</strong>termina la Vista mediante la cual se mostrará la respuesta al usuario.<br />

91

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!