Your SlideShare is downloading. ×
0
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups

3,099

Published on

Paper presented at 2nd Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web (MEM 2009 @ WWW 2009; http://integror.net/mem2009/) …

Paper presented at 2nd Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web (MEM 2009 @ WWW 2009; http://integror.net/mem2009/)

Abstract:
Mashups are a current hype that is attracting high interest by academia and industry now and in the next years. The idea behind a mashup is to create new content by reusing and combining existing content from heterogeneous sources. Advantages of mashups are that even people with no knowledge of programming languages can easily build new Web applications and create new forms of visualizations. To support the mashup construction process several tools have been proposed with easy-to-use functionalities. However, from the research perspective it is dissatisfying that neither a clear definition and classification model for mashups nor a separation between mashups and other forms of application integrations exist. The aim of this paper is to elucidate the mashup hype by providing a definition and classification model for mashups and to sketch a methodical engineering guide for mashups. Additionally, an overview of tools and languages supporting the mashup creation is presented.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,099
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups Agnes Koschmider, Victoria Torres and Vicente Pelechano
  • 2. <ul><li>Introduction </li></ul><ul><li>Definition for Mashups </li></ul><ul><li>Links and Differences </li></ul><ul><li>Classification of Mashups </li></ul><ul><li>Challenges for the Mashup Construction </li></ul><ul><li>Guide for a Methodical Construction of Mashups </li></ul><ul><li>Tools </li></ul><ul><li>Conclusions </li></ul>Agenda
  • 3. <ul><li>The Mashup term </li></ul><ul><ul><li>roots in the musical domain </li></ul></ul><ul><ul><li>generalized and brought to other domains </li></ul></ul><ul><li>Focusing on the Web domain </li></ul><ul><ul><li>No clear distinction between SOA vs. Mashup </li></ul></ul><ul><ul><li>No clear classification model </li></ul></ul><ul><ul><li>Which challenges introduce </li></ul></ul><ul><ul><li>Methodology for Mashup construction </li></ul></ul>Introduction
  • 4. Introduction
  • 5. Definition for Mashups Web page integration combination reuse Data sources APIs Third party data Web 2.0 Data processing
  • 6. Definition for Mashups Web-based application that is created by combining and processing on-line third party resources, resources that contribute with data, presentation or functionality
  • 7. <ul><li>SOA principles </li></ul><ul><ul><li>Autonomy </li></ul></ul><ul><ul><li>Composability </li></ul></ul><ul><ul><li>Contract </li></ul></ul><ul><ul><li>Discoverability </li></ul></ul><ul><ul><li>Encapsulation </li></ul></ul><ul><ul><li>Loose coupling </li></ul></ul><ul><ul><li>Reusability </li></ul></ul><ul><ul><li>Statelessness </li></ul></ul>Links and Differences
  • 8. <ul><li>Differences </li></ul><ul><ul><li>No formal definition of the combined resources is required </li></ul></ul><ul><ul><li>Integration is performed at UI level not at logic level </li></ul></ul><ul><ul><li>Targeted to non-expert users </li></ul></ul><ul><ul><li>Resources not always provided to be exploited by third-parties </li></ul></ul><ul><ul><li>There is no a communication protocol </li></ul></ul>Links and Differences
  • 9. <ul><li>WHAT to mash up? </li></ul><ul><li>WHERE to mash up? </li></ul><ul><li>HOW to mash up? </li></ul><ul><li>F or WHOM to mash up? </li></ul>Classification of Mashups
  • 10. <ul><li>WHAT to mash up? </li></ul><ul><ul><li>Presentation </li></ul></ul><ul><ul><ul><li>Retrieves layout information from different data sources </li></ul></ul></ul><ul><ul><li>Data </li></ul></ul><ul><ul><ul><li>Merges data from different sources </li></ul></ul></ul><ul><ul><li>Application functionality </li></ul></ul><ul><ul><ul><li>Builds a new resource based on the composition of functionality </li></ul></ul></ul><ul><ul><li>Other classifications based on the content </li></ul></ul><ul><ul><ul><li>Mapping, Photo/Video, Search/Shopping, News, etc. </li></ul></ul></ul>Classification of Mashups
  • 11. <ul><li>WHERE to mash up? </li></ul><ul><ul><li>Server </li></ul></ul><ul><ul><ul><li>Logic hosted in the Server </li></ul></ul></ul><ul><ul><ul><li>Languages: Python, CGI, PHP, etc. </li></ul></ul></ul><ul><ul><ul><li>Content is generated similarly to traditional Web apps </li></ul></ul></ul><ul><ul><ul><li>Allows transforming returned data into a different formats </li></ul></ul></ul><ul><ul><li>Client </li></ul></ul><ul><ul><ul><li>Logic hosted in the Client </li></ul></ul></ul><ul><ul><ul><li>Languages: Javascript, AJAX, Java applet </li></ul></ul></ul><ul><ul><ul><li>Data directly retrieved from provider </li></ul></ul></ul><ul><ul><ul><li>Better user experience </li></ul></ul></ul>Classification of Mashups
  • 12. <ul><li>H OW to mash up? </li></ul><ul><ul><li>Extraction </li></ul></ul><ul><ul><ul><li>Collect + Merge </li></ul></ul></ul><ul><ul><li>Flow </li></ul></ul><ul><ul><ul><li>Collect + Transform/Process + Merge </li></ul></ul></ul>Classification of Mashups
  • 13. <ul><li>For WHOM to mash up? </li></ul><ul><ul><li>Consumer mashups </li></ul></ul><ul><ul><ul><li>Intended for individual use </li></ul></ul></ul><ul><ul><ul><li>Combine public + private sources </li></ul></ul></ul><ul><ul><ul><li>By means of a simple browser-based UI </li></ul></ul></ul><ul><ul><li>Enterprise/Business mashups </li></ul></ul><ul><ul><ul><li>Intended for organization members use </li></ul></ul></ul><ul><ul><ul><li>Considers: Security + Governance/Enterprise policies </li></ul></ul></ul><ul><ul><ul><li>Intended for domain experts </li></ul></ul></ul>Classification of Mashups
  • 14. <ul><li>Cataloguing </li></ul><ul><ul><li>Available directories </li></ul></ul><ul><ul><ul><li>http://www.webmashup.com </li></ul></ul></ul><ul><ul><ul><li>http://www.programmableweb.com </li></ul></ul></ul><ul><ul><ul><li>Tool directories (Yahoo! Pipes, google Mashups, etc.) </li></ul></ul></ul><ul><ul><li>It is necessary: </li></ul></ul><ul><ul><ul><li>Establish a standardized catalogue facilitating efficient searches </li></ul></ul></ul>Challenges for the Mashup Construction
  • 15. <ul><li>Data integrity </li></ul><ul><ul><li>In Web 2.0 users are Contributors and Creators </li></ul></ul><ul><ul><ul><li>Inconsistency </li></ul></ul></ul><ul><ul><ul><li>Incorrectness </li></ul></ul></ul><ul><ul><ul><li>Intentionally misleading data entry </li></ul></ul></ul><ul><ul><li>Control mechanisms against end-user changes </li></ul></ul>Challenges for the Mashup Construction
  • 16. <ul><li>Making data Web-enabled </li></ul><ul><ul><li>Improve screen scraping techniques </li></ul></ul><ul><ul><ul><li>No contract between content provider and consumer </li></ul></ul></ul><ul><ul><ul><li>Highly dependent on the source presentation </li></ul></ul></ul><ul><ul><li>Evaluate the impact of hosting the logic in the client </li></ul></ul><ul><ul><ul><li>Browsers with JavaScript disabled </li></ul></ul></ul><ul><ul><ul><li>Web robots, spiders or Webcrawlers </li></ul></ul></ul><ul><ul><li>Avoid Denial of Service (DoS) Attacks </li></ul></ul>Challenges for the Mashup Construction
  • 17. <ul><li>Security and Identity </li></ul><ul><ul><li>Protection of data in transit </li></ul></ul><ul><ul><ul><li>i.e. MashSSL (SSL protocol) </li></ul></ul></ul><ul><ul><li>Control access </li></ul></ul><ul><ul><li>Client-side </li></ul></ul><ul><ul><ul><li>Allows avoiding Same-Origin Policy </li></ul></ul></ul><ul><ul><li>Server-side </li></ul></ul><ul><ul><ul><li>Application ID is not passed to each client’s browser </li></ul></ul></ul>Challenges for the Mashup Construction
  • 18. <ul><li>Sharing and reusing </li></ul><ul><ul><li>Mechanisms for sharing mashups </li></ul></ul><ul><ul><ul><li>What to share: public vs. Private data </li></ul></ul></ul><ul><ul><ul><li>How to share: </li></ul></ul></ul><ul><ul><ul><ul><li>Access policies </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Mechanisms to set the context of use (permision) </li></ul></ul></ul></ul><ul><ul><ul><li>Who to share with: groups, individuals, etc. </li></ul></ul></ul>Challenges for the Mashup Construction
  • 19. <ul><li>Trust certificates </li></ul><ul><ul><li>Mainly for Enterprise/Business Mashups </li></ul></ul><ul><ul><li>Can I trust the source? </li></ul></ul><ul><ul><ul><li>Threats due to the mashup dynamic and multidomain nature </li></ul></ul></ul><ul><ul><ul><li>Protect end-users </li></ul></ul></ul><ul><ul><li>Someone should issue a license certifying the mashup </li></ul></ul>Challenges for the Mashup Construction
  • 20. <ul><li>Version control mechanisms </li></ul><ul><ul><li>Mashups rely on third-party resources </li></ul></ul><ul><ul><li>Is the partner getting the proper data? </li></ul></ul><ul><ul><li>Content providers should notify about changes </li></ul></ul>Challenges for the Mashup Construction
  • 21. <ul><li>Things to consider </li></ul><ul><ul><li>Resources exist before the Mashup application </li></ul></ul><ul><ul><li>Resources are given in a specific technology </li></ul></ul><ul><ul><li>End-users get involved in the Mashup life-cycle </li></ul></ul><ul><ul><li>Model Driven Development (MDD) </li></ul></ul><ul><ul><ul><li>H as proven satisfactory in Software Development </li></ul></ul></ul><ul><ul><ul><li>Follows a Top-down strategy </li></ul></ul></ul><ul><ul><ul><li>Can help to define “generic” mashups </li></ul></ul></ul>Guide for a Methodological Construction of Mashups
  • 22. <ul><li>State the problem domain </li></ul><ul><ul><li>Business objective and success factors </li></ul></ul><ul><li>Identify the IT environment </li></ul><ul><ul><li>A vailable resources in the domain </li></ul></ul><ul><li>Identify the technical requirements </li></ul><ul><ul><li>Catalogue interfaces, define new services, processes, … </li></ul></ul><ul><li>Identify the technology set </li></ul><ul><ul><li>Select technology to deploy, test and evaluate </li></ul></ul><ul><li>Mashup Maintenance </li></ul><ul><ul><li>Version control, data integrity </li></ul></ul>Guide for a Methodological Construction of Mashups
  • 23. <ul><li>Building, storing and publishing functionalities </li></ul><ul><li>Conceived as Web 2.0 applications </li></ul><ul><li>Targeted to both experts and non-expert users </li></ul><ul><li>Open source to highly-cost licence tools </li></ul>Tools
  • 24. <ul><li>Dapper = Data + mapper </li></ul><ul><ul><li>Presentation, extraction and consumer Mashup tool </li></ul></ul><ul><li>DERI pipes </li></ul><ul><ul><li>Data, flow and consumer Mashup tool </li></ul></ul><ul><ul><li>Inspired by Yahoo! Pipes </li></ul></ul><ul><ul><li>It allows handling RDF documents  semantics </li></ul></ul><ul><ul><li>Does not require programming language skills </li></ul></ul>Tools
  • 25. <ul><li>Serena Mashup Composer </li></ul><ul><ul><li>Data, functionality, flow and enterprise Mashup tool </li></ul></ul><ul><ul><li>Information + Business processes + Data </li></ul></ul><ul><ul><li>Syntax for Mashup creation similar to BPEL </li></ul></ul><ul><ul><ul><li>But allows consuming any kind of resource (feeds, plain HTML, services) </li></ul></ul></ul><ul><li>Microsoft Popfly </li></ul><ul><ul><li>Presentation, data, flow and consumer Mashup tool </li></ul></ul><ul><ul><li>Does not require language programming skills </li></ul></ul>Tools
  • 26. <ul><li>Mashup technology allows end-users define applications based on their own needs </li></ul><ul><li>It is necessary to provide methods for the construction of Mashups </li></ul><ul><li>Before enterprise adoption </li></ul><ul><ul><li>Is required more research in </li></ul></ul><ul><ul><ul><li>Control Mechanisms </li></ul></ul></ul><ul><ul><ul><li>Mashup Certification </li></ul></ul></ul><ul><ul><ul><li>Mashup Quality </li></ul></ul></ul><ul><ul><ul><li>Data Intergrity </li></ul></ul></ul>Conclusions

×