Web Mashups - Columbia University

Download Report

Transcript Web Mashups - Columbia University

Web Mashups
-Nirav Shah
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/
Web Mashup genres

Mapping mashups
•

Video and photo mashups
•

Flickr, Youtube
Search and Shopping mashups
•

Google Maps,Yahoo Maps, Microsoft Virtual Earth
eBay, Amazon
News mashups
•
Diggdot.us= Digg.com + Slashdot.org + Del.icio.us
Example: http://www.mapdango.com/
Web Mashup architecture

Source
•
•
•

The mashup site
•
•
•

API/content providers
Web Protocols: REST, Web Services, RSS/ATOM
Screen Scraping
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
Client Side Mashup
Advantages
Disadvantages
1. Can be easy to implement.
1. Allows maximum two or three
XMLHttpRequests to execute
concurrently, can limit performance.
2. Don't need to provide a server-side
component
3. Better Performance
4. Reduces processing load on the server
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.
Server Side Mashup
Advantages
Disadvantages
1. The Java EE and Java SE platforms
1.You need to provide a server-side proxy.
provide many libraries that make it easy
to access other web sites from the server. 2. A service request and response needs
to go from the browser to the server-side
2. The proxy used in a server-side mashup proxy, and then from the server-side
can serve as a buffer between the client
proxy to the mashup server. This can
and the other web site.
result in a significant delay in receiving the
response.
3. Allows you to transform the data
returned by a service into a different
3.You need to protect the server-side
format and in smaller chunks.
proxy from unauthorized use. For
example, suppose you mash up with a
4.You can handle security requirements
service that requires the user to pay a fee.
more easily on the server.
A malicious user might be able to use the
server-side proxy to access the service
5.You can make concurrent and
and in this way avoid paying the fee.
asynchronous calls to many data sources
at the same time from the server.
Mashup Editors









Google Mashup Editor
Microsoft Popfly
Yahoo pipes
IBM Assemble Zero
Web application from Yahoo! With GUI for building Mashup
applications
Combine many feeds into one, then sort, filter and translate 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
Yahoo! Pipe : Example
Yahoo! Pipe : Example
Challenges


Technical Challenges
•
Data Integration Challenges: Semantic Meaning and Data
Quality
•
Component Challenges
Social Challenges
Thank you!