Mashup und Orchestrierung
Kategorie Promotion | 3 Kommentare »
Neulich fragte mich ein Kollege, wie die beiden Begriffe Mashup und Orchestrierung abzugrenzen seien. Spontan wollte ich antworten, dass beide Begriffe nicht wirklich viel miteinander zu tun haben. Mein nächster Gedanke war, Orchestrierung ist eine spezielle Art eines Mashups. Es entbrannte eine rege Diskussion bei uns im Cubicle, der der geneigte Leser vielleicht etwas hinzufügen möchte…
Der Begriff Orchestrierung wird häufig im Zusammenhang mit SOA Engines genutzt. Hier werden Web Service miteinander verknüpft, damit eine Serviceorchestrierung entsteht. Eine typische Sprache zur Beschreibung solch einer Orchestrierung ist BPEL aber auch XPDL. Der Begriff Mashup kommt eher aus dem Web 2.0 Umfeld. Hier ist gemeint, dass verschiedene Onlineangebote miteinander verknüpft werden.
Beim Abstrahieren stellt man fest, dass in beiden Fällen eine Verknüpfung von Diensten erstellt wird. Bei einer Orchestrierung wird dies über den sehr speziellen Mechanismus eines gerichteten Graphen geleistet. Bei einem Mashup steht eher eine Input-Output Beziehung im Vordergrund. Bei Mashups ist es z.B. eher unüblich Schleifenkonstrukte oder Entscheidungen zu definieren, die das Ergebnis des Mashup beeinflussen. Allerdings ausschließen kann man es auch wiederum nicht.
Löst man sich beim Begriff Mashup etwas vom Umfeld Web 2.0, so scheint es zunächst ein Oberbegriff zu sein, da eine Orchestrierung nur eine mögliche Art und Weise ist, wie ein Mashup umgesetzt (implementiert) werden kann. Andererseits scheinen beide Begriffe unvereinbar zu sein, da sie vollständig unterschiedlichen Paradigmen angehören. So setzt eine Serviceorchestrierung eine zentrale Instanz voraus. Auch handelt eine Orchestrierung aktiv, indem sie andere Web Services aufruft und deren Ergebnis verarbeitet. Bei einem Mashup findet hingegen eine reine Verarbeitung bereitgestellter Daten statt.
So richtig glücklich waren wir allerdings nicht über unsere Unterscheidungen. Wir haben beschlossen, das Thema erst mal zu ignorieren, solange keine halbwegs schlüssige Powerpoint Präsentation dazu existiert :-) Aber vielleicht hat ja der geneigte Leser diese Präsentation schon gefunden und kann für Erhellung sorgen!
Mashup und Orchestrierung.
Was da so bei der Softwarearchitektur vor kommt, gibt es ja auch in der Musik, sagt heise.
Die Ähnlichkeiten sind groß.
Die zentrale Instanz bei einem Orchester ist der Dirigent, der die einzelnen Services anfordert, der da sagt: Chello, spiele jetzt so, und Sax, mach bitte mit. Das Ergebnis ist dann komplexe Musik. Die Kommunikation ist dort bidirektional.
Beim Mashup in der Musik ist die zentrale Instanz der Musiker, der sich aus den vorhandenen Musikstücken die von ihm gewollten Streams heraus sucht, so wie ich auf meiner Homepage angebe, welche Feeds sie einsammeln soll. Auch hier ist das Ergebnis komplexe Musik (oder eine komplexe Homepage), allerdings handelt die zentrale Instanz nur unidirektional.
Damit ein Mashup möglich ist, müssen es andere Services geben, die von sich aus vor sich hin blubbern, während sie bei der Orchestrierung von Dirigenten gestartet werden.
Was sagt ihr zu diesem Ansatz?
Stimmt, bei einer Orchestrierung startet die Orchestrierung zunächst den anderen Service. Das ist ein gutes Unterscheidungsmerkmal!
Naja, wenn man von der muskalischen Seite herangeht, ist ein Mashup eher ein Zurückgreifen und Rekombinieren von bereits bestehenden Orchestrierungen, bspw. Beats. Ein Orchester funktiniert nur nur ab einer gewissen Anzahl von „Stimmen“ (besonders bei klassischen Kompositionen). Von daher ist die Orchestrierung vielleicht ein Mashup auf einer rudimentäreren Ebene oder so.