SOA-Fehler vermeiden

Software-Architekturen der Zukunft

28.09.2016
Von Hajo Normann und
Senior Technology Architect bei Accenture

4. Exzellente User Experience entlang modularer Services

Die Nutzeroberfläche ist ein weiterer Baustein auf dem Weg zu modernen Software-Architekturen. In der SOA-Welt wurden die modularen Services bisher mit Hilfe von Mash-Applikationen in eigene UI-Plattformen eingebunden. Dieser Ansatz schlug jedoch aus zwei Gründen fehl: Zum einen konnten die UI-Plattformen mit modernen HTML5-Applikationen, wie sie im Internet gängig sind, nicht mithalten. Hinzu kommt, dass die User Experience in den Mash-Applikationen mit Wasserfall-orientierten Methoden entwickelt wurde. Deshalb konnten sie der schnellen Evolution der UI-Frameworks nicht folgen.

Für eine bessere User Experience ist eine stärkere Modularisierung der Applikationen unbedingt notwendig. Viele Unternehmen verfolgen heute bei der Entwicklung von Software einen Design-Ansatz, indem sie etwa User-Journeys gestalten. Weiterhin lassen sich durch die Vielzahl von Javascript-Frameworks heute sehr schnell HTML5 responsive Web-Applikationen erstellen, die wiederum eine sehr schnelle Evolution ermöglichen. Dadurch entfallen lange Analyse- und Design-Phasen, Benutzeranforderungen können innerhalb von wenigen Tagen statt wie bisher erst in Wochen umgesetzt werden. Eine spezielle UI- oder Mash-Plattform ist dafür nicht mehr notwendig.

5. Eine stetige Evolution im Sinne der Nutzer

Der letzte Punkt betrifft die Liefermethodik, also die Frage, wie die modularen Systeme entwickelt werden. Es gibt heute kaum noch Projekte, die den klassischen Wasserfall-Ansatz wählen. Das liegt vor allem daran, dass die modularen Paradigmen einen agileren Ansatz ermöglichen. Damit ist nicht nur das klassische Scrum gemeint, sondern auch andere Methoden aus der Open-Source-Community. Dazu gehören Voting-Systeme und Gamification-Konzepte, die das Feedback der User einbeziehen, um die Services daraufhin zu verbessern.

Die beschriebenen Konzepte ermöglichen ein agiles Update der Services oder Daten - wie zum Beispiel in einem Query-Datastore - ohne Risiken für das laufende System. Erst durch die raschen Feedback-Schleifen und kontinuierliche Updates von APIs, Daten, Workflows und UIs kommen die modularen Konzepte zum Tragen und liefern echten Mehrwert für das Business.

Fazit

Die Ansätze der SOA - einer lose-gekoppelten und leichtgewichtigen Architektur - sind eine wichtige Grundlage für moderne Software-Architekturen. Ihre Stärken kommen aber erst im Zusammenspiel mit modernen Konzepten für API Management, Datenintegration, Workflow-Modularisierung und einer perfekten User-Experience zum Tragen. Obwohl die SOA-Idee längst etabliert ist, werden ihre Prinzipien mit dem beschriebenen Architektur-Konzept und einem agilen Vorgehen endlich in der Praxis umsetzungsfähig.

Dafür braucht es nun keinen monolithischen ESB mehr. Stattdessen genügen leichtgewichtige, modulare Komponenten in den oben beschriebenen Dimensionen. Wichtig ist dabei, alle Aspekte gleichermaßen im Blick zu behalten und kontinuierlich zu entwickeln - von den Schnittstellen, über Daten und Workflows bis hin zur User Experience. Nur im Zusammenspiel aller Module entstehen ein optimales IT-System sowie eine zukunftsfähige Softwarearchitektur.