How to Create Web Mashups

By David Strom Print this article Print

Seven steps toward creating your first enterprise combo of newsfeeds, web sites and data.

By now you know what a Web mashup is. These combinations of open-source and other publicly available software that can pull together disparate info with little or no programming skills have been all the rage for a couple of years. So isn’t it about time you brought mashups into your enterprise? Here’s how to get started:

STEP 1: Get a good feel for what’s possible.

Rather than suffering through a tedious explanation of what mashups can do, go to a mashup site and try it for yourself. Check these out:

  • Pageflakes.com allows you to construct your own customized Web portals using a variety of widgets and tools. Other places that have something similar include iGoogle.com (using Google’s applications) and My.Yahoo.com (using Yahoo’s apps).
  • Dapper.net goes a step further and allows you to assemble small programs that can extract data from various Web sites. That’s what we at Baseline used to create our first Facebook application.

STEP 2: Pick your data sources.

Now that you have an idea of what you can do, you need to find a place to get started with the appropriate tools, data sources and programming interfaces you’ll mash together. To get a sense of what’s out there, go to Programmableweb.com, which includes directories of thousands of mashup examples and links to hundreds of programming interfaces.

Once you’ve surveyed the landscape, think about where your data is coming from and what you want to do with it. Do you want to combine something that is available on a public Web site with your corporate data, a private Web site (such as your LinkedIn or Facebook account) or something on your hard disk? The places your data comes from will determine what platform and tools you choose next.

STEP 3: Pick your development platform.

Once you know your data sources, start with one of the top five platforms and work your way from there:

Google APIs (code.google.com) has APIs for public feeds using the Google search engine, calendar and mapping APIs, and many others—mostly using Java-based tools. This is probably the richest place, but it’s also the one that requires the most programming skill to navigate and master.

At the opposite end of the programming scale is Microsoft’s universe of mashups. To see what is available, download Silverlight and set up a Windows Live ID account before going to Popfly.com, which is its graphical mashup editor. You’ll also need BizTalk server if you want to integrate real-time supply chain and process management.

Yahoo Developer Network (developer.yahoo.com) also has an extensive list of program interfaces to its sites, including del.icio.us, Flickr and, of course, its search engine. The network specializes in various programming languages besides Java, including Cold Fusion, .NET, Python and Flash. If you’re going to mash up any of Yahoo’s sites, this is the place to start.

Amazon’s Developer Connection (developer.amazonwebservices.com) is a collection of interfaces for its Web Services storefronts and payments, as well as its S3 storage service and SimpleDB database service, along with other commerce-related APIs. Amazon supports C# and PHP, as well as Java and Ruby. This is a good place to start if your mashups are going to be e-commerce-related.

If you are a Salesforce.com customer and want to use your SFA data in a mashup, take a look at Salesforce’s Developer network (salesforce.com/developer), under the “Getting Started” tab. You’ll find a lot of basic materials, including videos and step-by-step mashup instructions.

If you have the budget for premium tools, try SnapLogic.com, which has more advanced features with an easy-to-learn, visual drag-and-drop editor. Enterprise-grade tools from Kapow and Worcsnet also enable you to connect various data sources without specific programming skills.

This article was originally published on 2008-04-30
eWeek eWeek

Have the latest technology news and resources emailed to you everyday.