All Topics  
Mashup (web application hybrid)

 

   Email Print
   Bookmark   Link






 

Mashup (web application hybrid)



 
 
In web development
Web development

Web development is a broad term for any activity related to developing a web site for the World Wide Web or an intranet. This can include e-commerce business development, web design, web content development, Client-side scripting/server-side scripting programming, and web server configuration....
, a mashup is a Web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
 that combines data from one or more sources into a single integrated tool. The term Mashup implies easy, fast integration, frequently done by access to open APIs and data sources to produce results that were not the original reason for producing the raw source data. An example of a mashup is the use of cartographic data from Google Maps
Google Maps

Google Maps is a free web mapping service application and technology provided by Google that powers many map-based services including the Google Maps website, #Google Ride Finder, Google Transit and embedded maps on third-party websites via the Google Maps Application programming interface....
 to add location information to real-estate data, thereby creating a new and distinct Web service that was not originally provided by either source.

ent used in mashups is typically obtained from a third party source through a public interface or API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (web services).






Discussion
Ask a question about 'Mashup (web application hybrid)'
Start a new discussion about 'Mashup (web application hybrid)'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In web development
Web development

Web development is a broad term for any activity related to developing a web site for the World Wide Web or an intranet. This can include e-commerce business development, web design, web content development, Client-side scripting/server-side scripting programming, and web server configuration....
, a mashup is a Web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
 that combines data from one or more sources into a single integrated tool. The term Mashup implies easy, fast integration, frequently done by access to open APIs and data sources to produce results that were not the original reason for producing the raw source data. An example of a mashup is the use of cartographic data from Google Maps
Google Maps

Google Maps is a free web mapping service application and technology provided by Google that powers many map-based services including the Google Maps website, #Google Ride Finder, Google Transit and embedded maps on third-party websites via the Google Maps Application programming interface....
 to add location information to real-estate data, thereby creating a new and distinct Web service that was not originally provided by either source.

Overview

Content used in mashups is typically obtained from a third party source through a public interface or API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (web services). Other methods of obtaining content for mashups include Web feed
Web feed

A web feed is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe to it....
s (e.g. RSS
RSS (file format)

RSS is a family of Web feed formats used to publish frequently updated works?such as blog entries, news headlines, audio, and video?in a standardized format....
 or Atom
Atom (standard)

The name Atom applies to a pair of related standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol is a simple []-based protocol for creating and updating web resources....
), and screen scraping
Screen scraping

Screen scraping is a technique in which a computer program extracts data from the display output of another program.The program doing the scraping is called a screen scraper....
. Many people are experimenting with mashups using Amazon
Amazon.com

Amazon.com, Inc. is an American electronic commerce company in Seattle, Washington. It is America's largest online retailer, with nearly three times the internet sales revenue of runner up Staples, Inc....
, eBay
EBay

eBay Inc. is an United States Internet company that manages eBay.com, an online auction and shopping website in which people and businesses buy and sell goods and services worldwide....
, Flickr
Flickr

Flickr is an and video hosting service website, web services suite, and online community platform. In addition to being a popular Web site for users to share personal photographs, the service is widely used by bloggers as a photo repository....
, Google
Google

Google Inc. is an United States public company, earning revenue from AdWords related to its Google search, Gmail, Google Maps, Google Apps, Orkut, and YouTube services as well as selling advertising-free versions of the Google Search Appliance....
, Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, Pictometry
Pictometry

Pictometry International is a Rochester, New York-based company that provides detailed aerial photography. Its images are taken at a 40 degree angle from low-flying airplanes....
, Yahoo, and YouTube
YouTube

YouTube is a Video hosting service website where users can upload, view and share video clips. Three former PayPal employees created YouTube in February 2005....
 APIs, which has led to the creation of mashup editors
Mashup editor

Mashup editors are WYSIWYGs for Mashup . They provide a visual interface to build a mashup, often allowing the user to drag and drop data points into a web application....
. A mashup Web application has two parts:
  • A Web page that provides a new service using its own data and data from other sources.


  • Additional content provider: Data is made available across the Web through an API or other protocols such as HTTP, RSS, REST, etc.


The client generally accesses the mashup by using a Web browser displaying a Web page containing the mashup. Various mashup platforms support the emission of RSS, Web Services, instant messages or email messages, which are in turn consumed by feed readers, rich applications, IM clients, or email clients respectively.

Mashups are different from simple embedding of data from another site to form a compound page. A site that allows a user to embed a YouTube video for instance, is not a mashup site. A mashup site must access third party data using an API, and process that data to add value for the site's users.

Types of mashups

There are many types of mashups, such as consumer mashups, data mashups, and Business Mashups. The most common mashup is the consumer mashup, which are aimed at the general public. Examples include Google Maps
Google Maps

Google Maps is a free web mapping service application and technology provided by Google that powers many map-based services including the Google Maps website, #Google Ride Finder, Google Transit and embedded maps on third-party websites via the Google Maps Application programming interface....
, iGuide, and RadioClouds.

Data mashups combine similar types of media and information from multiple sources into a single representation. An example is the Havaria Information Services' AlertMap, which combines data from over 200 sources related to severe weather conditions, biohazard threats, and seismic information, and displays them on a map of the world.

Business mashups focus data into a single presentation and allow for collaborative action among businesses and developers.

Examples

The potential use cases for mashups are as wide and varied as the Web. Some of the most common early use cases included mapping, video, and photos.

Crimes and Maps

WikiCrimes is a wiki-style Web site where users can report crimes by placing pins on a GoogleMaps based map. The Web site classifies crimes as robbery, theft, or other crime.

Video and photo

Flickrvision is an example of a mashup made using Flickr's API. CoolFlick is a mashup using the Flickr API as well as the Cooliris
Cooliris

Cooliris, Inc. is an United States corporation. Headquartered in Palo Alto, CA, Cooliris develops a range of products focused on enhancing the user experience for online media....
 embedded wall.

Employment

JobBlob is an example of a mashup made using Site Scraper. JobBlob is a mashup using aggregated job data.

Search and shopping

Travature is a travel portal that has integrated airfare meta search engines, wiki travel guides, and hotel reviews. It also allows the user to share photos and discuss experiences with other travelers.

News aggregation

Digg
Digg

digg is a social news website made for people to discover and share content from anywhere on the Internet, by submitting links and stories, and voting and commenting on submitted links and stories....
 is a mashup of various news Web sites controlled almost entirely by the users of the Web site.

Personal start pages

igoogle
IGoogle

iGoogle , a service of Google, is a customizable AJAX-based startpage much like Netvibes, Pageflakes, My Yahoo!, MySurfPad and Windows Live Personalized Experience....
, netvibes
Netvibes

Netvibes is a multi-lingual Ajax -based personalized start page much like Pageflakes, My Yahoo!, iGoogle, and Microsoft Live. It is organized into tabs, with each tab containing user-defined modules....
, and pageflakes
Pageflakes

Pageflakes is an Ajax -based start page similar to Netvibes, My Yahoo!, iGoogle, and Microsoft Live. The site is organized into tabs, each tab containing user-selected modules called Flakes....
 are mashups where users can add news, games, photos, podcasts or weather to their personal start pages. Other personal startpages such as allyve allow users to add information from personal accounts to their page.

Mashups versus portals


Mashups and portals
Web portal

A web portal presents information from diverse sources in a unified way. Apart from the search engine standard, web portals offer other services such as e-mail, news, stock prices, infotainment, and other features....
 are both content aggregation technologies. Portals are an older technology designed as an extension to traditional dynamic Web applications, in which the process of converting data content into marked-up Web pages is split into two phases - generation of markup "fragments" and aggregation of the fragments into pages. Each markup fragment is generated by a "portlet
Portlet

Portlets are pluggable user interface software components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal page....
", and the portal combines them into a single Web page. Portlets may be hosted locally on the portal server or remotely on another server.

Portal technology defines a complete event model covering reads and updates. A request for an aggregate page on a portal is translated into individual read operations on all the portlets that form the page ("render" operations on local, JSR 168 portlets or "getMarkup" operations on remote, WSRP
Web Services for Remote Portlets

Web Services for Remote Portlets is an OASIS -approved network protocol standard designed for communications with remote portlets....
 portlets). If a submit button is pressed on any portlet on a portal page, it is translated into an update operation on that portlet alone ("processAction" on a local portlet or "performBlockingInteraction" on a remote, WSRP portlet). The update is then immediately followed by a read on all portlets on the page.

Portal technology is about server-side, presentation-tier aggregation. It cannot be used to drive more robust forms of application integration such as two-phase commit
Two-phase commit protocol

In computer networking and databases, the two-phase commit protocol is a distributed algorithm that lets all nodes in a distributed system agree to commit a database transaction....
.

Mashups differ from portals in the following respects:

PortalMashup
ClassificationOlder technology, extension to traditional Web server model using well defined approachUsing newer, loosely defined "Web 2.0" techniques
Philosophy/ApproachApproaches aggregation by splitting role of Web server into two phases - markup generation and aggregation of markup fragmentsUses APIs provided by different content sites to aggregate and reuse the content in another way
Content dependenciesAggregates presentation-oriented markup fragments (HTML, WML, VoiceXML, etc.)Can operate on pure XML content and also on presentation-oriented content (e.g., HTML)
Location dependenciesTraditionally content aggregation takes place on the serverContent aggregation can take place either on the server or on the client
Aggregation style"Salad bar" style - Aggregated content is presented 'side-by-side' without overlaps"Melting Pot" style - Individual content may be combined in any manner, resulting in arbitrarily structured hybrid content
Event modelRead and update event models are defined through a specific portlet APICRUD operations are based on REST
Representational State Transfer

Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. As such, it is not strictly a method for building "web services." The terms "representational state transfer" and "REST" were introduced in 2000 in the doctoral dissertation of Roy Fielding, one of the principa...
 architectural principles, but no formal API exists
Relevant standardsPortlet behaviour is governed by standards JSR 168, JSR 286 and WSRP
Web Services for Remote Portlets

Web Services for Remote Portlets is an OASIS -approved network protocol standard designed for communications with remote portlets....
, although portal page layout and portal functionality are undefined and vendor-specific
Base standards are XML interchanged as REST or Web Services. RSS and Atom are commonly used. More specific mashup standards are expected to emerge.


The portal model has been around longer and has had greater investment and product research. Portal technology is therefore more standardised and mature. Over time, increasing maturity and standardization of mashup technology may make it more popular than portal technology. New versions of portal products are expected to eventually add mashup support while still supporting legacy portlet applications.

Business mashups


Mashup use is expanding in the business environment.

Business mashups are a key component of integrating business and data services, as mashup technologies provide the ability to develop new integrated services quickly, to combine internal services with external or personalized information, and to make these services tangible to the business user through user interfaces.

Architectural aspects of mashups


Architecturally, there are two styles of mashups: Web-based and server-based. Whereas Web-based mashups typically use the user's Web browser to combine and reformat the data, server-based mashups analyze and reformat the data on a remote server and transmit the data to the user's browser in its final form.

Mashups appear to be a variation of a Facade pattern. That is, it is a software engineering design pattern that provides a simplified interface to a larger body of code (in this case the code to aggregate the different feeds with different APIs).

Mashups can be used with software provided as a service (SaaS).

After several years of standards development, mainstream businesses are starting to adopt Service-oriented Architectures
Service-oriented architecture

In computing, service-oriented architecture provides methods for systems development and System integration where systems group functionality around business processes and package these as Interoperability Service ....
 (often referred to as SOA) to integrate disparate data by exposing this data as discrete Web services. Web services provide open, standardized protocols to provide a unified means of accessing information from a diverse set of platforms (operating systems, programming languages, applications). These Web services can be repurposed into new services and applications within and across organizations, providing business agility.

Mashup editors


Mashup editors are available to help users create or edit mashups. Examples include (alphabetically):

  • Google Mashup Editor
    Google Mashup Editor

    Google Mashup Editor is an online Mashup creation service created by Google.Currently it is a limited test service and access is restricted to a small number of developers....
  • JackBe
    JackBe

    JackBe, founded in 2001, is a privately-held software provider of enterprise mashup software. JackBe's corporate headquarters are located in Chevy Chase, Maryland....
  • Microsoft Popfly
    Microsoft Popfly

    Microsoft Popfly is a website that allows users to create web pages, program snippets, and Mashup s using the Microsoft Silverlight rich internet applications runtime and the set of online tools provided....
  • Mozilla Ubiquity
    Ubiquity (Firefox)

    Ubiquity is a collection of easy and quick natural-language-derived commands that act as mashup of web services, thus allowing users to get information and relate the same to current and other webpages....
  • Yahoo pipes


External links

  • - mashup community