Mashups - Frequently Asked Questions

What is a mashup?

How do mashups work?

Why should I mashup?

What should I mashup?

Can you give me some examples of what to mashup?

How are mashups different?

How can I get started with mashups?

What is a Mashup?

  • A consumer mashup is an application that combines data from multiple public sources within the browser and organizes it through a simple browser user interface. A good example is HousingMaps which combines rental listings from Craigslist with Google Maps for a visual representation of local apartments for rent.
  • An enterprise mashup, also often called a business mashup, is an application that combines data from multiple internal and public sources, and publishes the results to enterprise portals, application development tools, or as a service in a service-oriented architecture. Enterprise mashups must also meet enterprise application requirements for security, governance, monitoring, and availability. There are many examples of enterprise mashups in ‘7 Mashups Every Company Needs’ and ‘Mashups for Every Industry’.

How do mashups work?

Mashups are like other integration or development technologies - but they are much lighter-weight and leverage the vast amount of services available for consumption. Fundamentally, mashups have three "tiers" of architecture as follows:

  • Presentation: Mashups are almost always presented visually, in portals or portal-like applications. Portals of course come from major technology vendors (IBM, Oracle, Microsoft, SAP) or next-generation portal platforms.
  • Mashup Infrastructure: This broad category includes technology for accessing, assembling, and processing mashups, as well as ultimately serving them to applications. This is what JackBe Presto does.
  • Information Sources: Virtually anything that is a 'service' can be an information source for a mashup. This is one of the great powers of mashups. This includes internal databases, flat files, Java objects, Web Services and REST and external RSS feeds.

Why should I mashup?

Mashups allow you to build applications that meet business users’ immediate needs – faster and in many cases better than before. Here are a few reasons why you should mashup:

  1. Access both internal and external information faster. Mashups access – and combine – data faster than almost any other method, avoiding complex APIs and middleware and leveraging information that is easy to access. For certain business scenarios, where speed is critical, mashups are your fastest way to get to critical business information.
  2. Make better business decisions. Mashups give business users the ability to assemble their own 'situational applications' in response to ever-changing business requirements.  Accurate, timely information leads to better business decisions.
  3. Combine your business data in new ways. Mashups are famous for their ability to integrate different data sources – corporate data from your current systems mashed up with external data, all provided to the user in a browser for efficiency and speed.

Enterprise mashups allow non-technical users to consume potentially previously untouched data sources; create a new merged piece of information; customize (or filter) that new information as needed, perhaps even collaborate with other users by sharing the results, with the confidence that they are operating within the business requirements of security, reliability and governance.

What should I mashup?

The following are 10 typical characteristics of an Enterprise Mashup:

  1. A dynamic combination of external data sources and internal data source (public and private).
  2. Typically a maximum of up to 7 information sources.
  3. Created for the user, or done by the power- or web-savvy user.
  4. Designed to be tagged/searchable/shared with other knowledge workers.
  5. A dynamic/ ad-hoc requirement that will change over time (in other words, not anticipated to be a heavy duty, transaction based application that requires extensive knowledge of a legacy system).
  6. Typically targeted at a few users - usually line-of-business people needing to make ad-hoc decisions.
  7. An application that requires rapid assembly of information and other opinions and data, where some of that information is located externally.
  8. Time-sensitive information requirement, sometimes competitive in nature, and requires some business intelligence and workflow or collaboration with multiple data sources.
  9. Low-cost application requirement, with rapid delivery time, and yet still delivered in a reliable, secure manner that doesn't provide anarchy to IT.
  10. No requirement for sophisticated and heavy data normalizing from a BI or BPM system, the only requirement is to know where the data resides. Mashups can co-exist with BI and BPM solutions, they are in addition to, not a replacement.

Can you give me some examples of what to mashup?

Here are 10 simple examples of mashups in the enterprise:

  1. Your prospect's demographics against product and services offerings.
  2. Your enterprise risk measurements from across all monitoring points.
  3. Your daily sales charted against your inventory.
  4. Your regional military assets with enemy positions.
  5. Your product defects associated with blog comments on the web.
  6. Your expenses graphed to competitor's expenses.
  7. Your product prices compared to competitors' prices.
  8. Your portfolio charted against market news headlines.
  9. Your credit risk forecasts on your cash balances.
  10. Your internal job postings matched to external resumes.

How are mashups different?

At first glance, mashups seem similar to many application development and integration technologies - Java, Web services/SOA, ESBs, BPM, Business Intelligence. In JackBe's experience seeing customers create thousands of mashups, we see three unique mashup characteristics that separates them from other approaches:

  • User-driven - Mashups are executed for the user, not the by black-box back-end integration systems such as ESB, BPM, BPEL, etc. In this sense, a mashup must be completed by the users themselves. Without this guiding principle, we are merely sending the users back to IT for more development.
  • Bite-Size - Think of a user taking data from multiple sources and copying it into Excel. While these workers are really good at knowing how to combine data, they are often frustrated with the time and effort it takes to accomplish this manual feat. These users typically deal with small amounts of knowledge-oriented information as opposed to IT-managed applications that typically deal with large amounts of transactional information. By creating mashups, users are performing micro-integrations.
  • Web-accessible - Mashups are built upon data that could reasonably be displayed quickly in a web browser or, more precisely, data that doesn't require too much manipulation for the user to make sense of it. Standards-based interface/communication technologies such as WSDL, REST and RSS can help make this possible.

How can I get started with mashups?

  • There's a complete 'Getting Started' roadmap here.