The architecture of mashup web applications is always composed of three parts:
Mashups should be differentiated from simple embedding of data from another site to form compound documents. 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.
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' AlertMap 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.
Some examples of each are:
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 organise 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.
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.
Digg is a mashup of various news websites controlled almost entirely by the users of the website.
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. Microsoft's Connected Services Sandbox is an example of a "service development environment" (also referred to as a "service development platform" or a "service development framework") that enables developers to more easily create telecom mashups.
Nested, embedded, sequential or recursive telecom mashups, where a large number of services are used, are considered risky or "over-the-top" (OTT) by network operators. Because of their complexity, such mashed up services can be difficult to control and charge, and therefore may cause operators to lose revenues. In addition, operators are subject to government fines or customer litigation from lax or overzealous conformance to Lawfully Authorized Electronic Surveillance (LAES) in the management of OTT mashups.
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 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 the one using two-phase commit.
Mashups differ from portals in the following respects:
|Classification||Older technology, extension to traditional web server model using well defined approach||Using newer, loosely defined "Web 2.0" techniques|
|Philosophy/Approach||Approaches aggregation by splitting role of web server into two phases - markup generation and aggregation of markup fragments||Uses APIs provided by different content sites to aggregate and reuse the content in another way|
|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||Traditionally 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 standards are XML interchanged as REST or Web Services. RSS and Atom are commonly used. More specific mashup standards are expected to emerge.|
The portal model has been around longer and has had greater investment and product research. Portal technology is therefore more standardised and mature. Over time, increasing maturity and standardisation 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.
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.
Mashups appear to be a variation of a Facade pattern. That is, it is a software engineering design pattern that provides a simplified interface to a larger body of code (in this case the code to aggregate the different feeds with different APIs).
Mashups can be used with software provided as a service. Its role in service oriented architecture is often to give the end user a more customised, familiar, or simply easy to implement interface. Geodata provided as a service, for example, is the ideal companion for a mashup with the Google Maps API.
If mashups are examined from a new media point of view, it is apparent that these applications share a lot in common with the theory of ‘Remediation’.
According to new media scholars Jay David Bolter and Richard Grusin, "no medium … can now function independently and establish its own separate and purified space of cultural meaning". Essentially, this means that all forms of current and future media can be considered as altered forms of already existing types of media. For example, photographs are simply a remediation of paintings, film is a remediation of stage productions and photography, and television is a remediation of film, vaudeville and radio.
Flew (2008), in an alternative, widely applicable version of the term, considers remediation to be the “extent to which digital media content is generated by the combination and collage of already existing media content that is reassembled in the digitally networked environment”.
Media ecologist Paul Levenson defines remediation as the “anthropotropic” process by which new media technologies improve on or remedy prior technologies.
While originally the term ‘remediation’ was aimed mostly towards ‘traditional’ mediums such as photography and television, the basic theory can also be applied to original web content and the mashup applications that alter and expand on them.
Effectively, mashups are remediations of whatever media the mashup is based on. For example, Diaroogle is a mashup allowing the user to search for public toilets in the New York, NY metropolitan area over the Internet or through their mobile phone, using Google Maps technologies and a database of public toilet locations. This makes Diaroogle a remediation of Google Maps technologies as well as the public toilet database. Also, Visual Headlines is a remediation of news outlet CNN and photographs (mostly from flickr.com), as it pulls the main news headlines of the day from CNN, and combines them with an image search of key-word related photos.
There are already several mashup platforms that help user create or edit mashups. Examples include (alphabetically):