
In web development, a Mashup is a web application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data from Google Maps to add location information to real-estate data, thereby creating a new and distinct web service that was not originally provided by either source.
Content used in Mashup is typically sourced from a third party via a public interface or API (web services). Other methods of sourcing content for Mashup include Web feeds (e.g. RSS or Atom), and screen scraping. Many people are experimenting with Mashup using Amazon, eBay, Flicker, Google, Microsoft, Yahoo and YouTube APIs, which has led to the creation of Mashup editors.
3.2 Architecture of Mashup web applications
The architecture of Mashup web applications is always composed of three parts:
1.The content provider: it is the source of the data. Data is made available using an API and different Web-protocols such as RSS, REST, or Web Services.
2.The Mashup: is the web application that provides the new service using different data sources that are not owned by it.
3.The client: is the consumer of the Mashup, often a Web browser displaying a Web page representing the Mashup. Various Mashup platforms also support Mashup that emit RSS, Web Services, instant messages or email messages, which are consumed by feed readers, rich applications, IM clients or email clients respectively.
A site that allows a user to embed a YouTube video for instance, is not a Mashup site. As outlined above, a Mashup site should itself access third party data using an API, and process that data in some way to increase its value to the site's users.
3.3 Types of Mashup
- The most common Mashup is the consumer Mashup. Consumer mashups combine different forms of media from multiple sources and combine them into a single graphical interface. Consumer mashups are aimed at the general public, that is, consumers. Examples of consumer mashups include the many Google Maps applications, iGuide and Radioclouds.
- Another common Mashup is a data Mashup. Data mashups combine similar types of media and information from multiple sources into a single graphical representation. An example of a data mashup is the Havaria Information Services' Alert Map. which combines current data from over 200 sources related to severe weather conditions, biohazard threats and seismic information from around the world, and displays them on a single map of the world. Yahoo Pipes is frequently used to define data mashups.
- Business mashups focus on various forms of data aggregation into a single presentation, but also allow for collaborative functionability among businesses and developers.
3.4 Example
The potential use cases for mashups are as wide and varied as the web. Some of the most common early use cases include mapping, video and photo, search and shopping, and news.
Some examples of each are:
Mapping :
- CLEARMAP is a mashup web application by the Chicago Police Department that integrates the department’s database of reported crimes with ArcIMS in order to help stop crime in areas and warn citizens of areas where the crime rate is high.
- TheCampingMap.com is a site that shows camp-sites in Europe.
- WikiCrimes is a wiki-style website where internet users can report crimes by placing pins on a GoogleMaps based map. The website classifies crimes as robbery, theft, or other by pin color.
Video and photo :
- Flickr is an image storage site that allows users to organize their collection of images and share them. Through the use of its Application Programming Interface (API) the content can be used by other sites to create a mashup. Flickrvision is an example of a mashup made using Flickr's API.
- youMashTube lets end-users make video mashups through Youtube's API.
Search and shopping
- Travature is a travel portal that has integrated airfare meta search engines, wiki travel guides, hotel reviews. It also allows the user to share photos and discuss experiences with other travellers.
News aggregation
- Digg is a mashup of various news websites controlled almost entirely by the users of the website.
3.5 Mashup versus Portal
Mashups and portals are both content aggregation technologies. Portals is an older technology designed as an extension to traditional dynamic web applications, in which the process of converting data content into marked-up web pages is split into two phases - generation of markup "fragments" and aggregation of the fragments into pages. Each of these markup fragments is generated by a "portlet", and the portal combines them into a single web page. Portlets may be hosted locally on the portal server or remotely on another server.
Portal technology is about server-side, presentation-tier aggregation. It cannot be used to drive more robust forms of application integration such as the one using two-phase commit.
The portal model has been around longer and has had greater investment and product research. Portal technology is therefore more standardized and mature. Over time, increasing maturity and standardization of mashup technology may make it more popular than portal technology. New versions of portal products are expected to eventually add mashup support while still supporting legacy portlet applications.
3.6 Mashups in a business environment
Mashup use is expanding in the business environment. After several years of standards development, mainstream businesses are starting to adopt Service-oriented Architectures (often referred to as SOA) to integrate disparate data by exposing this data as discrete Web services. Web services provide open, standardized protocols to provide a unified means of accessing information from a diverse set of platforms (operating systems, programming languages, applications.) The SOA standard for data services is Service Data Objects. These Web services can be repurposed into new services and applications within and across organizations, providing business agility. Mashups are a key component of integrating business and data services, as mashup technologies provide the ability to develop new integrated services quickly, to combine internal services with external or personalized information, and to make these services tangible to the business user through user interfaces.
3.7 Mashup editors
There are already several mashup platforms that help user create or edit mashups.
Examples include (alphabetically):
· Google Mashup Editor
· IBM Mashup Center
· IBM Sharable Code
· JackBe Presto
· Microsoft Popfly
· Mozilla Ubiquity
· WaveMaker Visual Ajax Studio
· WSO2 Mashup Server
· Yahoo pipes
· zembly
No comments:
Post a Comment