In Teil 1 des Beitrags wurde dargestellt, was Mashups sind, und für welche Aufgaben sie in Unternehmen eingesetzt werden können.
Mashups zur Unterstützung von Geschäftsprozessen
Aus Sicht des Geschäftsprozessmanagements bieten Mashups u. a. folgende Vorteile:
- Die einfache Realisierung und die kurzen Entwicklungszeiten ermöglichen eine durchgängige IT-Unterstützung von Prozessen wo dies mit herkömmlichen Technologien aufgrund des hohen Aufwandes nicht wirtschaftlich gewesen wäre. Dies ist beispielsweise in Prozessen der Fall, die nur selten durchgeführt werden.
- Insbesondere in Bereichen, in denen bisher mit Papier und Bleistift bzw. mit Copy-and-Paste und verschiedenen Office-Anwendungen „integriert“ wurde, ermöglichen Mashups oftmals eine Automatisierung und eine echte Integration. Dies betrifft vor allem die Verarbeitung schwach strukturierter Informationen wie Texte und Bilder, die von der herkömmlichen Unternehmens-IT weniger gut unterstützt werden als gut strukturierte Daten.
- Stellt sich in der Praxis heraus, dass eine entwickelte IT-Lösung Probleme mit sich bringt, kann diese leicht geändert werden. Suboptimale Prozesse müssen also nicht deswegen beibehalten werden, weil sie durch die vorhandenen IT-Systeme in Beton gegossen sind.
- Prozesse können bei Bedarf schneller und flexibler geändert werden, da die Anpassung der unterstützenden IT einfacher ist.
- Die einfache und schnelle Entwicklung erlaubt einen agilen Entwicklungsprozess, wobei die Fachanwender eng eingebunden sind. Anforderungen und Ideen lassen sich schnell in einen funktionsfähigen Prototypen umsetzen. Dieser wird von Fachanwendern auf seine praktische Eignung getestet, anschließend überarbeitet, erneut getestet usw. Zwar versucht man auch bei der Entwicklung herkömmlicher Anwendungen zunehmend agile Entwicklungsmethoden zu nutzen, doch ist es dort wesentlich schwieriger und langwieriger, voll funktionsfähige Anwendungen zu entwickeln, die vom Anwender sinnvoll getestet werden können.
Gerade weil einfache Mashups unkompliziert und schnell zu erstellen sind, besteht aber auch die Gefahr des unkontrollierten Wildwuchses. Wenn jeder Hobby-Web-Designer im Unternehmen plötzlich anfängt, für sich und seine Kollegen mal eben schnell ein paar einfache Lösungen zusammenzubauen, dann wird es nicht lange dauern, bis massenhaft Mashups existieren, die fehlerhaft sind, nicht an Änderungen zugrunde liegender Systeme angepasst wurden oder anderswo im Prozessablauf Probleme verursachen. Nehmen die Fachabteilungen das Versprechen der der „Do It Yourself“-Anwendungsentwicklung ernst, dann wird die IT-Abteilung bald mit Problemen und Support-Anfragen konfrontiert, mit deren Ursachen sie gar nichts zu tun hatte.
Auch wenn die verwendeten Schnittstellen sehr einfach sind, und die Erstellung von Mashups mit Hilfe geeigneter Frameworks mehr aus dem Zusammenklicken von Bausteinen als dem Schreiben von Programmcode besteht, handelt es sich dennoch um Unternehmensanwendungen. Und diese müssen beispielsweise ordentlich getestet werden. Wenn in einem Mitarbeiterportal eine gewünschte Informationsquelle einmal nicht angezeigt wird, ist das noch recht harmlos. Werden hingegen Kunden- oder Bestelldaten zwischen Anwendungen ausgetauscht, ist es schon wesentlich problematischer, wenn etwa versehentlich Datenfelder falsch zugeordnet oder Währungen nicht korrekt umgerechnet werden. Und auch ein Mashup muss mit Fehleingaben, Verbindungsabbrüchen zu anderen Anwendungen, u. ä. sinnvoll umgehen können. Jeder Entwickler weiß, dass derartige Ausnahmebehandlungen und andere „Kleinigkeiten“ oft wesentlich mehr Aufwand bedeuten als die Kernfunktionalität selbst.
Genauso wie andere Unternehmensanwendungen muss auch ein Mashup einen konkreten Nutzen für das Unternehmen bringen, beispielsweise in Form von Prozessverbesserungen. Auch wenn für ein kleines Mashup vielleicht kein dicker Anforderungskatalog mehr erforderlich ist, ist seine Funktion dennoch aus Sicht des Gesamtprozesses zu bewerten. Wenn jeder an einem Prozess Beteiligte ein Mashup für seine einzelne Funktion erstellt, entsteht eine zusammengestückelte IT-Unterstützung, bei der ständig Daten von Anwendung zu Anwendung weitergegeben werden. Aus Sicht des Gesamtprozesses wäre es vielleicht wesentlich besser, eine zentrale Datenhaltung für den gesamten Prozess bereitzustellen, auf den auch aus anderen Prozessen heraus besser zugegriffen werden kann.
So kann der Mashup-Einsatz gelingen
Dies soll jedoch kein Plädoyer gegen die Nutzung von Mashups in Unternehmen darstellen. Im Gegenteil. Hier ein paar Überlegungen wie der Mashup-Einsatz gelingen kann:
- Untersuchen Sie systematisch, ob und in welchen Prozessen Mashups in Ihrem Unternehmen eingesetzt werden können und welchen Nutzen sie bringen.
- Definieren Sie eine schlanke, agile Vorgehensweise für die Entwicklung von Mashups. Diese sollte es ermöglichen, dass die Anwender eng in die Entwicklung eingebunden werden und tatsächlich innerhalb von Tagen oder wenigen Wochen eine neue Anwendung erstellt, getestet und ausgerollt werden kann.
- Stellen Sie ggf. eine kleine Truppe von Entwicklern zusammen, die sich auf Mashups spezialisiert und abseits von den großen, lange laufenden IT-Projekten kleine und schnelle Lösungen realisieren kann.
- Versehen Sie ihre vorhandenen Business-Anwendungen mit Mashup-geeigneten Schnittstellen. Interessant sind insbesondere solche Anwendungen, deren Inhalte in verschiedenen Zusammenstellungen in Portalen verwendet werden können, wie z. B. Business Intelligence-, Content Management- oder Groupware-Systeme.
- Falls Sie Mashups in größerem Stil einsetzen wollen, kann sich der Einsatz eines speziellen Frameworks lohnen, das die Erstellung von Mashups erleichtert, wie etwa von Serena oder JackBe.
- In kontrollierten Umgebungen (z. B. auf Basis eines solchen Frameworks) kann man Anwender einfache Mashups auch selbst erstellen lassen, vor allem in unkritischen Bereichen, z. B. bei der Erstellung individueller Mitarbeiterportale oder einer Projektplattform mit einer Zusammenstellung aller innerhalb eines Projektes benötigten Funktionalitäten. Die aufgebaute Umgebung muss dafür Sorge tragen, dass keine unzulässigen Kombinationen erstellt werden können.
Sinnvoll eingesetzt können Mashups ein nützlicher Bestandteil der IT-Landschaft zur effizienten, durchgängigen und flexiblen Prozessunterstützung sein.