OBLIVIOUS INTEGRATION OF VOLATILE FUNCTIONALITY IN WEB APPLICATION INTERFACES
Keywords:
Web engineering, volatile functionality, user interfaces, separation of concerns, OOHDMAbstract
Web applications are used to fast and continuous evolution. In response to new or changing requirements, additional code is developed and existing one is properly modified. When new requirements are temporary, i.e., when they specify some volatile functionality that is expected to be online only for some time and then removed, the additions and changes are destined to be later rolled back. This way to proceed, apart from being time and effort demanding, by involving the intrusive editing of the application’s source code, brings along the risk of polluting it and introducing mistakes. In this paper, we present an approach to deal with volatile functionality in Web applications at the presentation level, based on oblivious composition of Web user interfaces. Our approach, which is inspired by wellknown techniques for advanced separation of concerns such as aspect-oriented software design, allows to clearly separate the design of the application’s core user interface from the one corresponding to more volatile functionality. Both core and volatile user interfaces are oblivious from each other and can be seamlessly composed using a transformation language. We show that in this way we simplify the application’s evolution by preventing intrusive edition of the user interface code. Using some illustrative examples, we focus both on design and implementation issues, presenting an extension of the OOHDM design model that supports modular design of volatile functionality.
Downloads
References
Anfurrutia, F. I., Díaz, O., and Trujillo S. “On Refining XML Artifacts”. Proceedings of the 7th
International Conference on Web Engineering (ICWE2007: July 16-20, 2007; Como, Italy).
Apache Struts framework. http://struts.apache.org/
Aspect Oriented Programming and Javascript. http://www.dotvoid.com view.php?id=43 (2007).
AspectJ, http://www.eclipse.org/aspectj/
AspectXML. The AspectXML home page. In www.aspectxml.org.
Baumeister, H., Knapp, A., Koch, N. and Zhang, G. “Modelling Adaptivity with Aspects”.
Proceedings of the 5th International Conference on Web Engineering (ICWE'05). Springer Verlag,
Lecture Notes in Computer Science.
Bernhardt, T and Vasseur, A. “Esper: Event Stream Processing and correlation”. ONJava, in
http://www.onjava.com/lpt/a/6955, O’Reilly. August 2007.
Casteleyn, S., Van Woensel, W., Houben, G.J. ”Semantics-based Aspect-Oriented Approach to
Adaptation in Web Engineering“, Proc. of 18th ACM Conf. on Hypertext and Hypermedia
(HT’07; UK).
Ceri, S., Fraternali, P., Bongio, A. “Web Modeling Language (WebML): A Modeling Language
for Designing Web Sites”. Computer Networks and ISDN Systems, 33(1-6), 137-157, (2000).
Clarke, S., Baniassad, E. “Aspect-Oriented Analysis and Design. The Theme Approach”.
Addison-Wesley, Object Technology Series, 2005. ISBN: 0-321-24674-8.
Clarke, S., Walker, R. “Composition patterns: approach to designing reusable aspects” Proc. of
rd Int. Conf. on Software Engineering. (Canada, 2001). ACM Press, 5-14.
Cohen, T. and (Yossi) Gil, J. AspectJ2EE = AOP + J2EE Towards Aspect Based, Pro-grammable
& Extensible Middleware Framework. Proc.of ECOOP 2004. LNCS 3086, 219-243.
Cowan, D. Pereira de Lucena, C. “Abstract Data Views: An Interface Specification Concept to
Enhance Design for Reuse”. IEEE Transactions on Software Eng. 21(3): 229-243 (1995).
Daniel, F., Yu, J., Benatallah, B., Casati, F., Matera, M., Saint-Paul, R. “Understanding UI
integration: survey of problems, technologies, and opportunities”. IEEE Internet Computing
(2007).
Distante, D., Pedone, P., Rossi, G., Canfora, G. “Model-Driven Development of Web Applications
with UWA, MVC and JavaServer Faces.” Proc. of 7th Int. Conf. on Web Engineering
(ICWE2007, Italy).
Document Object Model. http://www.w3.org/DOM/
Douence, R., Pascal Fradet, P. and Mario Südholt, M. “Trace-based Aspects”. Aspect-Oriented
Software Development. Addison-Wesley, 2004.
Filman, R., Elrad, T., Clarke, S., Aksit, M. (eds.). Aspect-Oriented Software Development.
Addison-Wesley, 2004.
Gamma, E., Helm, R., Johnson, R., Vlissides, J. “Design Patterns. Elements of reusable objectoriented
software”. Addison Wesley, 1995.
Gordillo, S., Rossi, G. Moreira, A., Araujo, A.,Vairetti, C., Urbieta, M. “Modeling and Composing
Navigational Concerns in Web Applications. Requirements and Design Issues”. LA-WEB 2006,
pp. 25-31.
Güell, N., Schwabe, D., Vilain, P. Modeling Interactions and Navigation in Web Applications. ER
(Workshops). (USA 2000) 115-127.
Harrison, W., Ossher, H, Tarr, P. “General Composition of Software Artifacts”. Proc. of 5th Int.
Symposium on Software Composition (SC 2006; Austria), pp. 194-210.
Jacobson, I.Object-Oriented Software Engineering. ACM Press 1996.
Kim, W. "Advanced Database systems", ACM Press, 1994.
Koch, N., Kraus, A., and Hennicker, R. “The Authoring Process of UML-based Web Engineering
Approach”. Proc. of 1st Int. Workshop on Web-Oriented Software Technology (IWWOST2001,
Spain), pp. 105-119.
Kraus, A. and Koch, N. “Generation of Web Applications from UML Design Models using an
XML Publishing Framework”. Integrated Design and Process Technology Conf. (IDPT'2002).
Lepreux, S., Vanderdonckt, J. “Towards Supporting User Interface Design by Composition
Rules”. Proc. of CADUI’2006, Berlin.
Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., López-Jaquero, V. “UsiXML: a
Language Supporting Multi-Path Development of User Interfaces”. Proc. of 9th IFIP Working
Conference on EHCI-DSVIS'2004.
Mahoney, M., Bader, A., Aldawud, O., Elrad, T., Using Aspects to Abstract and Modularize
Statecharts. 5th Aspect-Oriented Modeling Workshop In Conjunction with UML (2004).
Moreira, A., Araujo, J., Whittle, J. “Modeling Volatile Concerns as Aspects”, Proceedings of
CAiSE 2006, Luxemburg, June 2006, pp 544, 558.
Nanard, M., Nanard, J., King, P. “IUHM: A Hypermedia-based Model for Integrating Open
Services, Data and Metadata”. Hypertext 2003: 128-137
Pastor, O., Abrahão, S., Fons, J. “An Object-Oriented Approach to Automate Web Applications
Development”. Proceedings of EC-Web 2001: 16-28.
Phanouriou, C. “UIML: A Device-Independent User Interface Markup Language”. Ph. D. Thesis,
Virginia University, 2000.
Rossi, G., Nieto, A., Mengoni, L., Lofeudo, N., Distante, D., “Model-Based Design of Volatile
Functionality in Web Applications”, Proc. of LA-WEB 2006, Mexico, IEEE Press, pp. 179-188.
Saxon. In http://saxon.sourceforge.net/, 2007.
Schauerhuber, A., “AspectUWA: Applying Aspect-Orientation to Model-Driven Development of
Ubiquitous Web Applications”. PhD Thesis, Vienna University of Technology, 2007.
Schwabe, D., Rossi, G. “An object-oriented approach to web-based application design”. Theory
and Practice of Object Systems (TAPOS), Special Issue on the Internet, v. 4#4, 1998, 207-225.
Stxx. Struts for Transforming XML with XSL. In http://stxx.sourceforge.net, 2005.
Urbieta, M., Rossi, G., Ginzburg, J., Schwabe, D.: “Designing the Interface of Rich Internet
Applications” Proceedings of LA-WEB 07, Santiago, Chile, IEEE Press (2007).
UWA Consortium, “Ubiquitous Web Applications”. Proceedings of the eBusiness and eWork
Conference 2002, (e2002: 16-18 October 2002; Prague, Czech Republic).
Xalan. In http://xalan.apache.org/, 2007.
XPATH. XML Path Language. In http://www.w3.org/TR/xpath, 2007.
XSL. The Extensible Stylesheet Language Family. In http://www.w3.org/Style/XSL/, 2007.