Let It Flow: Building Mashups with Data Processing Pipelines

  • Biörn Biörnstad
  • Cesare Pautasso
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4907)


Mashups are a new kind of interactive Web application, built out of the composition of two or more existing Web service APIs and data sources. Whereas “pure” mashups are built relying entirely on the Web browser as a platform for integration at the presentation layer, this approach is not always feasible and part of the mashup integration logic must be deployed on the Web server instead. In the case study presented in this paper, we explore a novel approach to build mashups out of heterogeneous sources of streaming data. In particular, we introduce a layered mashup architecture, with a clear separation between the mashup user interface and the mashup integration logic run by a mashup engine. To do so, we show how to build a mashup application that displays in real time the location of visitors connecting to a Website. The integration logic feeding a map widget by processing the Web site logs is developed using a data flow model that connects a set of reusable and heterogeneous components into a data processing pipeline. We conduct a brief performance evaluation of the mashup showing that the pipeline introduces minimal delay and discuss several extensions of the mashup.


Data Port Integration Logic Data Processing Pipeline Mashup Application Mashup Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Daniel, F., Matera, M., Yu, J., Benatallah, B., Saint-Paul, R., Casati, F.: Understanding UI integration: A survey of problems, technologies, and opportunities. IEEE Internet Computing 11(3), 59–66 (2007)CrossRefGoogle Scholar
  2. 2.
    Wikipedia: Mashup (web application hybrid),
  3. 3.
    Abowd, G.D., Allen, R., Garlan, D.: Formalizing style to understand descriptions of software architecture. ACM Trans. Softw. Eng. Methodol. 4(4), 319–364 (1995)CrossRefGoogle Scholar
  4. 4.
    Yahoo! Inc.: Pipes,
  5. 5.
    Corporation, M.: Popfly,
  6. 6.
    Flake Media: GVisit,
  7. 7.
    Bennett, K.: Legacy Systems: Coping with Success. IEEE Softw. 12(1), 19–23 (1995)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly, Sebastopol (2007)Google Scholar
  9. 9. Website,
  10. 10.
  11. 11. IP2Location,
  12. 12.
    IPligence Ltd: IPligence,
  13. 13.
    Quova: GeoPoint,
  14. 14. IP2Location,
  15. 15.
    Asleson, R., Schutta, N.T.: Foundations of Ajax. APress (2005)Google Scholar
  16. 16.
    Biörnstad, B., Pautasso, C., Alonso, G.: Control the Flow: How to Safely Compose Streaming Services into Business Processes. In: Proc. of the 2006 IEEE Int. Conf. on Services Computing (SCC 2006), Chicago, USA (September 2006)Google Scholar
  17. 17.
    Internet Engineering Task Force: Extensible Messaging and Presence Protocol (XMPP): Core,
  18. 18.
    Mockapetris, P.: Domain Names - Concepts and Facilities. ISI (November 1987),
  19. 19.
    Crockford, D.: JSON: The fat-free alternative to XML. In: Proc. of XML 2006, Boston, USA (December 2006),
  20. 20.
    Pautasso, C.: JOpera: Process support for more than Web services,
  21. 21.
    Hohpe, G.: Mashing it up with the Google Mashup Editor (June 2007),
  22. 22.
    Eclipse Foundation: Eclipse Web Tools Platform,
  23. 23.
    Russel, A.: Comet: Low Latency Data for the Browser (March 2006),
  24. 24.
    Russel, A., Davis, D., Wilkins, G., Nesbitt, M.: Bayeux Protocol – Bayeux 1.0draft 0. Dojo Foundation (2007),

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Biörn Biörnstad
    • 1
  • Cesare Pautasso
    • 2
  1. 1.Computer Science DepartmentETH ZurichZürichSwitzerland
  2. 2.Faculty of InformaticsUniversity of LuganoLuganoSwitzerland

Personalised recommendations