Mashup (Hybrid Web Application)

A MASHUP is web application that uses content from more than one source to create a new full service.

Content used in mashups is typically code from a third party through a public interface or API . Other methods of encoding content for mashups include Web feeds (eg RSS or Atom ), Javascript and widgets that can be construed as a mini web applications, available to be incorporated into other sites.

Just as blogs have revolutionized online publishing, mashups are revolutionizing web development by allowing anyone to combine data from sources such as Google , Windows Live and Yahoo! in innovative ways. Greater availability of simple and lightweight API has enabled mashups relatively easy to design. Minimum technical knowledge is required and mashups custom often introduce innovations that were considered unlikely, combining a new public availability of data and new creative directions.

Sometimes it also found references to the terms applying situational, referring to the mashups .

In 2004, the term Web 2.0 was coined at a conference at Media, referring to a so-called “second generation” of web applications, characterized by a higher degree of interaction and collaboration between users. Since then, the term came to be constantly used by the market in the wake of the rapid growth of a significant number of blogs , virtual communities, wikis and other applications.

In “What is the Web 2.0?” The term Web 2.0 does not have rigid boundaries. But in general, one can understand it as a set of principles and practices.

Some of these principles are:

Web as platform (service): There are two applications have arisen before the creation of the term Web 2.0, as examples of using the web as a service platform, DoubleClick (propaganda) and Akamai (services of data caching).

  • Offering services, not software packages.
  • Architecture focused on participation.
  • Scalability.
  • Mixture of data sources and data transformation.
  • Software for use in various types of devices.
  • Applications that act as boosters of collective intelligence.

It is in this context that mashups are inserted, they can be considered as a type of application of Web 2.0. And it is no exaggeration to say that they are probably the type that most closely adheres to the principles of Web 2.0.

Architecture of a Mashup

On Mashups: The New Breed of Web Applications [2]  consists of the following elements:

  • Content providers (or APIs)
  • the mashup site,
  • the client application (typically a browser).

The content providers usually publish their content via APIs that implement protocols or interaction paradigms based on the principles of REST , such as RSS , Atom or SOAP . In some cases, the content provider was not necessarily prepared to be used by another application. That is, its content is used in the composition of a mashup without the creator of the site or application having designed for this type of interaction. In these cases, as there is an API previously defined, mashup builders can use a technique called screen scrapping to retrieve content from those sites.

Another way to publish content to build mashups is using widgets, which are pieces of code that can be incorporated by mashup applications.

The mashup site is where the application logic. Not necessarily the execution of the application (or part thereof) will occur in the mashup server site. This is because several parts of the application will run on the content provider or the client application (browser).

One major example is the mashup site [3] . In this case, Google Maps (providing the maps) and the Police Department (providing the data of the occurrences of crime) are the content providers.

In fact, one can understand that the main difference in this type of application is the possibility of combining data generated by computer at various points (the three elements of the architecture) to obtain the final result of the mashup.

The client application is typically a browser running on the user’s computer. It executes the logic for the presentation of content. Often, it uses some logic running on the client for composing and aggregating content, and presents itself.

Technology and standards that support the Mashups

In reviewing the proposed architecture, we can see that this is based on a paradigm that, somehow, it was used by the protocols and standards of the web . By using small “chunks” of software, like the old timers of access, or even pieces of client-side code (like the code in JavaScript ), Web site designers were already in a way, assembling mashup applications .

Thus, it would not be wrong to understand that mashups are actually a natural evolution of previous paradigms, with the possibility of adding more dynamic content (extracted from databases), and present them in different formats, combined with other information .

At this point, it is interesting to present some of the technologies and standards that support the concept of mashups. Take as the three basic elements considered components of a mashup application. The content providers publish services or APIs to other applications to obtain information from their websites. Ideally, these services or APIs should function in accordance with the principles of architecture known as REST .

REST is defined as an architectural style for distributed hypermedia systems.” REST defines a set of properties with an emphasis on scalability, use of generic interfaces, independent deployment of components, and the use of intermediary components to reduce latency , provide security, and encapsulate legacy systems.

But beyond these basic web technologies, we can identify other more recent technologies (or should I say, application models), whose evolution has allowed the emergence and spread of mashups. It is not intended that the following list is extensive, given the diversity and dynamism of the web, but we can cite web feeds , Ajax , Web Services ( SOAP ), Screen Scrapping and Semantic Web ( RDF ).

Classification of Mashups

Considering the dynamic nature and to some extent, the anarchic web , it would be somewhat risky to propose some kind of ranking of the mashups. However, as there are some proposals of different classification means that it is interesting to show these possibilities, for information.

Considering the above possibilities, it seems to make sense to classify mashups in more than one dimension: as the origin and composition of information as the target audience, as its purpose or use.


Leave a Reply