8/13/2019 Web Mashups-Nirav Shah
1/12
Web Mashups
-Nirav Shah
8/13/2019 Web Mashups-Nirav Shah
2/12
Introduction
A Mashup is a web application that combines data
from more than one source into a single integrated
tool.
Content used in Mashup is typically sourced from a
third party via a public interface or so called API
Web Mashup = API [1] + API [2] + API [N]
http://www.housingmaps.com/
http://www.housingmaps.com/http://www.housingmaps.com/8/13/2019 Web Mashups-Nirav Shah
3/12
Web Mashup genres
Mapping mashups Google Maps, Yahoo Maps, Microsoft Virtual Earth
Video and photo mashups
Flickr, Youtube
Search and Shopping mashups
eBay, Amazon
News mashups Diggdot.us= Digg.com + Slashdot.org + Del.icio.us
Example: http://www.mapdango.com/
http://www.mapdango.com/http://www.mapdango.com/8/13/2019 Web Mashups-Nirav Shah
4/12
Web Mashup architecture
Source API/content providers
Web Protocols: REST, Web Services, RSS/ATOM
Screen Scraping
The mashup site This is where the mashup logic resides, it is not necessarily
where it is executed
Server-side: Dynamic content aggregation
Client-side: Client side scripting
The client's Web browser This is where the application is rendered graphically and where
user interaction takes place
8/13/2019 Web Mashups-Nirav Shah
5/12
8/13/2019 Web Mashups-Nirav Shah
6/12
Client Side MashupAdvantages Disadvantages
1. Can be easy to implement.
2. Don't need to provide a server-side
component
3. Better Performance
4. Reduces processing load on the server
1. Allows maximum two or three
XMLHttpRequests to execute concurrently,
can limit performance.
2. Provides no buffer to shield the client
from problems in the other web site.
3. Needs to handle data of any size that the
other web site returns.
4. Needs to handle data in any format that
the other web site returns.
5. You cannot make concurrent and
asynchronous calls to many data sources
at the same time from the client.
8/13/2019 Web Mashups-Nirav Shah
7/12
Server Side MashupAdvantages Disadvantages
1. The Java EE and Java SE platformsprovide many libraries that make it easy to
access other web sites from the server.
2. The proxy used in a server-side mashup
can serve as a buffer between the client and
the other web site.
3. Allows you to transform the data returned
by a service into a different format and in
smaller chunks.
4. You can handle security requirements more
easily on the server.
5. You can make concurrent and
asynchronous calls to many data sources at
the same time from the server.
1. You need to provide a server-side proxy.
2. A service request and response needs to go
from the browser to the server-side proxy, and
then from the server-side proxy to the mashup
server. This can result in a significant delay in
receiving the response.
3. You need to protect the server-side proxy
from unauthorized use. For example, suppose
you mash up with a service that requires the
user to pay a fee. A malicious user might be
able to use the server-side proxy to access
the service and in this way avoid paying the
fee.
8/13/2019 Web Mashups-Nirav Shah
8/12
Mashup Editors
Google Mashup Editor
Microsoft Popfly
Yahoo pipes
IBM Assemble Zero
Web application from Yahoo! With GUI for buildingMashup applications
Combine many feeds into one, then sort, filter andtranslate it
Geocode favorite feeds and browse the items on an
interactive map. Grab the output of any Pipes as RSS, JSON, KML, and
other formats
You can publish your pipes and share with others
http://en.wikipedia.org/wiki/Google_Mashup_Editorhttp://en.wikipedia.org/wiki/Microsoft_Popflyhttp://en.wikipedia.org/wiki/Yahoo_pipeshttp://en.wikipedia.org/w/index.php?title=IBM_Assemble_Zero&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=IBM_Assemble_Zero&action=edit&redlink=1http://en.wikipedia.org/wiki/Yahoo_pipeshttp://en.wikipedia.org/wiki/Microsoft_Popflyhttp://en.wikipedia.org/wiki/Microsoft_Popflyhttp://en.wikipedia.org/wiki/Google_Mashup_Editorhttp://en.wikipedia.org/wiki/Google_Mashup_Editorhttp://en.wikipedia.org/wiki/Google_Mashup_Editorhttp://en.wikipedia.org/wiki/Google_Mashup_Editor8/13/2019 Web Mashups-Nirav Shah
9/12
Yahoo! Pipe : Example
8/13/2019 Web Mashups-Nirav Shah
10/12
Yahoo! Pipe : Example
8/13/2019 Web Mashups-Nirav Shah
11/12
Challenges
Technical Challenges
Data Integration Challenges: Semantic Meaning and Data
Quality
Component Challenges
Social Challenges
8/13/2019 Web Mashups-Nirav Shah
12/12
Thank you!