Service Mashups
An Online Platform for Web APIs and Service Mashups
Mashups are flourishing on the programmable Web. Designers create mashups by combining components of existing Web sites and applications. Although the rapid mashup proliferation offers many opportunities, a lack of standardization and compatibility offers considerable challenges. To address this, the IBM Sharable Code online service platform uses an innovative domain-specific language that provides a common structure and design for mashups as well as facilities to help share and reuse mashup components.
E. Michael Maximilien IBM Almaden Research Center Ajith Ranabahu and Karthik Gomadam Wright State University
T
he Web is now programmable. This fact has been facilitated and accelerated by Web data's availability as structured XML feeds (such as RSS and Atom) and by the externalization of Web application interactions through application programming interfaces. Indeed, most new Web sites and applications expose either data feeds or more advanced APIs, such as representational state transfer (REST) services or the Atom publishing protocol (AtomPub). Currently, the primary manifestation of the programmable Web are mashups. Mashups combine views, data, and logic from existing Web sites or applications to create novel applications that focus on situational and ephemeral problems. Developers are now using various Web APIs to create a plethora of mashups to solve all types of problems, from esoteric mashups that record the location and availability of
1089-7801/08/$25.00 © 2008 IEEE
rare gaming consoles to those that create Sudoku games from Flickr photos. However, there are also more generally useful mashups, such as those offering weather information and mapping services. Mashup directories and marketplaces let users rank and discuss mashups. ProgrammableWeb.com is one such directory; as of April 2008, it listed more than 3,000 mashups and more than 740 different APIs. Similar directories include StrikeIron.com and Mashable.com. The many available mashups suggest a flourishing and innovative Web, but they also raise new challenges, including that · current mashups are point solutions, lacking principled approaches to architecture and design; and · many similar mashups use the same APIs, but share nothing else in common.
IEEE INTERNET COMPUTING
32
Published by the IEEE Computer Society