We talk about mashup through a superposition of two images from different sources, superposition of different visual and audio data, for example in order to create a new experience.
In the case of websites, the principle of a mashup is to aggregate content from other sites, to create a new site.
To do this, usually is used the XMLHttpRequest object, RSS, AJAX client side, and the API (or Web Services) of the sites which we mix the contents.
More and more content publishers offer free API to encourage the developer community to create mashup using their content. Composite applications are based on event-driven programming.
This is the case of Google, Yahoo!, Amazon, eBay, or FedEx (which allows a trader to supply on its own website the status of a delivery he sub treated), their interest being to encourage developers to spread and disseminate their content.
Wild mashups are not always welcome and their business is not appreciated as they use data that does not belong to them. For cons, the business mashup is a booming technology, because it relies on products that address governance and security. The goal is to assemble, in a concerted way, internal or external business applications to create value.
Types of composite applications
Currently, composite applications appear under four general forms concerning the presentation, the data, the general public and finally the company.
Composite applications for presentation are the most well-known type, the best example of which is shown by the many Google Maps applications. They combine elements from multiple sources by hiding this fact behind a unified simple graphical interface.
The second type relates to data. An application of data mix the data from different sources, such as combining multiple RSS feeds or web services, to create or not a final result presented graphically. In case there is no GUI the result can eg be fed back into the system again via a third party web services. Triggering the mashup data can be done by a call of a web serviceexposed by the composite application itself.
Regarding trade and the general public, a hybrid application combines the above (data presentation), focusing on both the data merger and the data presentation, thus adapting the final result to a commercial application or consumer.
Finally, a hybrid enterprise mashup application (or business mashup) also combines the above (data presentation) by adding a collaborative layer (workflow). Sources can be internal and/or external. Workflow is used to validate the data by different actors. The goal of an enterprise mashup is to produce applications that meet business problems. For example, you can create a workflow to validate a discount on the sale of a house. In the validation slip one will find a Google Maps locating the house but also visualize and trace the validation of the return of the property. Finally we can create a report on market share by combining an external list of all homes sold last week with internal data on homes sold by a particular agency.
Applications in the field of telecommunications
The use of mashup is also being considered by traditional telecom operators (BT, Verizon Communications, …) and new entrants (Yahoo, Google …) in order to create and deliver faster innovative communication services. Also this type of technology envisioned in the private telecommunications networks in order to combine faster applications and corporate processes (eg customer relationship) with micro-applications (“bricks”) communicating such as click-to-connect presence, location, VoIP etc.
The idea is to reduce the level of expertise required and the complexity of development, with an “abstraction” layer between the bricks of the existing communications and telecom infrastructure, thereby making them accessible to a broader community of developers via the new web environment:
- Interfaces that provide a window on the “right” level of functionality required from the various network components
- Interfaces that provide access to certain components of the network with the appropriate rights for trusted users/developers and other
- Interfaces that provide access to IT functions classics like billing, “provisioning”, measuring performance and quality of service …
The most common examples
The most commonly used API is undoubtedly that of Google Maps. Moreover there are many sites or blog specializing in identifying these mashup.
The Google Maps API allows you to set up various services geolocation. For ex., a site with a plane to fly over the GoogleMap.
Also e-commerce APIs such as eBay or Alapage to allow mashup site users to consult the catalog item or analyze or track sales.
There are also several websites to find the cheapest fuel near you.
Some sites merge several technologies using for ex. the GoogleMap API, Geonames and RSS feeds from Google News, to geo-locate any RSS feed by highlighting countries targets.
Advantages and disadvantages of mashup
Mashups have a significant innovation potential by merging multiple Internet services. They also offer the ability to deliver web applications quickly, at low cost and with reusable components.
The advantages are clear enough as regards the API providers: Their APIs allow the greatest number of broadcast their content by adapting it to the needs they could never identify previously and whose development would cost them a lot of time.
In short more customers while spending the least amount of money. More mashups pose to the web community a strong innovation potential by merging multiple Internet services.
However, despite all these positive points for the web in general, there are more and more security issues regarding this technology.
- Also we can talk about another type of security: the safe operation of mashup websites.
And security of developments is very low due to the ease with which the provided bricks (API, libraries, open source applications …) are made to handle. Novice developers can create mashup without even understanding that the code used can cause problems.
Translated from Wikipedia