Definition und Vorteile des Prinzips „Context Aware Frontend Architecture“
Gründe für Context Aware Frontend Architecture
Benutzerschnittstellen müssen immer mehr und immer unterschiedlicheren Anforderungen gerecht werden. Da digitale Infrastrukturen einer ständigen Weiterentwicklung und Transformation unterliegen, verkürzen sich auch die Zyklen, in denen Software angepasst werden muss. Diese Veränderung der Anpassungszyklen betrifft Frontend und Backend nicht in gleichem Maß. Durch die Entkopplung der Frontend- und Backendschichten bereits von Beginn an, lassen sich eigene Release-Zyklen verwirklichen, indem die Frontend-Architektur und ihre Komponenten als eigenständige Module verstanden und konzipiert werden.
Anforderungen an moderne Benutzerschnittstellen
Gab es in der Vergangenheit einfach nur Desktopanwendungen, native Oberflächen und webbasierte Schnittstellen, die mittels Tastatur, Maus oder Touchscreen bedient wurden, so ist die Bandbreite an Möglichkeiten mittlerweile viel größer geworden: Sprache, Gesten, Augen– und Körperbewegungen gehören zum Repertoire der Bedien- und Interaktionsmöglichkeiten. In den nächsten Jahren wird sich die Mensch-Maschine-Interaktion auch weiterhin stetig und fundamental ändern.
Bestehende Systeme müssen sich dieser Entwicklung anpassen können, wenn sie die neuen Möglichkeiten in ihren Geschäftsprozessen nutzen wollen. Im Vergleich zu anderen logischen Schichten der gesamten IT-Architektur haben Benutzeroberflächen einen viel kürzeren Lebenszyklus, der durchschnittlich bei rund zwei bis drei Jahren liegt, während andere Schichten drei- bis sechsmal so lange stabil und somit unverändert bleiben. In diesem Rhythmus ändern sich die Möglichkeiten, die Benutzeroberflächen anbieten können grundlegend.
Um eine flexible Nutzung von Mensch-Maschine-Interaktionen zu gewährleisten, die dem Stand der Technik entsprechen, muss die Benutzerschnittstelle in ihrer Steuerung und Funktionalität deshalb klar getrennt werden von der Geschäftslogik des Backends.
Der Hintergrund von Context Aware Frontend Architecture (CAFA)
Wenn sich zukünftige Benutzeroberflächen schneller und vor allem unabhängig von der Geschäftslogik des Backends verändern, dann müssen dementsprechend die Softwareschichten von Frontend und Backend voneinander entkoppelt werden. Insgesamt ist mittlerweile sowohl bei Backend- als auch bei Frontendsystemen eine Reduktion der Komplexität zu beobachten.
Anwendungen werden an der Benutzerschnittstelle je nach Gerät immer spezifischer, sind gezielt optimiert und vernachlässigen ungeeignete Anwendungen am jeweiligen Endgerät. Dementsprechend entwickelt sich die IT-Architektur in eine Zusammenstellung von Micro-Services, die voneinander getrennt weiterentwickelt werden können.
Ein solcher Architekturansatz löst den klassischen Monolithen im Backend ab, um einen signifikanten Zugewinn an Flexibilität zu erreichen. Durch die Aufteilung in eigenständige Module wird das Gesamtsystem nicht nur flexibler gehalten, darüber hinaus werden auch Abhängigkeiten reduziert.
Heutzutage findet die Kommunikation auch nicht mehr zwischen einem Client und einem einzigen entsprechenden Server-Backend statt. Stattdessen kommuniziert ein Client immer häufiger mit mehreren unabhängigen (Micro-)Services intern, mit externen Anbietern mittels Online-Schnittstellen, der Cloud oder es wird auch mit externen Partnern und Dienstleistern interagiert und deren Services genutzt, wie es bei Software as a Service (SaaS) der Fall ist. In diesem Kontext und insbesondere in der Intralogistik ist die Anbindung beziehungsweise Implementierung von IoT-Lösungen (Internet of Things) in den Warehousing-Prozessen ein ebenso relevantes Anwendungsszenario.
Im Zuge der Digitalisierung ändert sich das Nutzerverhalten und ebenso die Art und Weise, wie Computer eingesetzt werden. Besonders im Arbeitsumfeld gibt es immer weniger Tätigkeiten, die ohne entsprechende Geräte auskommen. Ob Smartphones, Tablets, AR-Brillen oder spezielle Armbänder – alle Geräte dienen in ihrer Gesamtheit dazu, ihre Anwender bei der Arbeit zu unterstützen, und zwar unabhängig von einem festen Arbeitsplatz.
Als Paradebeispiel dient hier die Kommunikation mit Kunden und Geschäftspartnern über unterschiedliche Kanäle. Diese Interaktion hat sich in den letzten Jahren rasant und fundamental verändert. Diese Verwendung und der permanente sowie flexible Einsatz von Computern und deren Rechenleistung, wird auch als Ubiquitous Computing bezeichnet. Ein anderer relevanter Aspekt im Kontext von CAFA ist die stark zunehmende Vernetzung von Menschen, Objekten und Sensoren, die in einem Netzwerk interagieren, was auch als Pervasive Computing bezeichnet wird. Gerade in der Intralogistik ist es gang und gäbe, dass ganze Prozesse automatisiert ablaufen, indem computerbasierte Systeme ihre Umwelt mittels Sensoren wahrnehmen und die so erlangten Informationen mit anderen teilen; das können dann Maschinen oder auch Menschen sein, wie es beispielsweise bei der breiten Anwendung von RFID der Fall ist.
Die stets größer werdende Vernetzung in Kombination mit dem immer umfassenderen Einsatz von elektronischen Geräten und Hilfsmitteln führt schließlich dazu, dass Anwendungen kontext-sensitiv gestaltet werden müssen, um selbst ein Element im gesamten Netzwerk werden zu können.
Einsatz und Nutzen von Context Aware Frontend Architecture
Mit fortschreitender Digitalisierung ändern sich die über viele Jahre etablierten Wertschöpfungsketten der Unternehmen. Zur Optimierung von Prozessen werden immer öfter Geschäftspartner eingebunden, externe Dienstleister einbezogen und ebenso eigene Dienste und Zugänge anderen zur Verfügung gestellt. So können Unternehmen auf Änderungen des Kundenverhaltens oder der Marktgegebenheiten schnell reagieren, indem Neuerungen simpel und transparent implementiert werden können.
Cloud Computing mit SaaS-Lösungen fungiert als Treiber dieser Entwicklung, da zahlreiche, spezielle Applikationen mittels Schnittstellen schnell und unkompliziert an die eigene IT-Infrastruktur angeschlossen werden müssen. Dies gelingt umso leichter, wenn die IT-Architektur mit den Komponenten des Backends und des Frontends modular aufgebaut ist. So wird sichergestellt, dass sich die Release-Zyklen der einzelnen Komponenten nicht nachteilig auf die Gesamtheit der IT-Struktur auswirken.
Aufbau einer Context Aware Frontend Architecture
Eine Context Aware Frontend Architecture basiert zuerst einmal auf einer Clean Architecture, die mit klar definierten Geschäftsregeln den eigentlichen Kern der Anwendung bildet. Die einzelnen Ebenen stellen sich dann wie folgt dar:
• Service-Ebene: Hier werden die Geschäftsprozesse zur Verfügung gestellt, sie entspricht dem klassischen Backend.
• Lieferebene: Hier werden die Geschäftsprozesse zur Darstellung sowie Bearbeitung im Frontend aggregiert und die Anforderungen hinsichtlich der Zwischenspeicherung erfüllt.
• Client-Ebene: Hier sind alle möglichen Clients enthalten, in denen der Applikationsanteil dargestellt wird.
Die folgende Darstellung veranschaulicht diesen Aufbau nochmal deutlicher:
Mittels einer solchen Architektur können, gerade in sehr beweglichen Märkten, besonders komplexe Projekte über eine längere Laufzeit optimal ausgestaltet werden. Der bestechendste Vorteil im Vergleich zu Suite-Lösungen besteht in der größtmöglichen Flexibilität, da alle Module und Prozesse maximal flexibel sowie unabhängig sind, indem Geschäftsregeln als zentrale Komponente eingesetzt und Verkettungen vermieden werden.
Zusammenfassung des Models „Context Aware Frontend Architecture“
Die klassische IT-Architektur ist monolithisch aufgebaut. Mit zunehmender Digitalisierung erweist sich eine solche Struktur als nachteilig, vor allem in Bezug auf die Flexibilität und die deutlich kürzeren Lebenszyklen von Benutzeroberflächen und -schnittstellen. Die schnelle, unkomplizierte Einbindung und Einbeziehung externer Dienste wie beispielsweise bei SaaS in die IT-Prozesse eines Unternehmens erfordert eine IT-Struktur, die auf Clean Architecture und klaren Geschäftsregeln beruht. Um Flexibilität und Unabhängigkeit einzelner Anwendungen zu gewährleisten, werden deshalb Backend und Frontend mit ihren jeweiligen Komponenten entkoppelt und als eigenständige Module konzipiert und entwickelt. Dieser Architekturansatz bietet sich in der Intralogistik besonders an, da die Automatisierung mit der Interaktion zwischen Menschen, Gegenständen, Sensoren sowie elektronischen Geräten und Hilfsmitteln sehr verbreitet ist und im Sinne einer optimierten Wertschöpfungskette auch immer mehr zunimmt.