scieee AI-readable full text Open interactive document viewer

Hacia la separación de enlaces en sistemas web

Reina Quintero, Antonia María; Torres Valderrama, Jesús

Abstract

El volumen de negocio que se genera en la red es cada vez mayor. Las aplicaciones web tienen características diferenciadoras con respecto a las aplicaciones tradicionales. Por ello, ha surgido una nueva disciplina conocida como ingeniería web. Este artículo propone un enfoque basado en la separación de conceptos para mejorar la evolución de las aplicaciones web. Esta propuesta se basa en las ideas aplicadas al sistema de evolución de bases de datos SADES, centrándose sobre todo en las relaciones dinámicas, ya que este tipo de relaciones se pueden aplicar muy bien a los enlaces de navegación.

Full text

Hacialaseparaci´on de enlaces en sistemas web A. M. Reina Quintero1and J. Torres Valderrama1 Dpto. Lenguajes y Sistemas Inform´aticos. E.T.S. Ingenier´ıa Inform´atica. Avda. Reina Mercedes, s/n. 41007 Sevilla, Espa˜na {reinaqu, jtorres}@lsi.us.es http://www.lsi.us.es/~reinaqu Resumen El volumen de negocio que se genera en la red es cada vez mayor. Las aplicaciones web tienen caracter´ısticas diferenciadoras con respecto a las aplicaciones tradicionales. Por ello, ha surgido una nueva disciplina conocida como ingenier´ıa web. Este art´ıculo propone un enfoque basado en la separaci´on de conceptos para mejorar la evoluci´on de las aplicaciones web. Esta propuesta se basa en las ideas aplicadas al sistema de evoluci´on de bases de datos SADES, centr´andose sobre todo en las relaciones din´amicas, ya que este tipo de relaciones se pueden aplicar muy bien a los enlaces de navegaci´on. 1. Introducci´on En los ´ultimos a˜nos, gracias al r´apido crecimiento de Internet, y a la proliferaci´on de los ordenadores dom´esticos, los negocios en la red se han convertido en una fuente importante de ingresos para las empresas. As´ı, muchas de las aplicaciones actuales se proyectan para ser utilizadas en entornos distribuidos con interfaces web. El r´apido crecimiento del n´umero de este tipo de aplicaciones, as´ı como el hecho de que presentan una serie de caracter´ısticas diferenciadoras con respecto a las aplicaciones tradicionales (su corto periodo de desarrollo o la importancia de la navegaci´on), han provocado la aparici´on de una nueva disciplina conocida como ingenier´ıa web, que se preocupa de investigar la problem´atica asociada a este tipo de aplicaciones. La investigaci´on en ingenier´ıa web se ha centrado, sobre todo, en la definici´on de metodolog´ıas y lenguajes de modelado que se adec´uen mejor a las particularidades de las aplicaciones web que las metodolog´ıas y lenguajes tradicionales. Adem´as, se ha buscado dotar de un proceso ingenieril al desarrollo de este tipo de proyecto software, ya que se ha pasado en un corto periodo de tiempo de aplicaciones que eran simples repositorios de informaci´on a tener que tratar con complejos sistemas distribuidos. Los autores de estas metodolog´ıas y lenguajes de modelado han sido conscientes, sobre todo a partir de OOHDM [14], de las ventajas de la separaci´on de conceptos. As´ı, la mayor´ıa de las propuestas como UWE [1], OO-H [5], WSDM [3], e incluso la propia OOHDM, trabajan con modelos separados para los esquemas de navegaci´on, presentaci´on y conceptual. En este art´ıculo, se realiza un an´alisis del metamodelo de UWE, y de las clases generadas por ArgoUWE [7], la herramienta CASE asociada a esta metodolog´ıa. Se observa que estas clases generadas contienen informaci´on de las relaciones entre las mismas, y tomando como inspiraci´on las ideas aplicadas en el desarrollo de SADES [12] (un sistema de evoluci´on de bases de datos de objetos personalizable y extensible), se propone aplicar el concepto de relaciones din´amicas ya que mejora la flexibilidad y la mantenibilidad de la aplicaciones generadas. La distribuci´on del art´ıculo es la siguiente: En primer lugar, en la secci´on 2 se da una idea somera del metamodelo de UWE [8]. En la secci´on 3, se describe brevemente el sistema SADES, poniendo ´enfasis, sobre todo, en las caracter´ısticas que en nuestra propuesta extenderemosalossistemasweb.Luego,enla secci´on 4 se presenta, en primer lugar, un ejemplo sobre el que se trabajar´a, y en segundo lugar, se mostrar´a nuestra propuesta para mejorar el ejemplo. Finalmente, se concluir´aelart´ıculo y se apuntar´an nuestras l´ıneas futuras de investigaci´on. 2. Metamodelo de UWE En el campo de la ingenier´ıa web han surgido numerosas propuestas de metodolog´ıas y lenguajes de modelado (OOHDM [14], UWE [1], OO-H [5], WSDM [3], ...), teniendo todas ellas como elemento com´un fundamental el hecho de que proponen modelos separados para especificar los esquemas conceptual, de navegaci´on y de presentaci´on. Debido al gran maremagnum de metodolog´ıas y lenguajes de modelado, en [13] se propon´ıa la definici´on de un lenguaje com´un de modelado. Koch en [8] va un paso m´as all´a y propone la definici´on de un metamodelo com´un para el desarrollo de aplicaciones web como forma de unificar los distintos constructores de modelado de las distintas propuestas de metodolog´ıas web. Como primer paso para este metamodelo com´un, los autores definen un metamodelo para UWE, su propia metodolog´ıa. El metamodelo de UWE puede verse como una extensi´on conservadora del metamodelo de UML, de tal forma que los elementos del metamodelo de UWE heredan las propiedades de al menos un elemento del metamodelo de UML. En la Figura 1, se muestra la estructuraci´on en paquetes del metamodelo de UWE, as´ı como su relaci´on con el metamodelo de UML. Como puede observarse en la misma, en cierto modo, se est´an separando competencias, ya que se gestionan por separado el n´ucleo (que en la Figura 1 se representa como paquete Core), la informaci´on contextual y la de comportamiento. Adem´as, dentro del propio paquete Core se separan el paquete con los constructores para los modelos conceptuales, el de los constructores del modelo de navegaci´on y el de los constructores del modelo de presentaci´on. Los paquetes que aparecen sombreados en gris son paquetes del metamodelo de UML. UWE Fundamentos Core Conceptual Navegacion Presentacion Contexto Usuario Entorno Eltos. Comportamiento Usuario Tarea Gestión Modelos Fundamentos Gestion Modelo Eltos Comportamiento Figura 1. Paquetes del metamodelo de UWE 3. El sistema de evoluci´on de bases de datos de objetos SADES y las relaciones din´amicas SADES [12] es un sistema de evoluci´on de bases de datos de objetos, construido como una capa situada por encima del sistema de gesti´on de bases de datos comercial Jasmine. Para desarrollarlo los autores emplearon el principio de separaci´on de conceptos durante todas las etapas de desarrollo. La separaci´on de conceptos se realiza mediante un planteamiento h´ıbrido, en el sentido de que se utilizan diferentes enfoques para separar conceptos. Es decir, para cada concepto o conjunto de conceptos relacionados se estudia cu´al es la t´ecnica de separaci´on m´as apropiada para implementarlo. Un elemento importante en este tipo de sistemas es la caracterizaci´on de las relaciones entre elementos. Hay autores [4] que caracterizan las relaciones entre clases como relaciones est´aticas, ya que se fijan en tiempo de compilaci´on, mientras que las relaciones entre instancias las clasifican como din´amicas ya que pueden cambiar en tiempo de ejecuci´on. Rashid en [11], sin embargo, difiere de esta opini´on y afirma que las relaciones entre clases no tienen por qu´e ser fijadas en tiempo de compilaci´on, sino que pueden cambiar en tiempo de ejecuci´on. Esteenfoquederelacionesdin´amicas es el que se emplea para implementar los distintos tipos de relaciones existentes en SADES. En la Figura 2 se muestran los dos tipos de relaciones entre los diferentes elementos: relaciones inter-espacios (dibujadas con una l´ınea continua) y relaciones intra-espacios (trazadas con l´ıneas discont´ınua). As´ı, una relaci´on se definir´a como un constructor sem´antico y, posteriormente, se transformar´a directamente en la implementaci´on. En [12] se demuestra que la informaci´on sobre las conexiones entre entidades corta a las propias entidades. Para conseguir la separaci´on de las informaci´on de las relaciones y las propias entidades en SADES se elige como mecanismo de separaci´on los filtros de composici´on [2]. Este art´ıculo propone la extensi´on del concepto de relaciones din´amicas definido en [11] para ser utilizado en herramientas de desarrollo de sistemas web. Metaclase Clase 1 Clase 2 Objeto1 Objeto2 ESPACIO METACLASES ESPACIO META-OBJETOS ESPACIO OBJETOS Figura 2. Relaciones entre espacios de SADES 4. Separaci´on de enlaces Los autores de UWE han implementado una herramienta CASE llamada ArgoUWE [7] para dar soporte a la fase de dise˜no del proceso de desarrollo UWE. ArgoUWE est´a implementada como un plugin de la herramienta de modelado de c´odigo abierto ArgoUML. Para explicar mejor la problem´atica, hemos modelado un sistema de gesti´on de publicaciones de grupos de investigaci´on, utilizando la herramienta ArgoUWE, con idea de analizar el c´odigo que genera. A partir de ahora nos referiremos a ´el como ejemplo de publicaciones. En el apartado 4.1 se presentar´a el ejemplo de trabajo y se analizar´an las clases generadas por ArgoUWE, mientras que en el apartado 4.2, se presentar´a nuestra propuesta para mejorar esta generaci´on aplicando la idea de relaciones din´amicas. 4.1. Ejemplo y an´alisis del c´odigo generado por ArgoUWE El modelo conceptual del ejemplo de publicaciones se muestra en la Figura 3. En este diagrama, aparecen las clases estereotipadas, ya que UWE define las clases conceptuales como un estereotipo de la metaclase Class del metamodelo de UML, y define una representaci´on gr´afica (un c´ırculo en la parte superior derecha) para representar este estereotipo. El modelo de navegaci´on para el mismo ejemplo se muestra en la Figura 4. Para el modelo de navegaci´on, adem´as de definir un estereotipo para las clases de navegaci´on (v´eanse los constructores del paquete de navegaci´on en la Figura 5), cuyo s´ımbolo gr´afico es un rect´angulo en la parte superior derecha de la clase estereotipada, se a˜naden nuevos constructores, tales como ´ındices, menus, queries y visitas guiadas. En el diagrama del ejemplo se pueden observar un men´u(MenuPPal), ´ındices (AuthorByName,ItemByYear eItemByYearByKind), y una estructura tipo query (SearchByKeyword). Figura 3. Modelo Conceptual del Sistema de Gesti´on de Publicaciones de Grupos de Investigaci´on En la Figura 5, tambi´en se puede observar que el enlace se trata como ciudadano de primera clase en el metamodelo. Sin embargo, si analizamos la estructura de las clases que genera la herramienta ArgoUWE, podremos comprobar que la informaci´on de la relaci´on entre las clases est´a embebida en las mismas. Si nos fijamos en la generaci´on de las clases conceptuales, veremos que la clase BibliographicItem se genera con un atributo de tipo Vector llamado author, que contendr´a las referencias al conjunto autores de una referencia bibliogr´afica; mientras que la clase Author se genera con un atributo, tambi´en de tipo Vector, llamado publication, que contendr´a las referencias a las publicaciones del autor. De la misma forma, las clases generadas a partir del modelo navegacional contienen informaci´on de las relaciones entre clases. As´ı,apartirdelaestructura de acceso MenuPpal, se genera una clase con tres atributos, un atributo de tipo AuthorByName, otro atributo de tipo SearchByKeyword,ypor´ultimo, otro de tipo Vector para almacenar referencias a los items bibliogr´aficos. 4.2. Propuesta de mejora utilizando enlaces din´amicos El enfoque de relaciones din´amicas presentado en la secci´on 3 es ideal para los sistemas web, sobre todo debido a que son sistemas que pueden cambiar con facilidad, y al hecho de que la navegaci´on requiere una definici´on de enlaces flexible, que pueda ser cambiada de forma din´amica. Por lo tanto, con este esquema se puede mejorar la mantenibilidad y la flexibilidad. As´ı, proponemos el reflejo de la entidad Enlace que aparece en el metamodelo de UWE (Figura 5) directamente en implementaci´on. Para ello, necesitamos Figura 4. Modelo navegacional del ejemplo de gesti´on de publicaciones Clase(Fundamento.Core) -esHito : Boolean NodoNavegacion ClaseNavegacion Menu -url : String NodoExterno 0..1 * Asociacion(Fundamentos.Core) -esAutomatico : Boolean Enlac EnlaceExterno EnlaceNavegacion EnlaceTare +origen 1+EnlacesSalientes * +destino 1..* +enlacesEntrantes * * 1..* {derivado} {derivado} Figura 5. Paquetes del metamodelo de UWE definir una clase Enlace en el espacio de los meta-objetos. De esta forma, la informaci´on sobre la relaci´on entre entre nodos se encapsula y se separa de los propios nodos. Bas´andonos en el razonamiento presentado en SADES, los filtros de composici´on son los candidatos ideales para situaciones en las que hay que interceptar mensajes. Por lo tanto, tendremos que adaptar el mecanismo de intercepci´on de mensajes para que cualquier mensaje que manipule enlaces entre nodos de navegaci´on sea recibido por el objeto Enlace y no por las entidades conectadas mediante estos enlaces. 5. Conclusiones y trabajo futuro En este art´ıculo presenta un acercamiento en una fase muy inicial a la implementaci´on de un sistema generador de aplicaciones web, que tiene como requisitos la separaci´on de conceptos durante todo su desarrollo. Como han hecho algunas de las metodolog´ıas de ingenier´ıa web, se propone extender una idea aparecida en el campo de las bases de datos a los sistemas web. Esta idea surge debido a la observaci´on del mismo tipo de elementos en las bases de datos que en los sistemas web. Utilizando el enfoque de relaciones din´amicas para el desarrollo de sistemas web se pueden obtener sistemas m´as flexibles y f´aciles de mantener. Aunque esta la idea presentada en el art´ıculo est´a en un estadio de desarrollo muy temprano, se pretende seguir profundizando en esta l´ınea, as´ıcomointegrar las conclusiones obtenidas en esta l´ınea, en las construcci´on de un framework conducido por modelos, y basado en la filosof´ıa MDA. Referencias 1. H. Baumeister, N. Koch, and L. Mandel. Towards a uml extension for hypermedia design. In UML99 The Unified Modelling Language - Beyond the Standard. Springer-Verlag Lecture Notes in Computer Science, October 1999. 2. L. Bergmans and M. Aksit. Aspect-Oriented Software Development, chapter 4, pages 63–95. Addison-Wesley, 2005. 3. O. de Troyer and C. Leuner. Wsdm: A user centered design method for web sites. In Proceedings of the 7th International World Wide Web Conference. Elsevier, 1998. 4. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison Wesley, 1995. 5. J. G´omez, C. Cachero, and O. Pastor. Extending a conceptual modelling approach to web application design. In Proceedings of the Conference on Advanced Information Systems Engineering, pages 79–93, 2000. 6. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag, June 1997. 7. A. Knapp, N. Koch, F. Moser, and G. Zhang. Argouwe: A case tool for web applications. In Proceedings of the First Int. Workshop on Engineering Methods to Support Information Systems Evolution (EMSISE´03), Sept 2003. 8. N. Koch and A. Kraus. Towards a common metamodel for the development of web application. In Proceedings of the Third International Conference on Web Engineering (ICWE 2003). Springer-Verlag Lecture Notes in Computer Science, July 2003. 9. A. Kraus and N. Koch. A metamodel for uwe. Technical Report 0301, Institut fur Informatik, Ludwig-Maximilians-Universitat Munchen, January 2003. 10. Mira Mezini and Karl Lieberherr. Adaptive plug-and-play components for evolutionary software development. In C. Chambers, editor, OOPSLA, pages 97–116. ACM, October 1998. 11. A. Rashid and P. Sawyer. Dynamic relationships in object oriented databases: A uniform approach. In Proceedings of the Database and Expert Systems Applications (DEXA 99), number 1677, pages 26–35. Springer-Verlag Lecture Notes in Computer Science, 1999. 12. Awais Rashid. A hybrid approach to separation of concerns: The story of SADES. In A. Yonezawa and S. Matsuoka, editors, Metalevel Architectures and Separation of Crosscutting Concerns 3rd Int’l Conf. (Reflection 2001), LNCS 2192, pages 231–249. Springer-Verlag, September 2001. 13. A. M. Reina, J. Torres, M.J. Escalona, and J. A. Ortega. Revisiting requirements in web modelling languages. In Proceedings of the IADIS WWW/Internet 2003 Conference, 2003. Aceptado para publicaci´on. 14. D. Schwabe, G. Rossi, and S. Barbosa. Systematic Hypermedia Design with OOHDM. In ACM International Conference on Hypertext’ 96, 1996.