Mashup (web application hybrid)
From Wikipedia, the free encyclopedia
This article is about Internet technology. For usage in music and elsewhere, see Mashup (music).
In technology, 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 from Craigslist, thereby creating a new and distinct web service that was not originally provided by either source.
Mashup originally referred to the practice in pop music (notably hip-hop) of producing a new song by mixing two or more existing pieces.
Contents |
[edit] Overview
Content used in mashups is typically sourced from a third party via a public interface or API, although some in the community believe that cases where private interfaces are used should not count as mashups[citation needed]. Other methods of sourcing content for mashups include Web feeds (e.g. RSS or Atom), web services and screen scraping. Many people are experimenting with mashups using Amazon, eBay, Flickr, Google, Microsoft, Yahoo and Youtube APIs, which has led to the creation of the mashup editor.
[edit] Quotes
The mash-up part of this equation, is the offspring of an environment where application developers see it in their own selfish interest to facilitate the creation of integrated, yet highly derivative application hybrids by third parties, something they do by providing rich public APIs to their user base.
(Popfly is) a (mashup) tool for end users, not necessarily codeheads.
[edit] Types of mashups
Mashups currently come in three general flavors: consumer mashups, data mashups, and business mashups.
The most well-known type is the consumer mashup, best exemplified by the many Google Maps applications. Consumer mashups combine data elements from multiple sources, hiding this behind a simple unified graphical interface.
Other common types are "data mashups" and "enterprise mashups". A data mashup mixes data of similar types from different sources (see Yahoo Pipes), as for example combining the data from multiple RSS feeds into a single feed with a graphical front end. An enterprise mashup (see JackBe), usually integrates data from internal and external sources - for example, it could create a market share report by combining an external list of all houses sold in the last week with internal data about which houses one agency sold.
A business mashup[1] is a combination of all the above, focusing on both data aggregation and presentation, and additionally adding collaborative functionality, making the end result suitable for use as a business application.
A Telecom mashup is a telecommunications service where service elements come from more than one source and are combined into an integrated experience. For example, one could get the base service from company A, a ringback tone from company B, a voicemail service from company C, etc.
[edit] Mashups versus portals
Mashups and portals are both content aggregation technologies. Portals are 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 defines a complete event model covering reads and updates. A request for an aggregate page on a portal is translated into individual read operations on all the portlets that form the page ("render" operations on local, JSR 168 portlets or "getMarkup" operations on remote, WSRP portlets). If a submit button is pressed on any portlet on a portal page, that is translated into a single update operation on that portlet alone ("processAction" on a local, JSR 168 portlet or "performBlockingInteraction" on a remote, WSRP portlet). The update is then immediately followed by a read on all portlets on the page.
Portal technology is about server-side, presentation-tier aggregation. It cannot be used to drive more robust forms of application integration such as two-phase commits.
Mashups differ from portals in the following respects:
| Portal | Mashup | |
|---|---|---|
| Classification | Older technology, extension to traditional web server model | Newer, "Web 2.0" technology |
| Philosophy/Approach | Approaches aggregation by splitting role of web server into two phases - markup generation and aggregation of markup fragments | Adopts a more fundamental approach to content aggregation without regard to markup |
| Content dependencies | Aggregates presentation-oriented markup fragments (HTML, WML, VoiceXML, etc.) | Can operate on pure XML content and also on presentation-oriented content (e.g., HTML) |
| Location dependencies | Content aggregation takes place on the server | Content aggregation can take place either on the server or on the client |
| Aggregation style | "Salad bar" style - Aggregated content is presented 'side-by-side' without overlaps | "Melting Pot" style - Individual content may be combined in any manner, resulting in arbitrarily structured hybrid content |
| Event model | Read and update event models are defined through a specific portlet API | CRUD operations are based on REST architectural principles, but no formal API exists |
| Relevant standards | Portlet behaviour is governed by standards JSR 168, JSR 286 and WSRP, although portal page layout and portal functionality are undefined and vendor-specific | Base standard is XML Data Interchange with REST semantics. RSS and Atom are commonly used. More specific mashup standards are expected to emerge. |
It is possible to replicate the functionality of a JSR 168 portal entirely using mashup technology, but many mashup capabilities cannot be replicated using portal technology. However, the portal model has been around longer and has seen greater investment and product research. The technology is therefore more standardised and mature. In 2-3 years, increasing maturity and standardisation of mashup technology may propel it beyond portal technology in popularity. Alternatively, the two technologies may converge, with newer versions of current portal products resembling mashup servers in terms of flexibility while still supporting legacy portlet applications.
[edit] Mashup editors
There are already several mashup platforms that help user create mashups. Examples include:
- Yahoo pipes
- Google Mashup Editor
- IGoogle
- Microsoft Popfly
- OpenKapow
[edit] See also
[edit] External links
- MashupAwards - best mashups on the web
- Mashups: The new breed of Web app
- ProgrammableWeb.com - Directory of mashups and Web 2.0 APIs
- Why Mashups = (REST + 'Traditional SOA'): Web 2.0: Overview & background on Mashups, Mashup Editors and trendsaf:Datavleg (Internet)
de:Mashup (Internet) es:Mashup (aplicación web híbrida) fr:Application composite it:Mash-up (informatica) ko:매쉬업 ja:マッシュアップ (Webプログラミング) nl:Mashup (internetapplicatie) pt:Mashup ru:Мэшап (веб) zh:混搭

