In parallel to these technical trends, the IT world is changing fundamentally due to an "impossible equation" [Bezivin, 2011]: a slowly growing number of software developers is facing a dramatically growing need for individualized application solutions, which can not be covered with existing development and deployment models. To his end, a role change between IT and operating departments, i.e., between developers and users is taking place. Developers provide generic platforms and components, which empower users and domain experts to solve their specific tasks on their own, by "mashing up" their individual solutions from well-designed and tested building parts. This idea is dubbed End User Development (EUD).
These trends are fostered by the so-called Programmable Web, i.e., the internet of services. It facilitates the distributed development and deployment of data, business logic and complete applications, which can be bound and combined using generic, platform-independent interfaces.
The paradigm of Mashups employs these principles. It strives for a "light-weight" combination of these distributed web resources, i.e., of contents and functionalities, to build more complex applications. In contrast to traditional software development, the mashup life cycle is much shorter, as its focus lies on the rapid and cheap creation of situative applications from ready-made building blocks (services).
The composition of interactive mashup applications can, however, not yet easily be achieved by non-programmers. Besides the technological complexity - especially at the presentation layer - the heterogeneous user, usage, and device contexts pose additional requirements (Which services is currently available and useful?, Which data visualization makes sense for a goal, user and device?), which are not yet covered in models and platforms. This results in dedicated throw-away and recreate UIs developed manually by IT professionals for specific application contexts [Davies, 2006], which is both cost- and time-intensive.
In this regard, mashup research has come up with the idea of Presentation Integration. Its principle is to support service and application integration at the presentation layer. Composition objects are not longer web services, but web apps, portlets, or widgets. By visually composing the mashup UI, end users actually compose the whole application. Naturally, concepts from the SOA domain can only be applied partly, since they are not indended for interactive components. With the previous requirements in mind, existing presentation integration concepts have an essiential disadvantage, though: Data, business logic, and UI are tightly coupled in the building blocks, which results in inflexible solutions that cannot be easily contextualized. For instance, it is not possible to easily change a service "behind" the UI.