Mashup (hybrid web application): new generation of Web-based applications

18 September, 2008 at 07:26 11 comments

Mashups are new and exciting aspects of Web 2.0. As is often the case with new technologies or approaches the industry often gets caught up in promoting the value proposition of what’s emerging. The hype often muddies the water between the value of what can be created with the new technology and the value of what exists today. With mashups, it’s often unclear to IT professionals how their existing Web applications might be different from the proposed innovative approach to mashing-up data with a browser.

One of the first questions that customers often ask is “What’s the difference between a mashup and the Web applications that we currently use in our enterprise today?” The difference has little to do with technology or the integration of systems. Instead, it reflects the ease with which the application can be created by users, how the application is intended to be used, and the lack of nonfunctional requirements (for example, reliability, availability, and performance) that need to be addressed after the mashup or Web application is deployed.

Innovation in the Programmable Web: Characterizing the Mashup Ecosystem

Mashups: A Web 2.0 child

As noted earlier, mashups utilize many of the same technologies as traditional Web applications both in the enterprise servers and in the browser. The concept of mashups is not new, as businesses and Web developers have been aggregating and integrating data for the past decade using the Web as a platform. To minimize confusion, let’s clarify a few points about mashups. For many, mashup is considered a technical term regarding the mashing of disparate data to produce something new and interesting. A situational application is considered a tactical application, one that is often temporary and built by the people who use it. In this respect, a mashup can be a situational application, and a situational application can be a mashup. For this article, mashup means a situational application that is implemented as a mashup. See figure 1 for an overview.

Figure 1. Characteristics of mashups and situational applications
Characteristics of mashups and situational applications

A primary difference between mashups and traditional Web applications concerns the mashup application life cycle and the tendency of mashups to join seemingly unrelated data from public sources in meaningful ways with little or no formal agreements with the data providers. (more)

Types of mashups

There are many types of mashups, such as consumer mashups, data mashups, and business mashups. The distinction is somewhat arbitary because the underlining technology is the same regardless of the use case.

The most common mashup is the consumer mashup. Consumer mashups combine different forms of media from multiple sources and combine them into a single graphical interface. Consumer mashups are aimed at the general public, that is, consumers. Examples of consumer mashups include the many Google Maps applications, iGuide and Radioclouds.

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

Business mashups focus on various forms of data aggregation into a single presentation, but also allow for collaborative functionability amongst businesses and developers. Serena Software is a company involved in the business mashup industry.

Service mashups

Recently, in the context of the Web, the mashup concept has emerged, and researchers have developed a huge number of Web 2.0 applications. But what exactly does mashup mean? It simply indicates a way to create new Web applications by combining existing Web resources utilizing data and Web APIs. Mashups are about information sharing and aggregation to support content publishing for a new generation of Web applications. By extension, service mashups — the theme of this special issue — aim to design and develop novel and modern Web applications based on easy-to-accomplish end-user service compositions. Combining Web service technologies with fresh content, collaborative approaches (such as Web 2.0 technologies, tags, and microformats), and possibly Web data management and semantic technologies (RSS, RDFa, Gleaning Resource Descriptions from Dialects of Languages, and the Sparql Protocol and RDF Query Language) is an exciting challenge for both academic and industrial researchers building a new generation of Web-based applications. Researchers have created different mashup tools and platforms, letting developers and end-users access and compose various data that Web applications can provide. IBM’s QEDWiki, Yahoo Pipes, Google Mashup Editor, and Microsoft’s Popfly are some well-known examples of mashup platforms that users have largely adopted. Yet these platforms and associated tools represent only early and limited sets of capabilities that are sure to be followed by more powerful and flexible alternatives. (more)

Key research issues in service mashups

Although many have already adopted the (service) mashup concept and recognized its value, realizing the concept is still challenging, and much work remains before we’ll see mashup applications in a mature stage. Let’s briefly discuss some key issues we must consider in the future to improve sharing (registration and publication), finding (search and discovery), reusing (invocation), and integrating (mediation and composition) services.

The first key challenge is that of semantic heterogeneity. Compared to data, services can present a broader form of heterogeneity. Correspondingly, the Web services research community has identified a broader form of semantics — data (I/O), functional (behavioral), nonfunctional (quality of service, policy), and execution (runtime, infrastructure, exceptions). Several research projects have looked at semantics for traditional (WSDL or SOAP) Web services to help address heterogeneity and mediation challenges, and the community took a step toward supporting semantics for Web services by adopting Semantic Annotation for WSDL (SAWSDL) as a W3C recommendation in August 2003. (more)

In this issue

The four articles in this issue address some of the challenges inherent in developing mashup-services-based advanced Web applications.

In “Mashing Up Search Services,” Daniele Braga, Stefano Ceri, Florian Daniel, and Davide Martinenghi propose a visual service mashup language for graphically composing and automatically executing queries over search services. They define search services as services with a variable number of ranked data. The proposed language lets users declaratively specify a query and mash up registered services in a drag-and-drop fashion to compose that query. The authors build service compositions as directed acyclic graphs whose nodes are service invocations and whose arcs are connections between services. The authors propose a physical service access plan for the Web service composition’s execution needs, such as generating a schedule of series or parallel service invocations, orchestrating such invocations, and joining data from different services into a ranked output. They argue that their language enables interesting runtime environments capable of deriving different executable service invocation strategies. Researchers are still working to meet other challenges, such as mastering more complex dependencies among services and supporting reliable and transactional Web services.

In “Composing RESTful Services and Collaborative Workflows: A Lightweight Approach,” Florian Rosenberg, Francisco Curbera, Matthew J. Duftler, and Rania Khalaf propose the extensible Bite language based on a lightweight process composition model for both Web data-driven applications and Web workflow composition. Bite combines SOA process composition principles with REST architectural requirements and workflow functionalities. It lets users implement RESTful service composition and interactive workflows.

In “An Online Platform for Web APIs and Service Mashups,” E. Michael Maximilien, Ajith Ranabahu, and Karthik Gomadam propose an online mashup platform that enables the construction, reuse, sharing, deployment, and management of Web APIs and service mashups. The proposed platform’s main characteristic resides in its domain-specific language, which is introduced to explicitly represent the activities that a mashup designer must fulfill, such as data mediation and service protocol mediation. The authors have deployed the IBM sharable code platform on IBM alpha works services.

Finally, in “Understanding Mashup Development,” Jin Yu, Boualem Benatallah, Fabio Casati, and Florian Daniel provide an overview of some popular and representative mashup development tools and frameworks. Mashup in this article refers to Web applications comprising data, application logic, and UIs of existing applications or services. The authors compare and discuss these tools and frameworks by considering four dimensions: the component model, which describes the mashup components’ characteristic properties; the composition model, which specifies how components are glued to create a mashup application; the development environment, and the runtime environment. In their discussion, the authors conclude that mashup tools’ main characteristics are simplicity, usability, and ease of access. They also identify some perspectives that could improve mashup tools, such as describing user interfaces as components that can be reused and integrated like services.

Example of Mushup Application

  • The mashup below uses the Yahoo API to create a traffic mapping tool. Enter the city and state for a view of traffic accidents, delays, and other incidents in your area. If no markers are present, try entering New York, New York where unfortunately, accidents seem to be ever present in the city. (follow me)
  • An Ajax-Mashup Sample Application on Sun Java System Web Server 7.0 (follow me)
  • CLEARMAP is a mashup web application by the Chicago Police Department which integrates the department’s database of reported crimes with Google Maps in order to help stop crime in areas and warn citizens of areas where the crime rate is high.
  • WikiCrimes is a wiki-style website where internet users can report crimes by placing pins on a GoogleMaps based map. The website classifies crimes as robbery, theft or other by pin colour

David Barnes demo of IBM Mashup Center


Bookmark and Share


Entry filed under: Internet, Mashup, Web 2.0, Web Services. Tags: , , , , .

JavaFX: Tutorials and Demos New episode from Basic Introduction to AOP (Aspect Oriented Programming)

11 Comments Add your own

  • 1. James Williams  |  18 September, 2008 at 14:53

    Interesting and informative article. The specific application we have in mind at The Web Service is to make the setup and then the sharing of data sources something that only takes a few moments so that more time can be spent on the actual development of the application. We reckon that pretty soon SQL servers will be a thing of the past… is this too much to expect? They might be powerful but they’re pretty fiddly.

  • 2. Maurizio Storani  |  18 September, 2008 at 15:30

    hi James
    … data-as-service, it can be an idea
    Is it like a distribuited DB?

  • 3. James Williams  |  23 September, 2008 at 15:53

    Data-as-a-service… the way we’re managing it is to basically host the data – it’s all in one location, with the ASP. Setting access and various administrative rights is simple though… hopefully it’s explained fairly lucidly at website homepage… we look after the data and generate code snippets for the developers.

  • 5. Rashmi  |  20 November, 2008 at 12:47

    Excellent article explaining mashup concepts!

    I have a question actually. what if I want to build a mashed up site, however, do not want to use the mashup editors like popfly or yahoo pipes. My site aggregates data from varied sources and displayed in unified way using portlets on a portal. Can I still term it as a mash up?

  • 6. Maurizio Storani  |  20 November, 2008 at 12:57

    Hi Rashmi

    ..A primary difference between mashups and traditional Web applications concerns the mashup application life cycle and the tendency of mashups to join seemingly unrelated data from public sources in meaningful ways with little or no formal agreements with the data providers

    I think that you still term it as a mash up despite you don’t use the mash up editor.


  • 7. Rashmi  |  20 November, 2008 at 13:09

    Thanks a lot for such a quick response! 🙂

  • 8. loyolatechblog  |  7 February, 2011 at 20:22

    […] Mashups is a web page or application used to combine data or functionality from two or more sources to […]

  • 9. Web Ranking  |  23 April, 2013 at 17:56

    Hello! I just want to give a huge thumbs up for the good info you may have right here on this post.
    I will likely be coming again to your blog for more soon.

  • 10. Anonymous  |  5 July, 2013 at 15:12

    I have an excited synthetic vision with regard
    to detail and can foresee troubles just before these people
    take place.

  • 11. Carmen  |  13 July, 2014 at 18:42

    Diifferent allocation schemes for radio resource (RR) management have been defined in order
    to multiplex several MSs on the same physical channel.
    Wylder is a part time freelancer and amateur author.
    Ask yourself the hard questions, and then match your needs to one off
    these user profiles.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed

IT Passion’s Store



Get the Source
OSGi supporter
JUG Milano

Upcoming Events


Blog Stats

  • 382,942 hits

My PageRank

What's My Google PageRank?

%d bloggers like this: