Florian Daniel and Maristella Matera

Mashups: Concepts, Models and Architectures

Springer, 2014. ISBN 978-3-642-55048-5

Springer Amazon Barnes&Noble

Welcome

The mashup cube with tree different perspectives on the mashup ecosystem. It's our try to bring some order into the myriad of different definitions and interpretations of what mashups are and what not. The organization of the book reflects the structure of the cube.

This website is the online companion of the book Mashups: Concepts, Models and Architectures. The purpose of the site is to complement the physical book with material from the book that can be reused by teachers for classroom use or by students to deepen their knowledge and for self-study. It also aims to provide additional material that is not part of the book, such as links to online resources or research papers that could not be incuded in the book. The Feedback section allows everybody to comment on the book, to provide feedback and suggesions and, hopefully, to establish some interesting discussions on hot topics among the readers and the authors.

The site is meant to be constantly under construction, meaning that we intend to update it with new content as soon as we find new material that we think is of potential interest to the readers of the book.

The website is maintained by the authors independently of the official publisher of the book. It expresses our own interests, opinions and assessments.

We are glad you are interested in this book. Please let us know your feedback (in the Feedback section, via email, or face to face at some conference or meeting), and we'll try to answer as best as we can.

July 2014

About the book

Cover text

Mashups have emerged as an innovative software trend that re-interprets existing Web building blocks and leverages the composition of individual components in novel, value-adding ways. Additional appeal also derives from their potential to turn non-programmers into developers.

Daniel and Matera have written the first comprehensive reference work for mashups. They systematically cover the main concepts and techniques underlying mashup design and development, the synergies among the models involved at different levels of abstraction, and the way models materialize into composition paradigms and architectures of corresponding development tools. The book deliberately takes a balanced approach, combining a scientific perspective on the topic with an in-depth view on relevant technologies.

To this end, the first part of the book introduces the theoretical and technological foundations for designing and developing mashups, as well as for designing tools that can aid mashup development. The second part then focuses more specifically on various aspects of mashups. It discusses a set of core component technologies, core approaches, and architectural patterns, with a particular emphasis on tool-aided mashup development exploiting model-driven architectures. Development processes for mashups are also discussed, and special attention is paid to composition paradigms for the end-user development of mashups and quality issues.

Overall, the book is of interest to a wide range of readers. Students, lecturers, and researchers will find a comprehensive overview of core concepts and technological foundations for mashup implementation and composition. Even without low-level coding details, practitioners like software architects will find guidance on key implementation concepts, architectural patterns, and development tools and approaches. A related website provides additional teaching material which can be used either as part of a course or for self study.

Testimonials

“This book is timely, provides a through scientific investigation and also has practical relevance in the general area of composition and mashups. It is of particular interest to researchers and professionals wishing to learn about relevant concepts and techniques in service mashups, composition, and end-user programming.” – From the Preface by Boualem Benatallah, University of New South Wales, Sydney.

Table of contents

You can click on chapter titles to show/hide the respective sections and subsections. Where available you can also inspect excerpts of the book.

  1. Foreword - View
  2. Preface - View
  3. Introduction - View
    1. Concepts and Definitions
    2. Mashup Types
    3. Benefits and Benefiters
    4. The Research Perspective
    5. This Book
  4. PART I Fundamentals
  5. Data and Application Integration
    1. Introduction
    2. The Integration Problem: A Scenario
    3. Data Integration
      1. Materialized vs. virtual data integration
      2. The mediator-wrapper architecture
      3. Peer-to-peer data management systems
      4. Ontology-based data integration
      5. Lightweight data integration
    4. Application Integration
      1. Middleware and application integration
      2. Workflow management systems
      3. Web services
      4. Service-oriented computing
    5. Cloud Computing
      1. Virtualization
      2. Cloud architectures
    6. Summary and Bibliographic Notes
  6. Web Technologies
    1. Introduction
    2. The Internet
      1. Internet topology
      2. The TCP/IP protocol stack
      3. The HTTP Protocol
    3. The Hypertext Markup Language (HTML)
    4. Cascaded Style Sheets (CSS)
    5. Client-Side Scripting
    6. Client-Side Business Logic and AJAX
    7. Server-side Business Logic
      1. Servlets
      2. Server-side scripting
      3. Multitiered Web Architectures
    8. Model-View-Controller Pattern
    9. Data Representation Formats
      1. XML
      2. JSON
    10. Summary and Bibliographic Notes
  7. Model-Driven Software Development
    1. Introduction
    2. Model-Driven Design
      1. Conceptual modeling
      2. Model-driven architecture (MDA)
      3. Architecture-centric MDSD
    3. Metamodeling
      1. The metalevels
      2. Metamodels, MOF and UML profiles
      3. Modeling syntax
    4. From the Model to the Application
      1. Model-to-model transformations
      2. Code generation
      3. Model Interpretation
    5. Summary and Bibliographic Notes
  8. PART II Mashups
  9. Mashup Components
    1. Introduction
    2. Modeling Components
      1. Basic component models
      2. Component characteristics
    3. Logic Components
      1. Web services
      2. RESTful web services
      3. JavaScript APIs and libraries
      4. Device APIs
      5. API extraction
    4. Data Components
      1. RSS
      2. Atom
      3. XML,JSON, CSV and similar
      4. Web data extraction
      5. Micro-formats and linked data
    5. User Interface Components
      1. Code snippets and JavaScript UI libraries
      2. Java portlets
      3. Widgts and gadgets
      4. Web clipping and UI component extraction
    6. Real-Time Streaming Components
      1. Multimedia resources
      2. Telco APIs
    7. Summary and Bibliographic Notes
  10. Mashups
    1. Introduction
    2. Modeling Mashups
      1. Basic mashup model
      2. Mashup characteristics
    3. Data Mashups
      1. Point-to-point data mashups
      2. Centrally mediated data mashups
      3. Data mashups with external data processing logic
    4. Logic Mashups
      1. Stateless logic mashups
      2. Long-living logic mashups
    5. User Interface Mashups
      1. HTML UI mashups
      2. Wrapped UI mashups
      3. Container-based UI mashups
    6. Hybrid Mashups
    7. Summary and Bibliographic Notes
  11. Advanced Mashups
    1. Introduction
    2. Multi-User Mashups
      1. Concurrent mashup components
      2. Concurrent mashups
      3. Process mashups
    3. Mobile Mashups
    4. Telco Mashups
    5. Enterprise Mashups
    6. Summary and Bibliographic Notes
  12. Tool-Aided Mashup Development
    1. Introduction
    2. Mashup Modeling Concerns
    3. Abstracting Components
    4. Mashup Metamodels
      1. A simple example
      2. Yahoo! Pipes
      3. mashArt
    5. Mashup Languages
      1. EMML
      2. OMDL
    6. Developing Mashup Languages
      1. Conceptual development
      2. Usage example
    7. Mashup Platforms
      1. Mashup development
      2. Mashup execution and operation
      3. Mashup management
    8. Summary and Bibliographic Notes
  13. Mashups and End-User Development
    1. Introduction
    2. User-Driven Innovation
    3. User-Driven Innovation through EUD Scenarios
    4. Lightweight Development Process
      1. Component discovery and selection
      2. Mashup composition
      3. Usage and maintenance
    5. EUD Dimensions for Mashup Tools
      1. Representation
      2. Domain-specificity
      3. Assistance capability
    6. Guidelines for EUD of Mashups
    7. Summary and Bibliographic Notes
  14. Quality in Mashups
    1. Introduction
    2. Component Quality
      1. API quality
      2. Data quality
      3. Presentation quality
    3. Mashup Quality
      1. Characterizing the integration
      2. Characterizing the role of components
      3. Information quality
      4. Presentation quality
      5. Composition quality
    4. Summary and Bibliographic Notes
  15. Outlook
    1. Summary
    2. Outlook
      1. Growth
      2. Threats
      3. Direction
    3. The Fate of Mashups
  16. References - View
  17. Index - View

About the authors

Short biographies

Florian Daniel is a senior research fellow at the University of Trento, Italy. He has been visiting researcher at UNSW, Sydney, Australia, and HP Labs, Palo Alto, USA, and post-doc researcher at Politecnico di Milano, Italy. Florian has been working on mashups and lightweight integration on the Web for more than seven years in the context of own research, EU-FP7 projects, and industry-funded projects in Europe, the United States, and China. His research interests also include conceptual modeling of Web applications, business process management and service-oriented computing. Florian has served as PC Chair of the international conferences BPM, ICWE and MobiWIS.

Homepage: https://www.floriandaniel.it

Maristella Matera is Associate Professor at the Politecnico di Milano, Italy. Her research focuses on Web Engineering, with particular emphasis on model-based methods and tools for Web application development. She dedicated the last years to investigating mashup languages and tools, with particular focus on the definition of composition paradigms for the end-user development. She worked on these (and other) research topics in the context of several national and international research projects. She published the achieved results in more than one hundred papers, and in the books "Engineering Web Applications" (Springer, 2009) and "Designing Data-Intensive Web Applications" (Morgan Kaufmann publisher, 2002).

Homepage: http://home.deib.polimi.it/matera

Other books by the authors

Sven Casteleyn, Florian Daniel, Peter Dolog and Maristella Matera. Engineering Web Applications. Springer, August 2009, ISBN 978-3-540-92200-1.

Have a look at Springer or Amazon or at the product flyer.

Cover text. Nowadays, Web applications are almost omnipresent. The Web has become a platform not only for information delivery, but also for eCommerce systems, social networks, mobile services, and distributed learning environments. Engineering Web applications involves many intrinsic challenges due to their distributed nature, content orientation, and the requirement to make them available to a wide spectrum of users who are unknown in advance.

The authors discuss these challenges in the context of well-established engineering processes, covering the whole product lifecycle from requirements engineering through design and implementation to deployment and maintenance. They stress the importance of models in Web application development, and they compare well-known Web-specific development processes like WebML, WSDM and OOHDM to traditional software development approaches like the waterfall model and the spiral model. Important problem areas inherent to the Web, like localization, personalization, accessibility, and usage analysis, are dealt with in detail, and a final chapter provides both a description of and an outlook on recent Semantic Web and Web 2.0 developments.

Overall, their book delivers a comprehensive presentation of the state-of-the-art in Web application development and thus forms an ideal basis for academic or industrial courses in this or related areas. It is equally suitable for self-study by researchers or advanced professionals who require an overview on how to use up-to-date Web technologies.

Table of contents. Preview here the preface, table of contents and introduction.

Accompanying material

Below you can find some material from the book and from our own teaching material that may be useful for you own classes and lectures. All material we post here is free for classroom use or teaching if the source of the material is properly cited.

Figures of the book

Here all the figures of the book in .ppt and .pdf:

Presentations

We also just gave a short tutorial on mashups at the 14th International Conference on Web Engineering (ICWE 2014) in Toulouse, France. The tutorial is heavily based on this book, and the slides we used can be found here:

  • ICWE 2014 mashup tutorial description: pdf
  • ICWE 2014 mashup tutorial slides: pdf

Research on mashups

Scientific publications

  • C. Ardito, M.F. Costabile, G. Desolda, R. Lanzilotti, M. Matera, A. Piccinno, M. Picozzi. User-driven visual composition of service-based interactive spaces. Journal of Visual Languages & Computing, 25(4), pp. 278–296 (2014)
  • D. Lizcano, F. Alonso, J. Soriano, G. López. A web-centred approach to end-user software engineering. ACM Trans. Softw. Eng. Methodol. 22(4): 36 (2013)
  • S. Aghaee, C. Pautasso, A. De Angeli. Natural end-user development of Web mashups. Proc. of VL/HCC 2013, pp. 111-118 (2013)
  • S. Aghaee, M. Nowak, C. Pautasso. Reusable decision space for mashup tool design. Proc. of EICS 2012, pp. 211-220 (2012)
  • F. Casati, F. Daniel, A. De Angeli, M. Imran, S. Soi, C.R. Wilkinson, M. Marchese. Developing mashup tools for end users: on the importance of the application domain. IJNGC, 3(2) (2012)
  • H. Gebhardt, M. Gaedke, F. Daniel, S. Soi, F. Casati, C. Iglesias, S. Wilson. From mashups to telco mashups: A survey. IEEE Internet Computing, 16(3), pp. 70-76 (2012)
  • F. Daniel, S. Soi, S. Tranquillini, F. Casati, C. Heng, L. Yan. Distributed orchestration of user interfaces. Information Systems, 37(6), pp. 539-556 (2012)
  • C. Cappiello, M. Matera, M. Picozzi, F. Daniel, A. Fernandez. Quality-aware mashup composition: issues, techniques and tools. Proc. of QUATIC 2012, pp. 10-19 (2012)
  • F. Daniel, M. Matera, M. Weiss. Next in mashup mevelopment: User-created apps on the Web. IT Professional, 13(5), pp. 22-29 (2011)
  • C. Cappiello, M. Matera, M. Picozzi, G. Sprega, D. Barbagallo, C. Francalanci. DashMash: A mashup environment for end-user development. Proc. of ICWE 2011, pp. 152-166 (2011)
  • S.R. Chowdhury, F. Daniel, F. Casati. Efficient, Interactive recommendation of mashup composition knowledge. Proc. of ICSOC 2011, pp. 374-388 (2011)
  • C. Cappiello, F. Daniel, M. Matera, C. Pautasso. Information quality in mashups. IEEE Internet Computing, 14(4), pp. 14-22 (2010)
  • F. Daniel, F. Casati, B. Benatallah, M.-C. Shan. Hosted universal composition: models, languages and infrastructure in mashArt. Proc. of ER 2009, pp. 428-443 (2009)
  • F. Daniel, M. Matera. Turning Web applications into mashup components: issues, models, and solutions. Proc. of ICWE 2009, pp. 45-60 (2009)
  • C. Cappiello, F. Daniel, M. Matera. A quality model for mashup components. Proc. of ICWE 2009, pp. 236-250 (2009)
  • F. Daniel, J. Yu, B. Benatallah, F. Casati, M. Matera, R. Saint-Paul. Understanding UI integration: A survey of problems, technologies, and opportunities. IEEE Internet Computing 11(3), pp. 59-66 (2007)
  • J. Yu, B. Benatallah, F. Casati, F. Daniel. Understanding mashup development. IEEE Internet Computing, 12(5), pp. 44-52 (2008)
  • J. Yu, B. Benatallah, R. Saint-Paul, F. Casati, F. Daniel, M. Matera. A framework for rapid integration of presentation components. Proc. of WWW 2007, pp. 923-932 (2007)

Links to project sites

Reader's feedback and discussion

Please leave here your comments, feedback, criticism, input for improvements, corrections, or just simple questions regarding the book and its topics. When entering your comment, you will see that there is also the possibility to add images. Please use this opportunity! We'd love to see your drawings, diagrams, and ideas expressed in graphical form. A picture is worth a thousand words; it just stimulates our brains more than plain text. From our side, we promise we'll try to answer all comments quickly and with the necessary care.

blog comments powered by Disqus