Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.
-
Upload
carol-webb -
Category
Documents
-
view
218 -
download
1
description
Transcript of Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.
![Page 1: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/1.jpg)
Lecture VII: Mashups
CS 4593Cloud-Oriented Big Data and Software Engineering
![Page 2: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/2.jpg)
Outline• What are Mashups• Types of Mashups• How to build Mashups
2
![Page 3: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/3.jpg)
Modern Web applications3
SocialWeb 2.0
user involvement in the creation of contents
IntegrationData Integration
Application Integration
User Interface Integration
modernWeb applications
culture of participation
[Fischer 2009]
public APIs
Active co-creation of
knowledge and new ideas
Web Mashupswidgets
Development of
data sources
![Page 4: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/4.jpg)
Computing paradigms
Mainframe computing1 computer / multiple users
1965
Client-server computingComputer networks / multiple users
1985
“The network is the computer” (John Gage, Sun Microsystems, 1984)
SaaSDaaSHaaS
Cloud computingThe Cloud / ALL the users
2005+
“The cloud is the computer”
4
![Page 5: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/5.jpg)
The developers’ point of view…
Availability on the Web of ready-to-use “building blocks”:
• Software services (content, functionality) accessible throuhg public Web APIs to build composite applications
• Web API: Application Programming Interfacea defined set of HTTP request messages, along with a definition of the structure of response messages, which is usually in XML or JSON format
6
![Page 6: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/6.jpg)
Mashups
• Mashup: young integration practice using the Web as platform.
• Some definitions:– “...a mashup is a web application that combines data
from more than one source into a single integrated tool…” [wikipedia.com]
– “...you can integrate two or more […] Web APIs to create something new and unique, known as a mashup…” [IBM web site]
• Similar terms: service mashups, data mashups
7
![Page 7: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/7.jpg)
Mashup = Integration in the Web 2.0 way
• Highly user-driven:• Oftentimes the actual providers of
content/functionality are not even aware of being “wrapped”
• Google Maps example: initially skilled users «hacked» the code of the application
• Strong evolution: from hacking to first systematic development approaches in a few years
8
![Page 8: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/8.jpg)
Let’s see an example
• Composed of:– Google Maps (http://maps.google.com)– Craigslist (http://www.craigslist.com)
9
The HousingMaps application(http://
www.housingmaps.com)
A utility for finding a house for sale or for rent
![Page 9: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/9.jpg)
A mashup example
• HousingMaps (http://www.housingmaps.com)– http://maps.google.com– http://www.craigslist.com
GoogleMaps
Own application logic/UI
Craigslist
![Page 10: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/10.jpg)
Mashup architecturesources:• Videos• Images• Maps• News• RSS feeds• Social contents•…
mashup web site
browser
Public interfaces(API, RSS, …)
requestresponse
Data manipulation:• embedding• aggregation• integration
11
![Page 11: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/11.jpg)
The simplest case: Embedding
To add a multimedia object in a Web page, it is sufficient to copy an HTML “snippet” into the HTML code of my Web page
HTML code
flickr
foto
youtube
BROWSERRendered Web page
12
![Page 12: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/12.jpg)
Youtube videos13
![Page 13: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/13.jpg)
HTML page embedding 14
![Page 14: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/14.jpg)
HTML embedding
• <body>
• <iframe id="FlickrFrame"• src="http://www.flickr.com/search/?q=milan"• name="Flickr" style="width:600px; height:500px; border: 0px"></iframe>• <iframe id="AmazonFrame"• src="http://amazon.com/s/?url=search-alias%3Daps&field-keywords=milan"• name="Amazon" style="width:600px; height:500px; border: 0px"></iframe>• </body>
• </html>
15
![Page 15: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/15.jpg)
Content Aggregation16
Google News
![Page 16: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/16.jpg)
Visual Aggregation
http://newsmap.jp (aggregates from Google News)
17
![Page 17: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/17.jpg)
Integration18
www.housingmaps.com
![Page 18: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/18.jpg)
Created with http://maps.huge.info/zip.htm
![Page 19: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/19.jpg)
Route Map for Deliveries
http://www.lcls.org/members/routemap.aspx
![Page 20: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/20.jpg)
![Page 21: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/21.jpg)
Newsmap
http://www.marumushi.com/apps/newsmap/newsmap.cfm
USA Canada
![Page 22: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/22.jpg)
Newsmap
• Reveals underlying patterns in news reporting across cultures
• Uses Google News
![Page 23: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/23.jpg)
Components
• Collections:• ProgrammableWeb (www.programmabelWeb.com)• Mashery (developer.mashery.com/apis)
• Ecosystems: offer software components that are «compatible» and «integrable» to build composite applications
• WordPress (www.wordpress.org )offer a large set of widgets and the possibility to include corresponding plugins into the development workspace
• Netvibes.com: a portal with a huge number of widgets
24
![Page 24: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/24.jpg)
Mashup Ecosystem
• Open data
• Open set of services
• Small pieces loosely joined
• You
![Page 25: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/25.jpg)
Lightweight development process
Component discovery
and selection
Composition and
immediate deployment
Use and evolution
Mashup ideaComposition tool/
sandbox
sandbox
26
![Page 26: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/26.jpg)
Mashup: pros29
• “Lightweight” applications • reduced amount of code to be written; just the code for integrating
APIs
• «Lightweight» development availability of tools who do not require many technical skills – e.g., pipes
• Low (o zero) costs for gathering data
• Rapid developmentReduced time-to-market, quick prototyping
29
![Page 27: Lecture VII: Mashups CS 4593 Cloud-Oriented Big Data and Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022062412/5a4d1b0c7f8b9ab05998c132/html5/thumbnails/27.jpg)
Mashup: cons30
• Dependency from the online data sourcesdata quality, performances, service availbility and reliability, change in the service policy (licensing, acess restrictions, etc.)
• APIs: standards and versioning
• Intellectual property and copyright “right to remix”: in which measure?
30