What is a mashup in web technology ?
A Mashup (also known as web application hybrid), is a technique that websites use to provide resources, functionalities, and services from multiple sources. To put it in layman’s terms, a mashup works as an aggregator of different services. They mostly use public APIs that are generally free to use and thus, create a new service from existing ones.
Types of Mashups:
- Business mashups: They are the services that power their application and resources with the help of external web services. Thus, they promote collaborative action between businesses and developers. They provide users with a better and interactive user interface and promise users a collection of variegated information.
- Consumer mashups: They are applications that make use of different data from the available public datasets and provide a simple browser user interface that is more easily accessible. Users can use the information in a simple, elegant, and organized way using these types of applications.
- Data mashups: These applications, contrasting to consumer mashups, use the same type of data that is available on different sources, and then combine them to create an entirely new source that has all the information that cannot be found at a single source.
There are three levels that define the architecture of a mashup:
- Web Services: Accessing products functionality with API services. Tools: XMLHTTPRequest and SOAP.
- Data: Data handling like sending, storing, and receiving of data. Technologies: JSON, XML.
- Google Maps is one of the most popular services that is used by a lot of other companies/services. Applications that provide information about road conditions, using maps to show social media friends’ location, providing ratings of different cities, etc. are some services that combine Google’s data and use it in their own application.
- Amazon e-commerce is another one of the most popular services that some mashup websites use. Their API can be used in applications such as viewing product availability over different websites, cost comparison of a particular product over different websites, etc.
Using mashups has become an important and popular part of the web. It has several benefits described below:
- Providing aggregated content in one place so that users don’t have to browse through different services.
- A more rich, interactive user interface.
- The development cycle is generally faster, due to the reason that developers require less code to build them.
- Promoting greater collaborations between companies/services.
- The cost of developing a mashup website is comparatively lower because of the reduced effort in application development.
Although mashups seem to be a great option, it has some disadvantages as discussed below:
- The features of the mashup website are completely dependent on other developers, i.e. they can implement the features that are defined in the API of other websites and cannot be flexible about them.
- If the API/service of a website gets discontinued, it directly affects the mashup website.
- Contents that are being used in the mashup website are not completely secure.
- Lack of scalability is a major concern since it is unpredictable that the service used by the mashup website will be able to handle large traffic.