Software mashups – web applications that combine content from multiple web sites to an integrated experience – have rapidly become a popular trend. Due to the novelty of mashup development, methods, tools, and architectures for creating mashups are still rather undeveloped, and there is little engineering support behind them, even if the most common architectural requirements for composing mashups can be easily identified. In this paper we present a list of architectural issues and derive a reference architecture to serve as a starting point for the design of new mashups. The long-term goal of our work is to facilitate the development and maintenance of robust, secure, and compelling mashups, and more generally ease the transition towards web-based software development.


Web applications mashups web programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Crockford, D.: JavaScript: The Good Parts. O’Reilly Media (2008)Google Scholar
  2. 2.
    ECMA International, ECMAScript Language Specification ECMA-262. ISO/IEC 16262 (1998) Google Scholar
  3. 3.
    Fielding, R.T., Taylor, R.N.: Principled Design of the Modern Web Architecture. ACM Trans. Internet Technol. 2(2), 115–150 (2002)CrossRefGoogle Scholar
  4. 4.
    Hartmann, B., Doorley, S., Klemmer, S.: Hacking, Mashing, Gluing: Understanding Opportunistic Design. IEEE Pervasive Computing 7(3), 46–54 (2008)CrossRefGoogle Scholar
  5. 5.
    Lee, C., Tang, S., Tsai, C., Chen, Y.: Toward a New Paradigm: Mashup Patterns in Web 2.0. WSEAS Trans. Info. Sci. and App. 6(10), 1675–1686 (2009)Google Scholar
  6. 6.
    López, J., Pan, A., Bellas, F., Montoto, P.: Towards a Reference Architecture for Enterprise Mashups. Actas de los Talleres de las Jornadas de Ingeniería del Software y Bases de Datos 2(2) (2008)Google Scholar
  7. 7.
    Mikkonen, T., Salminen, A.: Towards Pervasive Mashups in Embedded Devices. In: Proceedings of the 16th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Macau, China, August 23-25, pp. 35–42. IEEE Computer Society (2010)Google Scholar
  8. 8.
    Mikkonen, T., Taivalsaari, A., Terho, M.: Lively for Qt: A platform for mobile web applications. In: Proc. 6th ACM Mobility Conference, Nice, France, September 2-4 (2009)Google Scholar
  9. 9.
    Mikkonen, T., Taivalsaari, A.: The Mashware Challenge: Bridging the Gap Between Web Development and Software Engineering. In: Proceedings of the 2010 Workshop on Future of Software Engineering Research, Santa Fe, New Mexico, USA, November 7-8, pp. 245–249. ACM Press (2010)Google Scholar
  10. 10.
    Nestler, T.: Towards a mashup-driven end-user programming of SOA-based applications. In: Proceedings of the 10th International Conference on Information Integration and Web-Based Applications & Services, Linz, Austria, November 24-26, pp. 551–554. ACM (2008)Google Scholar
  11. 11.
    Nyrhinen, F., Salminen, A., Mikkonen, T., Taivalsaari, A.: Lively mashups for mobile devices. In: Proceedings of the 1st International Conference on Mobile Computing, Applications and Services, San Diego, California, October 26-29 (2009)Google Scholar
  12. 12.
    Salminen, A., Nyrhinen, F., Mikkonen, T., Taivalsaari, A.: Developing Client-Side Mashups: Experiences, Guidelines and the Road Ahead. In: Proceedings of MindTrek 2010, Tampere, Finland, October 6-8. ACM (2010)Google Scholar
  13. 13.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall (1996)Google Scholar
  14. 14.
    Taivalsaari, A.: Mashware: The Future of Web Applications. Technical Report. UMI Order Number: SERIES13103. Sun Microsystems, Inc. (2009)Google Scholar
  15. 15.
    Taivalsaari, A., Mikkonen, T.: Mashups and Modularity: Towards Secure and Reusable Web Applications. In: Proceedings of 1st Workshop on Social Software Engineering and Applications, L’Aquila, Italy, September 16. IEEE Computer Society Press (2008)Google Scholar
  16. 16.
    Taivalsaari, A., Mikkonen, T.: Simplifying interactive programming with keywords ’that’ and ’those’. In: Proceedings of the 36th Euromicro Conference on Software Engineering and Advanced Applications, Lille, France, September 1-3. IEEE Computer Society (2010)Google Scholar
  17. 17.
    Wong, J., Hong, J.: What do we ”mashup” when we make mashups? In: Proceedings of the 4th International Workshop on End-User Software Engineering, Leipzig, Germany, May 12, pp. 35–39. ACM (2008)Google Scholar
  18. 18.
    Zang, N., Rosson, M., Nasser, V.: Mashups: who? what? why? In: Extended Abstracts on Human Factors in Computing Systems, CHI 2008, Florence, Italy, April 05-10, pp. 3171–3176. ACM, New York (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Tommi Mikkonen
    • 1
  • Arto Salminen
    • 1
  1. 1.Tampere University of TechnologyTampereFinland

Personalised recommendations