Mashup was originally referred to as the practice in pop music (notably hip-hop) of producing a new song by mixing two or more existing pieces. In this blog i will be providing a brief idea on the mashup technology.
In technology, a mashup is a web application that combines data from more than one source into a single integrated tool . It thereby creates a new and distinct web service that was not originally provided by either of the source.
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 .
Other methods of sourcing content for mashups include Web feeds (e.g. RSS or Atom), web services and screen scraping .
What are web feeds?
A web feed is a data format used for providing users with frequently updated content .Making a collection of web feeds accessible in one spot is known as aggregation, which is performed by an Internet aggregator .In computing, a feed aggregator, also known as a feed reader or simply as an aggregator, is client software or a Web application which aggregates web content such as news headlines, blogs and vlogs in a single location for easy viewing.
Scraping is the process of using software tools to parse and analyze content that was originally written for human consumption in order to extract semantic data structures representative of that information that can be used and manipulated programmatically.
Types of Mashup:
There are 3 types of mashup:
- Consumer Mashup: 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.
- Data Mashup: A data mashup mixes data of similar types from different sources, as for example combining the data from multiple RSS feeds into a single feed with a graphical front end.
- Business Mashup: This is mashing of data from different sources, used in collaborative way and results are useful to a business application. This is combination of some human interaction, data aggregation and a business process associate to this.
Basic Mashup Pattern:
Here Different services from different servers are put together in one application using the Mashup technology and then published in the view for the user to access.
Components in Mashup Architecture:
A mashup application is architecturally comprised of three different participants that are logically and physically disjoint (they are likely separated by both network and organizational boundaries): API/content providers, the mashup site, and the client’s Web browser.
- The API/content providers: they are the providers required to be mashed like google.
- The mashup site : This is where the mashup is hosted. The client-side logic is often the combination of code directly embedded in the mashup’s Web pages as well as scripting API libraries or applets (furnished by the content providers) referenced by these Web pages.
- The client’s Web browser: This is where the application is rendered graphically and where user interaction takes place.
Basic Two Tier Mashup:
Mashup with intermediate (aggregation) tier:
Here, proxy can pull from services ; update client when ready.
There are certain technical challenges for mashup:
Data Integration Challenges:
Translation systems between data models must be designed. When converting data into common forms, reasonable assumptions often have to be made when the mapping is not a complete one. In addition to missing data or incomplete mappings, the mashup designer might discover that the data they wish to integrate is not suitable for machine automation; that it needs cleansing.
Mashup with Yahoo GeoRecorder:
This explains the ease of doing mashup with Java Server Pages.
The address is provided by the user, longitude and latitude is generated and the Google API sprays the picture with the required information
The Information Window Content takes the text that will be displayed in the popup window
The Map Center Location gives the address of the place to be displayed at the center.
Then click “Find it” button. This generates the longitude and latitude of the input address after the page is refreshed.
Then click the “Map it” button to map the place corresponding to the address in the next page.
The Map is displayed with the address.