Web Mashups -Nirav Shah. Introduction A Mashup is a web application that combines data from more...
-
Upload
sherilyn-parks -
Category
Documents
-
view
217 -
download
1
Transcript of Web Mashups -Nirav Shah. Introduction A Mashup is a web application that combines data from more...
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• 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/
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
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.
Server Side MashupAdvantages Disadvantages
1. The Java EE and Java SE platforms provide 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.
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!