The origin of Mashups is in Music: Creating a new song by combining songs. In information technology Mashups are applications build by non-IT Professionals by combining together data or applications from different sources, which were not planned for integration together.
The User assembles and links services to create an application
The services could be data services or could include Business Logic functionality
The user publishes the application in the Web so other users may use it or expand it as another Mashup.
Technologies used for building a Mashup based on simple published APIs include HTML, XML, simple Web Services and Representational State Transfer (REST).
The usage of mapping application especially Google Maps as a basic service for a Mashup is very common.
To the mapping service the user adds other information such as: weather forecast, banking services, restaurant, apartments for rent or for sale etc. or locations for hobbies, traveling: flights, cars to rent and landscapes.
The frequency of using a service in a Mashup is depicted in Web 2.0 API Directory
As can be seen in this page Google Maps is the most frequently used.
The architecture of Mashups looks like SOA in a Social Web 2.0 context instead of Organizational context, but are Mashups really the SOA of Web 2.0?
Are Mashups Service Oriented Business Applications (SOBAs)? No
Do SOBAs and Mashups share common attributes? Yes
Drilling down into Mashups and SOBAs characteristics we can find the following common characteristics:
Applications composition by assembling Services
Innovation – By creating a new application of assembled Services
The Innovation in SOA is extended to Processes.
Simple interfaces for enabling integration between Services
This is true for Mashups and in some cases for SOA services, however in many cases SOA interfaces would be more complex and Metadata related.
A Non-IT people are the ultimate application creators
For Mashups this vision is a reality. For SOA Services in most cases still Information Technology experts are assembling Services to applications. However, vendors are developing tools for enabling Non-IT staff applications composition.
The differentiating characteristics are the need for Robustness and management of SOA Services. This includes Configuration Management and Versioning, Quality of Service (QOS), Performance and Security.
Unlike Service builder in an Organization, a Mashup builder is not responsible for the continuous operation of it in case of infrastructure changes, additional features or any change made to one of the services which are part if it. As a matter of fact he is not responsible for anything.
Another difference is that integration between Services is preplanned for New SOA Services (unlike Wrapped Services or Composite Services), while no such planning takes place for Mashups Services.
Note that the following Web 2.0 issues and principles are applicable to Mashups:
- The Web as a Platform
The Services and the composition are implemented in the Web platform.
When using the Mashup, you trust its parts builders and its composer.
Surely, someone can misuse this trust and insert a biased or unreliable service,
For example a Car Rental agency can build a Service including only his company service as part of a Traveling Mashup including flights, car rental and other services based on Google Maps.
Community members are contributing linkage between Services, so they form a unique application. They also contribute by ranking Mashups, by using Mashups, by adding data which supplement the Service (e.g. an expert in Fishing classified and map fishing sites based on Google Maps).
Anyone can build a unique application based on Mashups, therefore the mashups could address specific needs, unlike the traditional software model of creating a one size fits all (or few sizes feet all mainstream users).
- Usage of Mashups is free of charge
Despite of the limitations cited above, Mashups as an easy to use technology enabling any Web 2.0 community member to create applications is a promise for valuable variety of innovative applications adaptable not only for Mainstream applications for mass usage, but also for idiosyncratic applications of the Long Tail of Web 2.0.