Mashup essentials
Most computer users have had the experience of wanting to view sets of information side by side but being thwarted because the information comes from different sources. Often, they resort to cutting and pasting from one to another. An emerging technology for overcoming that barrier is so-called "mashup" software, which provides a unified view of information from different sources. Although a small market now, those products are increasingly providing an alternative to time-consuming manual processes or expensive custom integrations.
A mashup presents information from two or more sources in a single interface, via a micro-integration that is usually at the presentation or data level. The term is borrowed from the musical world—a musical piece is combined with one or more others to create a third "original" musical piece. On the Internet, one of the earliest mashups was a combination of crime data with map data from Google, to show a geographic representation of crime rates.
"The promise of mashups is that they allow individual users to combine content on the fly that is completely tailored to their needs and their working style," says Oliver Young, an analyst at Forrester. "Mashups allow users to create their own mini-application without IT oversight or resources." At this point, Young adds, the major obstacle is that most data sources are not yet built on a service-oriented architecture (SOA), so drawing in the information is not easy. Although mashups can be created without SOA, they are greatly facilitated by that technology.
Companies that have not implemented SOA can create mashups using a variety of tools that are intended to create data services where none previously existed. "These are basically screen scrapes," says Young, "and they have value, but are not transformational. They are an interim method of bridging the gap between legacy applications and mashups, without relying on SOA."
In the public sector, knowledge workers frequently need to access and interpret information from multiple sources. In the intelligence community, the need for rapid updates and analysis is ongoing. At the Defense Intelligence Agency, a system called OverWatch monitors areas of concern throughout the world.
"In the past," says Steve Willett, a specialist at DIA, "our analysts would have to check multiple sites to access the information they needed, because HTML pages with relevant information were scattered through many agencies."
DIA began the move to service-oriented architecture (SOA) several years ago to better support military operations by improving access to data sources, and has created a data layer that can be bound to services that are mission-critical. SOA also allows for ad hoc services at runtime, providing greater flexibility in integrating information from a variety of sources. In addition, a governance system has been developed using off-the-shelf technology such as public key infrastructure (PKI) authentication, which is then wrapped around the data and presentation layers.
The combination of those capabilities is allowing DIA to make use of a mashup platform called JackBe, which pulls information in from multiple sources to present in a single interface. Those sources include maps, RSS feeds and Web pages, which all combine to produce the "situation awareness" required by DIA. Users can create the view dynamically or add to an existing one.
"A user can update a map with RSS information that relates to that geographic area," says Willett, "or drag items onto the ticker and they start running along the bottom of the screen." Because security is handled by the governance layer, users can access only the information they are authorized to see.
JackBe uses Asynchronous JavaScript and XML (AJAX) technology, which allows portions of a page to be loaded rather than requiring each page to be completely reloaded when the data changes. That technique improves speed and performance of browser-based applications.
Enterprise mashups are distinctly different from consumer mashups, according to John Crupi, CTO of JackBe. "While consumer mashups take place in the browser," he explains, "enterprise mashups happen in the data center. Therefore, the mashup can take into account security and governance."
JackBe can also push out data to the iPhone or wikis and blogs or any other Web 2.0 interface. "IT can’t go to the users anymore and tell them that it will take two years to roll out an application—the pace of change is just too fast," Crupi says. Users want to define their own interfaces and immediately get the information they need.
Knowledge workers in the enterprise want speed, but they also want slices of data and smaller interfaces, rather than having to launch a big application to see just a few pieces of relevant information. "We know this because people are always copying and pasting data into Excel—they experience that interface as more manageable," Crupi says. For a long time, integration was oriented toward the back end, but now, he says, there has been a sudden burst of innovation on the consumption side. More and more, the user is becoming the director.
Turnkey SOAProject managers often need to view milestones and budgets together, but generally that information resides in different databases. Integrating the information through middleware or using manual approaches can be time-consuming and expensive. Mashups offer a way of integrating the information flexibly and dynamically, and at a much lower cost.