Book Image

Ruby on Rails Web Mashup Projects

Book Image

Ruby on Rails Web Mashup Projects

Overview of this book

Table of Contents (14 chapters)
Ruby on Rails Web Mashup Projects
Credits
About the Author
Acknowledgements
About the Reviewer
Preface

Types of web mashups


There are some existing classifications of mashups in various literatures available on this subject though none are authoritative. In many cases, web mashups are categorized according to their functionality; for example, some define data mashups, photo and video mashups, news mashups, and business mashups. However, in this book, I classify web mashups by how they are used in building an application. From this perspective, we can see two broad types of web mashups:

  • A fully standalone mashup application.

  • An embedded mashup plugin.

A mashup application is a web mashup that provides a complete set of functions for the user. This means a mashup application is the entire purpose of the system. For example, a mashup might take data from Flickr, the photo storage and sharing application and mash it up with Google Maps, the online mapping application to display photos that come from a particular geographical area. By themselves, neither Flickr nor Google Maps are able to provide these features. However, this mashup's functionalities only come from combining both APIs; the web application cannot exist without the APIs. The functionality of the mashup is a synergistic product of creative usage of APIs from both sources.

A mashup plugin, on the other hand, only provides part of the functionality of an existing web application. For example a leave (time off work) submission and approval application's core functionality is to allow users to submit and approve leave as part of an HR process. A mashup plugin can be embedded into this application to allow an employee to apply optionally for leave through an online calendar and send a text message to the manager to alert him or her. The data from the online calendar is passed to the core application and also the text messaging APIs to enhance the value of the core application. However, the leave submission and approval application can still exist and its core functionality is not reduced without the mashup plugin.

The difference might not be apparent at first glance, but the thinking behind the mashups and their creation can be quite different. Mashup plugins are usually created to supplement an existing application that is probably not a mashup. They are a means of providing more services and data to the user of the application. Mashup applications, on the other hand, are created mashups in the first place and all the functionalities are derived from the mashup APIs they source from.

This has an interesting implication in developing web mashups. While many still regard web mashups as interesting technology toys and probably the latest buzzword alongside AJAX and Web 2.0, this classification of web mashups allow us to see mashups not just as Web 2.0 startup applications but potential value-added services for our existing applications. While mashup applications are an exciting and growing phenomenon on the Internet, mashup plugins will probably provide the most practical way of using mashups immediately within an existing environment.