Mashup provides a way of forming new applications from existing Web content using APIs provided by different Web sites. Such a nature makes mashup a promising technology to deliver a Web-based Enterprise application with rich information of various themes, so called thematic mashup. However, the development of thematic mashup is ad-hoc and mostly from scratch, which can be a barrier for Enterprise applications to leverage mashups. For an Enterprise application, the complexity of business logic and the requirements to adapt to a changing business environment demand a development method that helps to achieve reusability and maintainability. Component-based development method has proven practical to reduce the complexity of software development by reusing modular components.
In this paper, we propose a reference architecture with key components identified for developing thematic mashups. We further demonstrate the usage of this reference architecture in a case study - developing a thematic mashup for a Web-based property valuation application. The contribution of this paper is applying a well-established software engineering discipline to emerging mashup applications, and providing insights of the techniques in developing mashups. Mashup is a Web application that uses APIs provided by different sites to reuse the content and form a new application1. A number service platform providers support the development of mashup applications such as Yahoo! User Library and Google Maps APIs, eBay APIs and Amazon eCommerce . A simple example of mashup is annotating search results on the Google Maps, such as the restaurants nearby. Mashups are emerging at a very fast speed. Mashup is considered as a technique that allows end-users to merge Web applications. An illustrating example is that 1http://en.wikipedia.org/wiki/Mashup users can drag and drop various gadgets onto their iGoogle page. Now mashup also becomes a technology for delivering Enterprise applications . An Enterprise application may need to merge contents from a number of sources either publicly available or privately held, each having its own theme, such as weather, traffic rate, and historical selling prices. For example, a property valuation service company has historical data about the valuation results of an area, and these data are well informative for the valuer2 to make an accurate decision on-site. Rendering such data on the location map can help the valuer quickly access to the information in a timely manner.
The overlay of a location map with thematic data results in a thematic map. A thematic map shows the spatial distribution of one or more specific data themes for standard geographic areas3. Compare to the normal annotated map (such as a location map annotated with nearby restaurants), while annotated maps show where a user’s interests are in the place, thematic maps tell a story about that place. For example, coloring is one method employed by many thematic maps to show how intensive the data are covering the territory place. Therefore, a key part of developing a thematic map is generating an accurate base map without any thematic data.