Elucidating the Mashup Hype: Definition, Challenges, Methodicla Guide and Tools for Mashups by Victoria Torres from the Universidad Politecnica de Vlencia at MEM 2009.
There is no clear definition of what a mashup is. It’s about data processing, reuse, Web 2.0 (especially the do-it-yourself part). Victoria
provides an essay of definition: “Web-based applications that is created by combining and processing on-line third party resources, resources that contribute with data, presentation and functionality”.
She goes on with comparing traditional SOAs and Mashups. Basically, the differences are in the contract, for mashup usually no formal definition (Dom: do you guys agree with that? I don’t entirely, I’d like to see contracts, more flexible contracts such as RESTful APIs but still some kind of common ground in order not to fully rely on screen-scraping) of the combined resources is required mostly because the integration and composition is not always intended.
Also, integration is usually performed at the UI level in mashups whereas it occurs at the logic level for traditional SOAs.
Victoria then goes on with the WHAT, WHERE of mashups. For the WHAT she lists lots of different data such as pictures, text, etc. For the WHERE she talks about server-side composition where the mashup is stored online, on a platform but also about client-side composition where JavaScript is used to “store” the references of the composition.
Talking about challenges she mentions the fact that users are often both contributors and creators of mashups which might lead to inconsistencies,
instability and incorrect data. She also talks about the fact that there is no contract between content providers and consumers which means techniques
such as screen-scraping techniques need to be improved (Dom: I don’t really agree with that I’d rather have providers provide an easy-to-understand
contract such as a web-page that describes their RESTful API, than completely relying on screen-scraping). Furthermore, version control is a real problem,
providers’ APIs are changing on a regular basis which often breaks the existing mashups.
Victoria proposes a guide for a methodological construction of mashups:
1) State the problem domain
2) Identify the existing IT environment
3) Identify the technical requirements
4) Identify the technology sets
5) Think about the maintenance
Finally she talks about tools such as Deri Pipes, an open-source mashup editor which supports RDF, XML, Microformats, JSON and binary streams and can be freely extended (Dom: I’ll definitely look into that tool, any experience with that dear readers?)
And Dapper.net which is a nice commercial use of mashups. Dapper Dapper is s tool that pulls products from advertisers (from several of their data sources) and bring them to the (hopefully :-)) right customer.