Programming On-Offline Mashups

Using Glue Code, Data, Service and Technology Mashups in Development

© Guy Lecky-Thompson

Various definitions of mashups for both on and offline technology applications in developing new services, tools, and software solutions.

Although Wikipedia lists mashup under four main headings, there are alternative possible uses for mashup technology in development. If Wikipedia is taken as the reference, the four main groups are:

Clearly, a mashup is a combination of two or more sources. In development terms, these sources could be data, service or pure technology (i.e. software applications, services or tools). With this in mind, this article will explore some possible mashups, from the point of view of a programmer.

Glue Code

IBM has acknowledged the concept of glue code in an article entitled 'Improving the Quality of WebSphere Commerce Customizations, and defines it as "Anything that offers no immediate logic."

The guiding principle of using glue code is that it should only link two pieces of working, fully tested, functionally sound, application code. In mashup terms, glue code is the holder for the combination of services - data or behavior - that presents them to the wider audience.

Where glue code has its own behavior, that behavior should be simplistic enough that it can be easily debugged.

Data Mashups

A data mashup exists when a programmer takes data from two (or more) sources, and combines them to produce output that would not have been possible without the mashup taking place. The result of the mashup is data, or code, that can be used in a software application.

This is slightly different from a traditional data mashup which takes two streams of XML (such as RSS feeds) and combines them to produce a result. Yahoo! Pipes are an example of a data mashup technology at work.

Service Mashups

Service mashups occur when a user combines two or more services (usually online) to produce a third service. This is similar to a data mashup, except that the user actively seeks the data that they are using, rather than just taking it as a feed.

An example of a service mashup might be taking the XML list of best selling items from Froogle, using it to do a search on Google, and then extracting a list of keywords from AdWords, based on the content of each page scraped as a result.

Technology Mashups

Finally, and of most import to programmers, is the possibility to ride on the shoulders of existing technology in creating a new application or service. After all, if the customer can be satisfied by a combination of proven, off-the-shelf solutions held together by easy to maintain glue code, then both sides will benefit.

The client will receive a great service - robust, and easy to develop further - and the developer will be able to create something quickly and cheaply that is easy to maintain. Developers need to understand the importance of mashups and really think outside the box when delivering client-oriented solutions.


The copyright of the article Programming On-Offline Mashups in Computer Programming is owned by Guy Lecky-Thompson. Permission to republish Programming On-Offline Mashups must be granted by the author in writing.




Post this Article to facebook Add this Article to del.icio.us! Digg this Article furl this Article Add this Article to Reddit Add this Article to Technorati Add this Article to Newsvine Add this Article to Windows Live Add this Article to Yahoo Add this Article to StumbleUpon Add this Article to BlinkLists Add this Article to Spurl Add this Article to Google Add this Article to Ask Add this Article to Squidoo