This paper presents a framework and platform for creating, deploying, and sharing Web application programming interfaces (APIs) and mashups, using a high-level language called domain-specific language (DSL) and software engineering technologies. The work is timely because with the proliferation of Web 2.0 and social networking services that provide Web APIs, such as Facebook, Flickr, and Twitter, people currently create their own mashups ad hoc and on the fly. Therefore, the mashups have no structure or framework and are difficult to deploy and share with others.
It is refreshing to see what Maximilien et al. employ in their DSL language software engineering technologies, especially the model-view-controller (MVC) and context-free grammar, in order to enforce structure and formal design. However, I would have liked to see further related work on domain-specific languages, other languages used to program mashups, such as the Web mashup scripting language (WMSL) [1], and how they differ from DSL.
The mashup-creator user interface is too technical for users who do not have a background in software engineering or Extensible Markup Language (XML). It is more difficult to use than Yahoo! Pipes, which is more graphically oriented, allowing users to see what data gets manipulated and mashed up, along with data mediation operators. There is also a technology dependency on the Ruby on Rails framework, in order to create and deploy mashups, which hinders those users who do not employ Ruby on Rails in their Web applications.
It would have been interesting to see the authors create the same mashups with other tools, such as Yahoo! Pipes, Google Mashup Editor, and IBM QEDWiki; in addition to performing a qualitative comparison, one could see the number of lines of code required to program. The solution is still very technical; it would be advantageous to have business rules for mashups, using something similar to business process execution language (BPEL) for Web services [2], and specify the flow of the mashup. It would also be interesting to provide this tool to others, to see how easily they can use it to create mashups and to evaluate the usefulness of their framework and tool.