Workshop Rationale and Aim
While the word “mashup” is widely used, it is not really clear what a mashup is and what it is not. Some applications focus on integrating RSS feeds, others on integrating RESTful services or SOAP services, others of Atom feeds, others of user interfaces. However, we believe mashups – and especially models, languages and instruments for their development – do bring innovation, in that they tackle integration at the user interface level (most mashups do integrate presentation content, not “just” data), they aim at simplicity more than completeness of features (up to the point that advanced Web users, not only programmers, can develop composite applications), and - if adequately supported - they allow fairly sophisticated development tasks on the browser.
Especially with the advent of mashup tools, the mashup phenomenon has become popular even under users with only little programming skills, as it offers users the unique chance of getting involved into the development process of Web applications. However, despite the current emphasis on mashups and lightweight integration on the Web, we still register a lack of agreed-upon reference models (e.g., for component and composition languages), development processes and methodologies, architectures, execution platforms, analysis techniques, and so on.
The involvement of Web users into the development of composite Web applications demands for a high degree of assistance and intelligible concepts – especially to the most inexperienced users - and results in new (social) development practices which in turn may require new software support. In this context, several challenging research issues are emerging, among which the following seem of particular interest:
- Reusable components: Expressive component models for data, application logic, and user interface components, as well as suitable description languages and discovery and selection facilities (e.g., registries and protocols) are needed.
- Simple, “user-oriented” (lightweight) composition languages: Easy-to-learn yet expressive execution languages are required, which enable the plug-in style development of composite applications.
- Graphical composition tools: Composition languages should be equipped with suitable graphical modeling formalisms that hide the actual composition language and allow for computer-aided development environments.
- Suitable execution platforms: Ready mashup applications require proper execution support (e.g., an interpreter or parser). We expect such support to be provided through online hosting and execution platforms.
- Design aimed at interoperability: Ideally, components and mashups should be interoperable, meaning that they have cross-platform reusability. Mashup-specific standards might be necessary.
In light of these considerations, the ultimate goal of ComposableWeb is to challenge the Web Engineering community with these new research issues and to stimulate the discussion of key issues, approaches, open problems, innovative applications, and trends in these and related research areas, so as to identify technologies, solutions, instruments and methodologies effectively supporting the lightweight composition of Web applications. |