Die Orchestrierung lose gekoppelter Dienste zur maschinellen Unterstützung von Geschäftsprozessen ist ein wesentliches Ziel der service-orientierten Architektur (SOA). Während für diese Art der Komposition auf Logik- und Datenebene etablierte Ansätze (z. B. BPEL) existieren, fehlt es bisher an der konsequenten Übertragung des SOA-Paradigmas auf die Präsentationsebene. Mit den dienstbasierten und kompositen Web-Anwendungen (Projekt CRUISe) ist es möglich, neben Daten und Logik auch UI-Komponenten über Dienste zu akquirieren und in einer reichhaltigen, kompositen Web-Anwendung (Mashup) zu integrieren. Allerdings mangelt es an einem Entwicklungsprozess und einer Laufzeitumgebung für Mashups im Kontext von Geschäftsprozessen, um das SOA-Paradigma ganzheitlich anwenden und die Vorteile eines modellgetriebenen Ansatzes nutzen zu können.
Das Projekt DEMISA widmet sich dem modellgetriebenen Entwicklungsansatz ausgehend von einem Geschäftsprozessmodell hin zu einem UI-Kompositionsmodell. Während Workflows die Aktivitäten einer Organisation bzw. die Komposition fachlicher Dienste grobgranular beschreiben, sind Benutzeroberflächen durch feingranulare Interaktionen charakterisiert, die z. B. durch ein UI-Kompositionsmodell abgebildet werden.
Ein Teilziel besteht darin, ein Konzept zur Vermittlung zwischen Workflow- und UI-Modell sowohl zur Entwurfs- als auch zur Laufzeit zu erarbeiten. Zur Entwurfszeit ist die Dekomposition der Prozessaktivitäten und die Formulierung funktionaler Anforderungen notwendig. Durch die Integration bestehender Laufzeitumgebungen (z. B. Workflow-Engine und Mashup-Runtime) muss die Synchronisation der beiden Aspekte ermöglicht werden. Um Workflows in den gesamten Entwicklungsprozess zu integrieren sowie die plattform- und kontextunabhängige Entwicklung zu ermöglichen, ist eine modellgetriebene Entwicklungsmethode notwendig. Zudem müssen Anforderungen z. B. an die Einfachheit, Agilität, Benutzerzentrierung und Qualität berücksichtigt werden. Schließlich muss der Entwicklungsprozess durch Transformationen und Autorenwerkzeuge unterstützt werden.
Der Lösungsansatz besteht darin, menschliche Aktivitäten eines Workflows durch ein Aufgabenmodell zu verfeinern, das einerseits die Definition von Anforderungen an die Benutzeroberfläche und andererseits die Zusammenfassung von UI-Komponenten und Mashups zu semantischen Einheiten ermöglicht. So können geeignete UI-Kompositionen vorgeschlagen, Lösungen für bestimmte Aufgaben wiederverwendet sowie Workflow und UI zur Laufzeit synchronisiert werden.
Modellgetriebene Entwicklungsmethoden für prozessorientierte Mashups leisten einen wesentlichen Beitrag für die effiziente und "prozessorientierte Programmierung" von benutzerzentrierten und kontextabhängigen Anwendungen.