Considering Additional Adaptation Concerns in the Design of Web Applications
|
|
|
- Myra Rogers
- 9 years ago
- Views:
Transcription
1 Considering Additional Adaptation Concerns in the Design of Web Applications Sven Casteleyn 1, Zoltán Fiala 2, Geert-Jan Houben 1,3, and Kees van der Sluijs 3 1 Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium {Sven.Casteleyn, Geert-Jan.Houben}@vub.ac.be 2 Dresden University of Technology, Chair for Multimedia Technology, Dresden, Germany [email protected] 3 Technische Universiteit Eindhoven, PO Box 513, 5600 MB Eindhoven, The Netherlands {g.j.houben, k.a.m.sluijs}@tue.nl Abstract. The design of Web applications traditionally relies heavily on the navigation design. The Web as it evolves now brings additional design concerns, such as omni-presence, device-dependence, privacy, accessibility, localization etc. Many of these additional concerns are occurrences of user- or context-dependency, and are typically realized by transformations of the application (design) that embed adaptation in the navigation. In this paper we focus on how to extend an application with new functionality without having to redesign the entire application. If we can easily add functionality, we can separate additional design concerns and describe them independently. Using a componentbased implementation we show how to extend a Web application to support additional design concerns at presentation generation level. Furthermore, we demonstrate how an Aspect-Oriented approach can support the high-level specification of these (additional) design concerns at a conceptual level. 1 Introduction Part of the popularity of the Web is due to its omni-presence and accessibility: mobile devices (mobile phones, PDA s etc.) make the Web accessible anywhere and anytime. A broad range of organizations, e.g. in e-government, e-health, e-commerce, e- learning, currently offer (part of) their services through this omni-present WWW. In this evolution, designing and creating a Web application has become an increasingly complex task. Not only are the applications larger, they also have to take into account various (design) issues which were previously irrelevant: device-dependence, privacy, security, accessibility, localization, personalization etc. Many of these design issues require exhibiting a certain user- or context-dependency: the application becomes adaptive (to the user). When designing applications and taking into account all these separate issues, ad-hoc design obviously becomes unfeasible. Web application design methods (e.g. Hera [1], OOHDM [2], WebML[3], WSDM[4], OO-H[5]), proposed in literature as a systematic and conceptual approach to Web application design, offer design and implementation (generation) support for
2 engineering complex Web applications. Adaptation of data, navigation, and presentation that suits the current user/context is specified by incorporating conditions in the relevant design models. This adaptation specification constitutes a significant part of the design of the Web application. Furthermore, it is closely intertwined with the (regular) design process, which complicates the Web engineering process and is in sharp contrast with the desired separation of concerns. In this paper we first illustrate how to add adaptation to an existing (Hera-based) Web application, using a component-based implementation. We do so utilizing the Generic Adaptation Components (GAC [6]) provided by the AMACONT project, and exemplify this approach with a running example using Hera [1]. Furthermore, we illustrate how this adaptation can be specified at a higher-level of abstraction (i.e. at the design level), separately from the regular application, by applying aspect-oriented techniques. Using aspect-oriented techniques allows us to tackle cross-cutting design concerns, which adaptations typically are. 2 Implementing Additional Adaptation Concerns Before explaining how to add adaptation to an existing Hera-based Web application, it is wise to recall the general architectural model behind such a Web application: under the direction of an application model (AM) it transforms domain content into a hypermedia presentation. When adding adaptation to such an application, each additional adaptation concern can be seen as a modification of the application, and thus, at implementation level all these additional adaptation concerns have to be incorporated into the overall hypermedia generation process (see Figure 1). Figure 1: Implementing Additional Concerns at Presentation Generation For this implementation of additional adaptation concerns we exploit the Generic Adaptation Component (GAC), a transcoding tool for making Web applications adaptive. According to its rule-based configuration, it allows to perform instance-level adaptation operations on XML-based content (in our case the original hypermedia presentation underlying the initial application model) based on available user/context information is stored in its adaptation context data repository. The GAC is thus a particularly suitable solution for implementing adaptation for hypermedia presentation generation, independent of the regular application design. To illustrate this approach, consider the running example of (a part of) a research project s Web application.
3 Figure 2 depicts the structure of the application according to the visual representation of a Hera AM. The starting page is the project homepage showing the project's name, its introductory project description and the project members'name and photos as thumbnails. Clicking on a member, one can navigate to the corresponding member's homepage containing the name, contacts, CV, image, as well as a link list showing the publications (title, conference, year of publication). Note that in this basic application model there is no adaptation embedded yet. Figure 2: Example Application Model Now imagine we would like to express, in the context of an additional adaptation concern of device-dependency, that for pda-users no images will be shown, and on the member page, no publication-list will be given. The corresponding GAC rule for filtering images (which in this case will omit members thumbs on the project page, and members pictures on each member s page) looks as follows: <gac:appearancerule gac:selector="//slice/* [@mediatype = 'picture']"> <gac:condition gac:when="$device!= pda "/> </gac:appearancerule> Figure 3 shows two versions of our running example s project member homepage. Based on the application model shown in Figure 2, the original (desktop) variant provides information of that member s title, name, CV, contacts but also a link list pointing to his publications. According to the above GAC rule, no pictures are shown on the PDA. Furthermore, the list of the member s publications is only shown on the desktop browser and filtered out on the handheld. 3 Specifying Additional Adaptation Concerns at Design Level Using the GAC to specify additional adaptation concerns allows to specify adaptation separately from the regular Web application. However, this solution operates at
4 the level of presentation generation, and requires detailed knowledge of the specific XML formats of the Web design method s implementation models (in our case, the Hera implementation models). Furthermore, the richness of these models is a determining factor for the specificity or generality of the GAC rules. A higher-level solution, which allows the designer to specify additional adaptation concerns at the design level exploiting their implementation independent semantics, yet still separate from the regular design, is thus desirable. Therefore, we will apply aspect-oriented techniques at design (model) level (see also [7] for a similar, yet lower level approach). From such a higher-level specification, one or more GAC rules for the specific XML (implementation) format can then be generated. Figure 1: Generated Member Page As our omit all pictures example suggests, adaptation is, in most cases, not fixed to one particular element, yet distributed over the entire design. A similar observation was made in the programming community, when considering different design concerns of a software application: some concerns cannot be localized to a particular class or module; instead they are inherently distributed over the whole application. Such a concern is called a cross-cutting concern. To cleanly separate the programming code addressing this concern from the regular application code, Aspect-Oriented Programming [8] was introduced. An aspect captures the code originating from the crosscutting concern, and is split up in two parts: the advice (i.e. the programming code that needs to be injected in the regular code) and the pointcut (i.e. the particular place(s) in the regular code where the advice needs to be injected). Returning to our running example, and applying aspect-oriented principles at the design level of a Web Application, we can express the required adaptation for pdausers, remove all images from the application as follows (using pseudo-code): POINTCUT ALL ELEMENTS WITH mediatype = picture PROPERTY ADVICE ADD CONDITION device!= pda This pointcut/advice pair specifies that, for all design elements which are pictures (the pointcut), a condition is added which restricts visibility of these element to non-
5 pda users only. Such an aspect-oriented specification can subsequently be (automatically) translated in one or more corresponding GAC rules, which perform the desired adaptation at implementation level, as described in the previous section. Note that both at design and implementation level, we strive for a separation of adaptation (concerns), from the regular design/application. 4 Conclusion In this paper, we demonstrated how to add (additional) adaptation concerns to an existing (Hera-based) Web application, both at design and implementation (generation) level. Our approach is based on the observation that adaptation mostly boils down to transformations that realize a certain user- or context dependency. We showed how these transformations can be specified independently from the original application at presentation generation level, by using a generic transcoding tool GAC. We furthermore illustrated how higher-level support for this adaptation specification can be realized applying aspect-oriented techniques. We are currently experimenting with such aspect-oriented adaptation specifications, and with the required mapping to GAC rules. References [1] Vdovjak, R., Frasincar, F., Houben, G.J., Barna, P.: Engineering Semantic Web Information Systems in Hera. Journal of Web Engineering, Vol. 2, No. 1&2 (2003) [2] Schwabe, D., Rossi, G.: The Object-Oriented Hypermedia Design Model. In Communications of the ACM 38(8), ACM Press, ISSN (1995) [3] Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Matera, M.: Designing Data- Intensive Web Applications, Morgan Kaufmann (2003) [4] De Troyer, O., Casteleyn, S.: Designing Localized Web Sites. In Proceedings of the 5th International Conference on Web Information Systems Engineering (WISE 2004), Brisbane, Australia (2004) [5] Gómez, J., Cachero, C., Pastor, O.: Conceptual Modeling of Device-Independent Web Applications. In IEEE Multimedia Special Issue on Web Engineering, IEEE Computer Society Press (2001) [6] Fiala, Z., Houben G.J.: A Generic Transcoding Tool for Making Web Applications Adaptive. In Proceedings of the CAiSE'05 FORUM, Porto, Portugal (2005) [7] Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In Proceedings of the 11th European Conference on Object Oriented Programming (ECOOP 97), Jyväskylä, Finland (1997) [8] Bausmeister, H., Knapp, A., Koch, N., Zhang, G. Modelling Adaptivity with Aspects. In Proceedings of the International Conference on Web Engineering (ICWE2005), Sydney, Australia, 2005,
A Generic Transcoding Tool for Making Web Applications Adaptive
A Generic Transcoding Tool for Making Applications Adaptive Zoltán Fiala 1, Geert-Jan Houben 2 1 Technische Universität Dresden Mommsenstr. 13, D-01062, Dresden, Germany [email protected]
Design and Development of Component-based Adaptive Web Applications
Design and Development of Component-based Adaptive Web Applications Kurzfassung der Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt an der Technischen Universität
SERG. Integration of Data Validation and User Interface Concerns in a DSL for Web Applications
Delft University of Technology Software Engineering Research Group Technical Report Series Integration of Data Validation and User Interface Concerns in a DSL for Web Applications Danny M. Groenewegen,
Designing Localized Web Sites
Designing Localized Web Sites Olga De Troyer and Sven Casteleyn WISE Department of Computer Science, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium {Olga.DeTroyer, Sven.Casteleyn}@vub.ac.be
Personalization-based Optimization of Web Interfaces for Mobile Devices
Personalization-based Optimization of Web Interfaces for Mobile Devices Michael Hinz, Zoltán Fiala, Frank Wehner Dresden University of Technology Heinz-Nixdorf Endowed Chair for Multimedia Technology Mommsenstr.
UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application
UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application Siti Azreena Mubin Faculty of Computer Science and Information Technology, Universiti Putra Malaysia, 43400 Serdang,
AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume L, Number 2, 2005 AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY ANNA LISA GUIDO, ROBERTO PAIANO, AND ANDREA PANDURINO Abstract.
technische universiteit eindhoven WIS & Engineering Geert-Jan Houben
WIS & Engineering Geert-Jan Houben Contents Web Information System (WIS) Evolution in Web data WIS Engineering Languages for Web data XML (context only!) RDF XML Querying: XQuery (context only!) RDFS SPARQL
Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics
Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics Stefano Ceri 1, Marco Brambilla 1, Emanuele Della Valle 2 1 Dipartimento di Elettronica e Informazione,
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
How To Evaluate Web Applications
A Framework for Exploiting Conceptual Modeling in the Evaluation of Web Application Quality Pier Luca Lanzi, Maristella Matera, Andrea Maurino Dipartimento di Elettronica e Informazione, Politecnico di
A MDA Approach for avigational and User Perspectives
A MDA Approach for avigational and User Perspectives Magalí González Catholic University "Ntra. Sra. de la Asunción - Paraguay DSIC - Politecnic University of Valencia Spain [email protected] Jorge
Integrating Value-based Requirement Engineering Models to WebML using VIP Business Modeling Framework 1
Integrating Value-based Requirement Engineering Models to WebML using VIP Business Modeling Framework 1 Farooque Azam, Zhang Li, Rashid Ahmad School of Computer Science and Engineering Beijing University
SOLVING SEMANTIC CONFLICTS IN AUDIENCE DRIVEN WEB DESIGN
SOLVING SEMANTIC CONFLICTS IN AUDIENCE DRIVEN WEB DESIGN Olga De Troyer Vrije Universiteit Brussel, WISE Pleinlaan 2 B-1050 Brussel Belgium [email protected] Peter Plessers Vrije Universiteit Brussel,
Guidance in Web Applications Design
Guidance in Web Applications Design Semia Sonia Selmi, Naoufel Kraiem, and Henda Hajjami Ben Ghezala RIADI-GDL, National School of Computer Sciences, Campus Universitaire Manouba, 2010, Tunisia [email protected],
Towards Web Design Frameworks (Wdfs)
14 Towards Web Design Frameworks (Wdfs) Rehema Baguma, Faculty of Computing and IT, Makerere University. [email protected]; Ogao Patrick, Department of Information Systems, Faculty of Computing and
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy
Aspect-Oriented Programming
Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering
How to Model Aspect-Oriented Web Services
How to Model Aspect-Oriented Web Services Guadalupe Ortiz Juan Hernández [email protected] [email protected] Quercus Software Engineering Group University of Extremadura Computer Science Department Pedro
RUX-Method
On the Implementation of Multiplatform RIA User Interface Components Marino Linaje 1, Juan Carlos Preciado 1, Rober Morales-Chaparro 2, Fernando Sanchez-Figueroa 1 1 QUERCUS SEG, Universidad de Extremadura,
The Expressive Power of UML-based Web Engineering 1
The Expressive Power of UML-based Web Engineering 1 NORA KOCH AND ANDREAS KRAUS Ludwig-Maximilians-Universität München. Germany UML-based Web Engineering (UWE) is a development process for Web applications
MDA Transformations Applied to Web Application Development 1
MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T
OOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models
OOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models Oscar Pastor, Joan Fons and Vicente Pelechano Department of Information Systems and Computation Technical University of Valencia
Implementing Application and Network Security using Aspectoriented
Application and Network Security using Aspectoriented Programming F.E. Tshivhase 1, H.S. Venter 2, J.H.P. Eloff 3 1 [email protected], 2 [email protected], 3 [email protected] Information and Computer
Using an Aspect Oriented Layer in SOA for Enterprise Application Integration
19 Using an Aspect Oriented Layer in SOA for Enterprise Application Integration Chinthaka D. Induruwana School of Computer Science, University of Manchester, Kilburn Building, Oxford Road M13 9PL [email protected]
Variability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
INTEGRATING BUSINESS RULES INTO THE WEB DEVELOPMENT PROCESS
INTEGRATING BUSINESS RULES INTO THE WEB DEVELOPMENT PROCESS JEHAD NAJJAR ABDALGHANI MUSHTAHA Olga De Troyer Dept. of Computer Science WISE, Dept. of Computer Science, WISE, Dept. of Computer Science, K.U.Leuven
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Model Transformations from Requirements to Web System Design
s from Requirements to Web System Design Nora Koch Ludwig-Maximilians-Universität Oettingenstr. 67 80538 München, Germany [email protected] Gefei Zhang Ludwig-Maximilians-Universität Oettingenstr. 67
Designing Rich Internet Applications Combining UWE and RUX-Method
Designing Rich Internet Applications Combining UWE and RUX-Method Juan Carlos Preciado, Marino Linaje, Rober Morales-Chaparro, Fernando Sanchez-Figueroa Quercus SEG. Universidad de Extremadura {jcpreciado,
Patterns for the Model-Based Development of RIAs*
Patterns for the Model-Based Development of RIAs* Nora Koch 1,2, Matthias Pigerl 3, Gefei Zhang 1, and Tatiana Morozova 1 1 Ludwig-Maximilians-Universität München, Germany 2 Cirquent GmbH, Germany 3 S.CO
XFlash A Web Application Design Framework with Model-Driven Methodology
International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,
Web Application Development Focused on BP Specifications*
Web Application Development Focused on BP Specifications* Victoria Torres Dept. De Sistemas Informáticos y Computación Universidad Politécnica de Valencia 46022 Valencia [email protected] Pau Giner Dept.
Web-Based Information Systems
Web-Based Information Systems Prof. dr. Paul De Bra Eindhoven Univ. of Technology Topics Motivation Web Technology Design of Web-Based Information Systems Automatic Generation of Web-Based Interfaces 1
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
Engineering Web Applications for Reuse
Engineering Web Applications for Reuse Daniel Schwabe *, Gustavo Rossi **, Luiselena Esmeraldo *, Fernando Lyardet** *Departamento de Informática, PUC-Rio, Brazil E-mail: {schwabe, luiselena} @inf.puc-rio.br
Encapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
The Nature and Importance of a Programming Paradigm
Multiple Software Development Paradigms and Multi-Paradigm Software Development Valentino Vranić [email protected] Abstract: While OOP (including OOA/D) is reaching the level of maturity of structured
Toward Configurable Access Control for. Healthcare Information Systems
Toward Configurable Access Control for Healthcare Information Systems Kung Chen a and Da-Wei Wang b a Department of Computer Science, National Chengchi University b Institute of Information Science, Academia
USING ASPECT-ORIENTED SOFTWARE DEVELOPMENT IN REAL-TIME EMBEDDED SYSTEMS SOFTWARE A Review of Scheduling, Resource Allocation and Synchronization
USING ASPECT-ORIENTED SOFTWARE DEVELOPMENT IN REAL-TIME EMBEDDED SYSTEMS SOFTWARE Pericles Leng Cheng Department of Computer Science, Cyprus College 6, Diogenes Street, Engomi, Nicosia 1516 [email protected]
How To Design A Web Design Method For A Web Application
Designing Web Content Management Systems Using the Method Association Approach Lutzen Luinenburg 1, Slinger Jansen 2, Jurriaan Souer 1, Inge van de Weerd 2 and Sjaak Brinkkemper 2 1 GX, Wijchenseweg 111,
Time: A Coordinate for Web Site Modelling
Time: A Coordinate for Web Site Modelling Paolo Atzeni Dipartimento di Informatica e Automazione Università di Roma Tre Via della Vasca Navale, 79 00146 Roma, Italy http://www.dia.uniroma3.it/~atzeni/
WSDM: A User Centered Design Method for Web Sites
donderdag, 28 juni 2001 WSDM: A User-Centered Design Method for Web Site Page: 1 WSDM: A User Centered Design Method for Web Sites O.M.F. De Troyer, C.J. Leune Tilburg University, Infolab P.O.Box 90153
Image Galleries: How to Post and Display Images in Digital Commons
bepress Digital Commons Digital Commons Reference Material and User Guides 12-2014 Image Galleries: How to Post and Display Images in Digital Commons bepress Follow this and additional works at: http://digitalcommons.bepress.com/reference
Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture
5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information
Integrating a Usability Model into Model-Driven Web Development Processes
Integrating a Usability Model into Model-Driven Web Development Processes Adrian Fernandez, Emilio Insfran, Silvia Abrahão ISSI Research Group. Department of Information Systems and Computation, Universidad
