12
Web Mashups -Nirav Shah

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

Embed Size (px)

Citation preview

Page 1: 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

Web Mashups

-Nirav Shah

Page 2: 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

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/

Page 3: 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

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/

Page 4: 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

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

Page 5: 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
Page 6: 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

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.

Page 7: 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

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.

Page 8: 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

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

Page 9: 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

Yahoo! Pipe : Example

Page 10: 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

Yahoo! Pipe : Example

Page 11: 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

Challenges

Technical Challenges• Data Integration Challenges: Semantic Meaning

and Data Quality

• Component Challenges

Social Challenges

Page 12: 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

Thank you!