Parallel zu diesen technischen Trends ist auch die IT-Welt im Wandel. Hier gilt es eine "unmögliche Gleichung" [Bezivin, 2011] zu lösen: Eine langsam wachsende Zahl an Entwicklern sieht sich einem dramatisch steigenden
Bedarf individueller Anwendungslösungen gegenüber, der mit den bestehenden Lösungsansätzen nicht gedeckt werden kann. Um diesem Problem zu begegnen, zeichnet sich in der Beziehung zwischen IT- und Fachabteilungen bzw. zwischen Software-Entwicklernund -Nutzern eine Änderung der Rollenverteilung ab. Entwickler stellen
zunehmend Plattformen bereit, die Power User und Domänenexperten in die Lage versetzen, konkrete Aufgaben und Probleme selbst auf Software-Lösungen abzubilden und Endanwendern zur Verfügung zu stellen - man spricht vom End User Development (EUD).
Grundlage hierfür bietet das Programmable Web bzw. das Internet der Dienste und Dienstleistungen. Es erlaubt die verteilte Entwicklung und Bereitstellung von Daten, Geschäftslogik und ganzen Anwendungen, die über generische Schnittstellen technologieunabhängig und beliebig oft wiederverwendet und zu komplexeren Anwendungen komponiert werden können.
Das Modell der Mashups greift diesen Ansatz auf. Ihr Ziel ist die „leichtgewichtige“ Kombination eben jener verteilten Web-Ressourcen, d. h. von Inhalten und Funktionalitäten lokaler und entfernter Quellen, zur Lösung konkreter Anwendungsprobleme. Im Gegensatz zur traditionellen Softwareentwicklung ist der Mashup-Lebenszyklus stark verkürzt, da der Fokus auf der möglichst zeit- und kostengünstigen Erstellung situativer Anwendungen aus vorgefertigten Bausteinen liegt.
Die Entwicklung bzw. Komposition interaktiver Mashup-Anwendungen ist für Nicht-Programmierer bislag allerdings praktisch nicht möglich. Neben der technologischen Komplexität - gerade auf der UI-Ebene - bringen insbesondere die heterogenen Nutzer-, Nutzungs- und Endgerätekontexte zusätzliche Anforderungen an den Entwicklungsprozess mit sich (Welcher Dienst ist gerade verfügbar?, Welche Visualisierung ist für den Nutzer und sein Endgerät am geeignetsten?), für die endnutzertaugliche Modelle fehlen. Dies führt schließlich zu throw-away and recreate UIs für spezifische Anwendungskontexte [Davies, 2006], die unter hohem zeitlichen und finanziellen Aufwand manuell erstellt werden müssen.
Vor diesem Hintergrund ist im Mashup-Umfeld ein Trend hin zur Presentation Integration zu erkennen. Dahinter verbirgt sich die Idee, die Dienst- bzw. Anwendungskomposition auf der Präsentationsebene zu unterstützen. Kompositionsobjekte
sind in diesem Fall nicht mehr Web Services, sondern Webanwendungen, Portlets oder Widgets, die durch Endnutzer grafisch zu einer Anwendung integriert werden können. Die Konzepte der klassischen SOA sind hierfür freilich nicht ausreichend, da sie keinerlei interaktive Komponenten vorsehen. Zudem zeigt sich bei existierenden Ansätzen ein entscheidender Nachteil: Die Integration ganzer „Anwendungsblöcke“ widerspricht dem Prinzip der Trennung der Verantwortlichkeiten. Die feste Kopplung von Daten und Geschäftslogik mit der Benutzerschnittstelle führt zu einem Verlust an Flexibilität und macht die Homogenisierung und die Kontextadaptivität insbesondere der UI weitgehend unmöglich.