Una Aplicaci´
on basada en Eclipse para la
Personalizaci´
on de Aplicaciones Web Dirigida
por Modelos
Irene Garrig´os, Octavio Glorio, and Paul Hern´andez Lucentia Research Group
Departamento de Lenguajes y Sistemas Inform´aticos – DLSI Universidad de Alicante, Espa˜na
{igarrigos,oglorio,phernandez}@dlsi.ua.es
1
Introducci´
on
Las aplicaciones Web personalizadas tienen como principal objetivo proveer al usuario una vista espec´ıfica que satisfaga sus necesidades y metas en el sitio Web. De este modo, aumenta la satisfacci´on del usuario, ya que el contenido, navegaci´on y presentaci´on se ajusta a sus requisitos y preferencias encontrando f´acilmente lo que busca.
Las metodolog´ıas de dise˜no Web proveen una aproximaci´on sistem´atica para el desarrollo de aplicaciones Web, y muchas de ellas soportan de alg´un modo el modelado de la personalizaci´on. Sin embargo, ninguna de estas metodolog´ıas proveen una herramienta que permita el modelado, generaci´on autom´atica y de-spliegue de aplicaciones Web personalizadas de una forma completa. Del mismo modo, tampoco existen herramientas para la modificaci´on por parte del dise˜nador de las estrategias de personalizaci´on en tiempo de ejecuci´on, evitando regenerar la aplicaci´on Web desde cero. Como ejemplo, podemos mencionar la herramienta asociada al m´etodo de dise˜no Hera (HPG) [1], en el cual se especifican condi-ciones de visibilidad sobre los elementos de los modelos de dise˜no de Hera. Esta herramienta no realiza la instalaci´on de la aplicaci´on Web generada, y tampoco permite la modificaci´on en tiempo de ejecuci´on de estas condiciones de visibili-dad, ya que est´an embebidas en el c´odigo de las p´aginas Web. Otro ejemplo es WebRatio [2] desarrollada para soportar la metodolog´ıa WebML, s´olo considera la especificaci´on de personalizaci´on est´atica (en tiempo de dise˜no) con respecto a las caracter´ısticas del usuario o el dispositivo, por lo que la generaci´on de este tipo de aplicaciones es similar a la generaci´on de una aplicaci´on Web tradicional (sin personalizaci´on).
La herramienta que se presenta en este art´ıculo se ha creado para dar so-porte al m´etodo de dise˜no A-OOH (Adaptive Object Oriented Hypermedia) [3]. Esta aproximaci´on es la extensi´on del m´etodo de modelado OO-H [4], con so-porte de personalizaci´on. El principal objetivo de la herramienta es la generaci´on autom´atica de aplicaciones Web adaptivas a partir de modelos conceptuales (definidos con A-OOH) y su posterior despliegue. Otro de los objetivos prin-cipales es el mantenimiento de la personalizaci´on en tiempo de ejecuci´on.
Los fundamentos de esta herramienta fueron publicados en [5]. En la actu-alidad, la herramienta ha sido mejorada a˜nadi´endose editores gr´aficos para los modelos en Eclipse, as´ı como permitiendo una instalaci´on autom´atica de la apli-caci´on Web personalizada y los m´odulos necesarios una vez generada. Adem´as, se ha incluido en la herramienta la posibilidad de definir un modelo de requisitos para la aplicaci´on Web presentado en [6], cuyo objetivo final es la generaci´on autom´atica de un primer esqueleto de los modelos conceptuales que el dise˜nador s´olo deber´a refinar.
2
Desarrollo de Aplicaciones Web Personalizadas dirigido
por Modelos
T´ıpicamente, para definir una aplicaci´on Web debemos definir tres modelos de dise˜no principales: unmodelo de dominio, en el cual la estructura de los datos de dominio se define, un modelo de navegaci´on, en el cual la estructura y el comportamiento de la vista de navegaci´on sobre los datos de dominio se define, y finalmente unmodelo de presentaci´on, en el cual se define la presentaci´on de la aplicaci´on. Para modelar la personalizaci´on en tiempo de dise˜no se necesitan dos modelos adicionales: unmodelo de personalizaci´on, en el que se especifican las estrategias de personalizaci´on, y unmodelo de usuarioen el que se especifica la estructura de la informaci´on necesaria para la personalizaci´on.
En [6] se ha a˜nadido al conjunto de modelos de A-OOH, un modelo de req-uisitos basado en i* [7] para la especificaci´on de los requisitos de usuario. Con el fin de que los requisitos sean consistentes con el dise˜no se pretende realizar transformaciones entre modelos con el objetivo de generar un esqueleto de los modelos conceptuales de la aplicaci´on Web. Actualmente tenemos definido un conjunto de reglas de transformaci´on para ciertos modelos conceptuales, pero al no estar completo este m´odulo se encuentra fuera de la herramienta, pudi´endose no obstante, definir el modelo de requisitos de la aplicaci´on Web.
La herramienta presentada toma comoinputel conjunto de modelos de dise˜no de A-OOH, en formato XMI [8] y el motor de generaci´on obtiene el siguiente
output:
– Aplicaci´on Web: Se genera un conjunto de p´aginas Web en ASP.NET. – Base de datos de la aplicaci´on: los modelos conceptuales son mapeados a
una base de datos orientada a objetos.
– M´odulos para gestionar la personalizaci´on: concretamente un motor Web encargado de gestionar los eventos, un m´odulo encargado de evaluar y eje-cutar las reglas de personalizaci´on modificando los modelos conceptuales y generando la(s) p´agina(s) o parte(s) necesaria(s) y un m´odulo para la gesti´on de la personalizaci´on en tiempo de ejecuci´on.
2.1 Implementaci´on
La herramienta propuesta se ha integrado en la plataforma de desarrolloEclipse1 tal como se muestra en la Fig. 1.Eclipsees un proyecto de c´odigo abierto conce-bido como una plataforma modular que puede extenderse mediante plugins para a˜nadir nueva funcionalidad y caracter´ısticas. De este modo, hemos dise˜nado una serie de plugins que nos permiten dise˜nar los modelos conceptuales y a partir de ellos generar una aplicaci´on Web personalizada.
El modelo de personalizaci´on, consiste en un conjunto de reglas Evento-Condici´on-Acci´on, que se definen en el lenguaje PRML(Personalization Rules Modeling Language) [9] de un modo ortogonal al resto de los modelos. Estas reglas se sit´uan en un fichero de texto, de una forma separada al resto de la aplicaci´on de tal modo que son f´acilmente modificables.
Por un lado, para dar soporte al modelado, el mecanismo de perfiles de UML(Unified Modeling Language) ha sido utilizado y se han desarrollado ed-itores gr´aficos basados en estos perfiles. Estos eded-itores se han construido sobre el marco nativo de modelado de Eclipse (EMF) y su extensi´on gr´afica (GMF). Por otro lado, para dar soporte a la generaci´on, el plugin de Eclipse utiliza servicios Web (Java) y el motor de generaci´on que se ha desarrollado para la derivaci´on de c´odigo (C#). Finalmente, para dar soporte a la instalaci´on de la aplicaci´on Web generada, la herramienta cuenta con un instalador que despliega la aplicaci´on en un servidor. Una vez la aplicaci´on est´a operativa, las reglas de personalizaci´on pueden ser actualizadas en tiempo de ejecuci´on en un editor de texto integrado. En la Fig 1 se puede ver una captura de la herramienta. En ella se observan diferentes modelos de dise˜no dentro de sus respectivos editores. Tambi´en se puede ver un editor de las reglas de personalizaci´on. Finalmente, en la parte superior se encuentra el men´u que controla la generaci´on e instalaci´on de la aplicaci´on, as´ı como la actualizaci´on de las reglas de personalizaci´on.
Agradecimientos Este trabajo ha sido parcialmente subvencionado por el proyecto ESPIA (TIN2007-67078) del Ministerio de Educaci´on y Ciencia, y por el proyecto QUASIMODO (PAC08-0157-0668) del Ministerio de Educaci´on y Ciencia de Castilla-La Mancha.
References
1. Frasincar, F., Houben, G.J., Barna, P.: Hera presentation generator. In: WWW (Special interest tracks and posters). (2005) 952–953
2. Acerbis, R., Bongio, A., Butti, S., Ceri, S., Ciapessoni, F., Conserva, C., Fraternali, P., Toffetti, G.: Webratio, an innovative technology for web application development. In: ICWE. (2004) 613–614
3. Garrig´os, I.: A-OOH: Extending Web Application Design with Dynamic Personal-ization. PhD thesis, University of Alicante, Spain (2008)
Fig. 1.Captura de la Herramienta
4. Cachero, C., G´omez, J.: Advanced conceptual modeling of web applications: Em-bedding operation interfaces in navigation design. In: JISBD. (2002) 235–248 5. Garrig´os, I., Cruz, C., G´omez, J.: A prototype tool for the automatic generation of
adaptive websites. In: AEWSE. (2007)
6. Garrig´os, I., Maz´on, J.N., Trujillo, J.: A requeriment analysis approach for using i* in web engineering. In: ICWE, in Press. (2009)
7. Yu, E.: Modelling Strategic Relationships for Process Reenginering. PhD thesis, University of Toronto, Canada (1995)
8. XML Metadata Interchange: http://www.omg.org/technology/documents/ formal/xmi.htm
9. Garrig´os, I., G´omez, J.: Modeling user behaviour aware websites with prml. In: WISM. (2006)
A
Informaci´
on sobre la Demostraci´
on Prevista
En la demostraci´on propuesta pretendemos generar e instalar una aplicaci´on Web con soporte de personalizaci´on a partir de los modelos conceptuales necesarios de la metodolog´ıa de dise˜no A-OOH. Adem´as se pretende una vez la aplicaci´on Web est´a generada e instalada, modificar la personalizaci´on definida para ese sitio Web en tiempo de ejecuci´on. Concretamente, se consideran las siguientes fases de la demostraci´on:
Modelado de la aplicaci´on Web con soporte de personalizaci´on En es-ta primera parte de la demostraci´on mostraremos los modelos conceptuales
de A-OOH necesarios para la generaci´on de la aplicaci´on Web personalizada, as´ı como el c´odigo XMI asociado y explicaremos el objetivo de cada modelo ilustr´andolo mediante un caso de estudio.
Generaci´on e instalaci´on de la aplicaci´on A continuaci´on, se proceder´a a la generaci´on e instalaci´on de la aplicaci´on Web resultante mediante la her-ramienta presentada, ejecut´andola para ver su funcionamiento, as´ı como para probar c´omo las reglas de personalizaci´on modifican el contenido o caminos de navegaci´on de la aplicaci´on Web ante el comportamiento del usuario. Modificaci´on de la personalizaci´on en tiempo de ejecuci´on Una vez
pro-bada la ejecuci´on de la aplicaci´on Web generada, modificaremos una regla de personalizaci´on desde la herramienta y veremos c´omo ello afecta a la ejecuci´on de la aplicaci´on Web.
B
Adecuaci´
on a las JISBD
Consideramos que la demostraci´on propuesta deber´ıa ser presentada en las JISBD debido a la importancia del tema tratado en la herramienta con respecto a los t´opicos de la conferencia. Concretamente se relaciona con los siguientes temas de inter´es:
– Ingenier´ıa de Modelos
– Generaci´on Autom´atica de Software – Ingenier´ıa Web
– Cambio y Evoluci´on del Software
Tambi´en consideramos relevante contar nuestra experiencia debido a la ausen-cia de este tipo de herramientas, dentro del ´ambito de la ingenier´ıa Web.