{"id":29008,"date":"2026-07-31T21:37:00","date_gmt":"2026-07-31T19:37:00","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=29008"},"modified":"2026-07-31T11:39:26","modified_gmt":"2026-07-31T09:39:26","slug":"frontend-anhand-eines-ultra-large-scale-systems-wie-uber","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/","title":{"rendered":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-31bc7a5e wp-block-group-is-layout-constrained\" id=\"3\">\n<p class=\"wp-block-paragraph\">Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Abstract<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management, Backend-Integration sowie Monolith- und Micro-Frontend-Ans\u00e4tze betrachtet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf Basis dieser Analyse werden separate monolithische Frontends als geeigneter Ansatz f\u00fcr das betrachtete Szenario ausgew\u00e4hlt. Erg\u00e4nzend wird ein hybrider Rendering-Ansatz mit einer Kombination aus Client-Side Rendering, Server-Side Rendering, Static Site Generation und Edge Rendering sowie eine Trennung von Client State und Server State empfohlen. Durch eine API-Gateway- und Backend-for-Frontend-Schicht werden die Frontends von der Backend-Komplexit\u00e4t entkoppelt, w\u00e4hrend WebSockets die erforderliche Echtzeitkommunikation erm\u00f6glichen. Zus\u00e4tzlich unterst\u00fctzt ein zentrales Designsystem die Konsistenz sowie Wiederverwendbarkeit von UI-Komponenten und erm\u00f6glicht somit eine einheitliche User Experience (UX). Die Untersuchung zeigt, dass eine geeignete Frontend\u2011Architektur f\u00fcr ein ULSS durch eine gezielte Abstimmung zentraler Architekturentscheidungen auf beherrschbare Komplexit\u00e4t, einheitliches State\u2011Management und konsistente UX\u2011Flows entsteht.<\/p>\n\n<br>\n\n<h2 id=\"1\" class=\"wp-block-heading\">1. Einleitung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In der heutigen Zeit werden Anwendungen wie soziale Medien, Streaming-Plattformen oder Online-Marktpl\u00e4tze von Millionen von Menschen genutzt <span class=\"citation\" data-cites=\"Kamboj2026\">[1]<\/span>. Bei diesen Anwendungen handelt es sich h\u00e4ufig um <em>Ultra-Large-Scale Systems<\/em> (ULSS), also softwareintensive Systeme, die sich durch enorme Gr\u00f6\u00dfenordnungen hinsichtlich Hardware, Umfang des Quellcodes, Anzahl der Nutzer sowie des verarbeiteten Datenvolumens auszeichnen <span class=\"citation\" data-cites=\"ULS2006\">[2]<\/span>. Weitere Eigenschaften von ULSSs umfassen eine dezentrale Datenhaltung sowie dezentrale Entwicklungs-, Weiterentwicklungs- und Betriebskontrollprozesse <span class=\"citation\" data-cites=\"ULS2006\">[2]<\/span>. Zudem enthalten sie heterogene, inkonsistente und sich kontinuierlich ver\u00e4ndernde Elemente und entwickeln sich w\u00e4hrend des Betriebs stetig weiter <span class=\"citation\" data-cites=\"ULS2006\">[2]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Beispiel f\u00fcr ein System dieser Gr\u00f6\u00dfenordnung ist<strong> Uber<\/strong><span class=\"citation\" data-cites=\"UberDeveloperDocumentation\">[3]<\/span>, eine weit verbreitete Ride-Hailing-Plattform, die Fahrg\u00e4ste mit Fahrern verbindet <span class=\"citation\" data-cites=\"DunesUberFrontend\">[4]<\/span>. Die Plattform erm\u00f6glicht es Fahrg\u00e4sten, Fahrten zu buchen, w\u00e4hrend Fahrer Fahrten annehmen und verwalten k\u00f6nnen <span class=\"citation\" data-cites=\"UberDeveloperDocumentation\">[3]<\/span>. Neben diesen funktionalen Anforderungen muss Uber zahlreiche nicht-funktionale Anforderungen erf\u00fcllen. Dazu geh\u00f6ren unter anderem geringe Latenz und hohe Performance, hohe Verf\u00fcgbarkeit, Skalierbarkeit, globale Verteilung, Echtzeitf\u00e4higkeit sowie eine responsive User Interface (UI) und Unterst\u00fctzung verschiedener Plattformen <span class=\"citation\" data-cites=\"DunesUberFrontend\">[4]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Damit Nutzer Uber effizient und komfortabel verwenden k\u00f6nnen, muss insbesondere das Frontend eine benutzerfreundliche und reaktionsschnelle Nutzererfahrung gew\u00e4hrleisten <span class=\"citation\" data-cites=\"DunesUberFrontend\">[4]<\/span>. Die Bedeutung des Frontends in ULSSs ist besonders hoch, da es den direkten Interaktionspunkt zwischen dem Unternehmen und den Nutzern darstellt <span class=\"citation\" data-cites=\"Zubrytskyi2025Frontend\">[5]<\/span>. Es beeinflusst unter anderem ma\u00dfgeblich die User Experience (UX), Suchmaschinenoptimierung (SEO), Performance sowie die Markenwahrnehmung <span class=\"citation\" data-cites=\"Zubrytskyi2025Frontend\">[5]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Daraus ergibt sich die Forschungsfrage, wie ein Frontend f\u00fcr ein ULSS wie Uber architektonisch gestaltet werden sollte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Da der Fokus dieser Arbeit auf der Frontend-Architektur liegt, wird prim\u00e4r ein Web-Frontend betrachtet. Mobile Anwendungen sowie infrastrukturelle und fachliche Aspekte wie Cloud-Infrastruktur, Security, Payment, Matching oder Pricing werden nicht behandelt. Diese Eingrenzung erm\u00f6glicht eine gezielte Untersuchung zentraler Frontend-Architekturthemen wie Rendering, State Management und Frontend-Architekturmodelle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Basis der Arbeit bilden die im Vorlesungsmodell \u201cUltra-Large-Scale System\u201d erarbeitete Architecture Inception Canvas <span class=\"citation\" data-cites=\"ULSArchitectureInceptionCanvas2026\">[6]<\/span> sowie die dort erarbeiteten funktionalen und nicht funktionalen Anforderungen f\u00fcr ein ULSS im Uber-Kontext <span class=\"citation\" data-cites=\"ULSRequirements2026\">[7]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zur Beantwortung der vorher genannten Forschungsfrage werden zun\u00e4chst in Abschnitt <a href=\"#2\" title=\"\">2<\/a> grundlegende Konzepte moderner Frontend-Architekturen, wie die Component-Based Architecture (CBA) und Single-Page Applications (SPA), sowie verschiedene Ans\u00e4tze f\u00fcr Rendering und State Management betrachtet und miteinander verglichen. Dar\u00fcber hinaus werden in Abschnitt <a href=\"#a3\" title=\"3\">3<\/a> Technologien f\u00fcr einen m\u00f6glichen Frontend-Stack vorgestellt. Anschlie\u00dfend werden verschiedene Ans\u00e4tze zur Backend-Integration in Abschnitt <a href=\"#4\" title=\"\">4<\/a> sowie verschiedene Frontend-Architekturmodelle in Abschnitt <a href=\"#5\" title=\"\">5<\/a> analysiert und verglichen. Darauf aufbauend wird in Abschnitt <a href=\"#6\" title=\"\">6<\/a> ein geeignetes Frontend-Architekturmodell f\u00fcr ein ULSS im Kontext von Uber ausgew\u00e4hlt und in Abschnitt <a href=\"#7\" title=\"\">7<\/a> konzeptionell dargestellt. In Abschnitt <a href=\"#8\" title=\"\">8<\/a> wird das Designsystem von Uber vorgestellt und als geeigneter Ansatz f\u00fcr die Gestaltung des Frontends des betrachteten ULSSs eingeordnet. Anschlie\u00dfend erfolgt in Abschnitt <a href=\"#9\" title=\"\">9<\/a> die Diskussion der Ergebnisse und relevanten Themen. Den Abschluss bilden das Fazit in Abschnitt <a href=\"#10\" title=\"\">10<\/a> sowie der Ausblick auf zuk\u00fcnftige Entwicklungen in Abschnitt <a href=\"#11\" title=\"\">11<\/a>.<\/p>\n\n<br>\n\n<h2 id=\"2\" class=\"wp-block-heading\">2. Grundlagen der Frontend Architektur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> Um die Grundlage f\u00fcr die sp\u00e4teren Architekturentscheidungen zu schaffen, werden in diesem Abschnitt die grundlegenden Konzepte moderner Frontend-Architekturen erl\u00e4utert.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.1. Architekturkonzepte f\u00fcr moderne Frontend-Anwendungen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Moderne Frontend-Anwendungen basieren auf verschiedenen Architekturkonzepten, welche die Struktur eines Systems ma\u00dfgeblich beeinflussen. Im Folgenden werden die Architekturkonzepte <em>Component-based Architecture<\/em> (CBA) und <em>Single-Page Application<\/em> (SPA) erl\u00e4utert, da sie die Grundlage vieler moderner Webanwendungen und damit auch des betrachteten ULSSs darstellen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.1.1. Component-based Architecture<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> In der <em>Component-based Architecture<\/em> (CBA) besteht die Software aus wiederverwendbaren, klar abgegrenzten Komponenten. Dabei kapseln die Komponenten bestimmte Funktionalit\u00e4ten, Daten und Verhalten sowie klar definierte Schnittstellen. Dank dieser Konstellation wird die Wiederverwendbarkeit von Komponenten gef\u00f6rdert und die allgemeine Wartbarkeit, Skalierbarkeit sowie Flexibilit\u00e4t des Systems verbessert. Zudem wird dadurch auch die parallele Entwicklung im Team erleichtert <span class=\"citation\" data-cites=\"CBA-GeekForGeeks\">[8]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Allerdings ist zu beachten, dass mit steigender Anzahl an Komponenten die Komplexit\u00e4t der Verwaltung ihrer gegenseitigen Abh\u00e4ngigkeiten erheblich zunimmt. Zudem muss die passende Granularit\u00e4t der Komponenten bestimmt werden: W\u00e4hrend eine zu feine Granularit\u00e4t durch zus\u00e4tzliche Kommunikation und Verwaltungsaufwand zu Performance Overhead f\u00fchren kann, reduziert eine zu grobe Granularit\u00e4t die Wiederverwendbarkeit und Flexibilit\u00e4t der Komponenten <span class=\"citation\" data-cites=\"CBA-GeekForGeeks\">[8]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.1.2. Single Page Application<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Bei der <em>Single Page Application<\/em> (SPA) wird in einer Webanwendung zun\u00e4chst nur ein einzelnes Web-Dokument geladen <span class=\"citation\" data-cites=\"MDN-SPA\">[9]<\/span>.  Anschlie\u00dfend werden die ben\u00f6tigten Inhalte auf Basis von Nutzerinteraktionen dynamisch nachgeladen und aktualisiert, sodass auf ein vollst\u00e4ndiges Neuladen der Seite verzichtet werden kann <span class=\"citation\" data-cites=\"GFG-SPA\">[10]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Auf diese Weise wird eine schnellere Interaktion nach dem initialen Laden der Seite erm\u00f6glicht und die Performance durch den Verzicht auf vollst\u00e4ndige Seiten-Neuladungen verbessert. Zudem k\u00f6nnen gezielte Datenabfragen die \u00dcbertragung unn\u00f6tiger Daten reduzieren und dadurch die Effizienz der Anwendung erh\u00f6hen. Daf\u00fcr verlangsamt der initiale Ladeprozess zun\u00e4chst den ersten Seitenaufbau. Auch kann der hohe Anteil an JavaScript bei dynamischen Inhalten m\u00f6glicherweise zu Schwierigkeiten bei der SEO f\u00fchren <span class=\"citation\" data-cites=\"GFG-SPA\">[10]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Zusammenfassend l\u00e4sst sich feststellen, dass SPAs geeignet f\u00fcr interaktive Webanwendungen sind, die unter anderem Echtzeit- oder dynamische Daten beinhalten <span class=\"citation\" data-cites=\"GFG-SPA\">[10]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Rendering<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Das Rendering beschreibt den Prozess der Erzeugung und Darstellung der einer Webanwendung im Browser <span class=\"citation\" data-cites=\"JulesWritesCode2024Rendering\">[11]<\/span>. Die Wahl der Rendering-Strategie beeinflusst dabei wesentliche Eigenschaften des Frontends, insbesondere die initiale Ladezeit, Performance, Interaktivit\u00e4t sowie SEO <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>. Abh\u00e4ngig von den Anforderungen einer Anwendung k\u00f6nnen unterschiedliche Rendering-Methoden eingesetzt oder kombiniert werden. Folglich werden im Folgenden \u00fcbliche Rendering-Methoden vorgestellt.<\/p>\n\n\n\n<h4 id=\"221\" class=\"wp-block-heading\">2.2.1. Server-Side Rendering<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Ein klassischer Ansatz bildet das <em>Server-Side Rendering<\/em> (SSR), bei dem das HTML-Dokument bei jeder Anfrage serverseitig erzeugt wird. Beim Aufruf einer Webseite wird eine Anfrage an den Server gesendet. Der Server verarbeitet diese Anfrage, l\u00e4dt die ben\u00f6tigten Daten und rendert daraus das HTML-Dokument. Anschlie\u00dfend wird die generierte Seite an den Browser \u00fcbertragen <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> SSR eignet sich besonders gut f\u00fcr Webseiten, bei denen eine schnelle initiale Auslieferung und eine gute SEO wichtig sind. Bei stark dynamischen Webanwendungen kann SSR jedoch aufgrund h\u00e4ufiger Serververarbeitung und erneuter Seitengenerierung an Grenzen sto\u00dfen <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.2.2. Client-Side Rendering<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Durch die steigenden Anforderungen an die Interaktivit\u00e4t moderner Webanwendungen entstand das <em>Client-Side Rendering<\/em> (CSR). Dabei \u00fcbernimmt der Browser die Verarbeitung und Darstellung der Inhalte. CSR bildet die Grundlage vieler moderner SPAs, beispielsweise Anwendungen auf Basis von React oder Vue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> \u00c4hnlich wie bei SPAs l\u00e4dt der Browser zun\u00e4chst ein grundlegendes HTML-Dokument, anschlie\u00dfend die ben\u00f6tigten JavaScript-Dateien und f\u00fchrt diese aus. Dadurch wird die UI clientseitig aufgebaut, sodass Inhalte dynamisch geladen und dargestellt werden k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Dank CSR k\u00f6nnen UI-Aktualisierungen ohne vollst\u00e4ndiges Neuladen der Seite erfolgen. Allerdings ergeben sich \u00e4hnliche Herausforderungen wie bei klassischen SPAs, insbesondere hinsichtlich der lange Initialladezeiten und der SEO, da dynamisch erzeugte Inhalte f\u00fcr Suchmaschinen schwieriger zu indexieren sein k\u00f6nnen <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.2.3. Static Site Generation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Zur F\u00f6rderung schnellerer Ladezeiten werden bei der <em>Static Site Generation<\/em> (SSG) Webseiten bereits w\u00e4hrend des Build-Prozesses erzeugt und nicht erst bei einer Anfrage serverseitig generiert. Die erzeugten statischen Dateien k\u00f6nnen anschlie\u00dfend in einem Content Delivery Network (CDN) gespeichert werden. Ein CDN beschreibt ein Netzwerk aus geografisch verteilten Servern zur effizienten und schnellen Auslieferung von Webinhalten <span class=\"citation\" data-cites=\"CDN-vs-Edge-GFG\">[13]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Nutzer erhalten dadurch die fertigen Seiten direkt von einem geografisch nahegelegenen CDN-Server. Allerdings besteht der Nachteil von SSG darin, dass Inhalte statisch sind und sich erst durch einen erneuten Build-Prozess aktualisieren. Daher ist dieser Ansatz weniger geeignet f\u00fcr Anwendungen mit h\u00e4ufig wechselnden oder Echtzeitdaten <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>.<\/p>\n\n\n\n<h4 id=\"224\" class=\"wp-block-heading\">2.2.4. Incremental Static Regeneration<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Eine Kombination aus SSG und dynamischen Aktualisierungen bildet die <em>Incremental Static Regeneration<\/em> (ISR). Dabei werden Seiten zun\u00e4chst statisch w\u00e4hrend des Build-Prozesses erzeugt und anschlie\u00dfend automatisch in definierten Intervallen aktualisiert. Hierf\u00fcr wird eine Revalidierungszeit festgelegt, nach deren Ablauf die Seite bei einer Nutzeranfrage im Hintergrund neu generiert wird. W\u00e4hrend dieses Prozesses wird weiterhin die bestehende Version aus dem Cache ausgeliefert (Cached Page Delivery), wodurch eine hohe Verf\u00fcgbarkeit gew\u00e4hrleistet wird. Dadurch k\u00f6nnen Inhalte jedoch f\u00fcr einen begrenzten Zeitraum veraltet sein. Zudem f\u00fchrt ISR insbesondere bei ULSSs zu einer h\u00f6heren technischen Komplexit\u00e4t <span class=\"citation\" data-cites=\"CSR-SSR-SSG-ISR-DEV\">[12]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.2.5. Edge Rendering<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> F\u00fcr das Rendering von Webanwendungen auf globaler Ebene spielt das <em>Edge Rendering<\/em> eine wichtige Rolle. Dabei erfolgt das Rendering nicht zentral auf einem einzelnen Server, sondern auf Edge-Servern (auch Edge-Nodes genannt), die Teil eines verteilten Edge-Netzwerks sind und sich geografisch n\u00e4her am Nutzer befinden. Dadurch kann eine Nutzeranfrage an einem geeigneten, m\u00f6glichst nahegelegenen Edge-Server verarbeitet werden. Dort wird die Rendering-Logik ausgef\u00fchrt und das erzeugte HTML-Dokument direkt an den Nutzer zur\u00fcckgegeben <span class=\"citation\" data-cites=\"Edge-Rendering-CSC\">[14]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Im Unterschied zu einem CDN werden beim Edge Rendering nicht ausschlie\u00dflich bereits erzeugte statische Inhalte verteilt. W\u00e4hrend ein CDN haupts\u00e4chlich zur Zwischenspeicherung und Auslieferung vorhandener Inhalte dient, k\u00f6nnen beim Edge Rendering Inhalte dynamisch zur Laufzeit an der Edge erzeugt und anschlie\u00dfend ausgeliefert werden <span class=\"citation\" data-cites=\"CDN-vs-Edge-GFG\">[13]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.2.6. Hybrid Rendering<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Um die Kombination verschiedener Rendering-Methoden innerhalb derselben Anwendung zu erm\u00f6glichen, existiert das <em>Hybrid Rendering<\/em><span class=\"citation\" data-cites=\"Hybrid-Rendering-Sparity\">[15]<\/span>. Dabei k\u00f6nnen unterschiedliche Seiten oder Routen innerhalb derselben Anwendung mit unterschiedlichen Rendering-Strategien umgesetzt werden. Ein m\u00f6glicher Ansatz besteht darin, die initiale Seite serverseitig zu rendern (siehe SSR in Abschnitt <a href=\"#221\" title=\"\">2.2.1<\/a>) und als fertiges HTML-Dokument auszuliefern, um eine schnelle initiale Darstellung sowie eine verbesserte SEO-Eignung zu erreichen. Anschlie\u00dfend \u00fcbernimmt der Browser die Ausf\u00fchrung von JavaScript und f\u00fchrt die sogenannte <em>Hydration<\/em> durch, wodurch die statisch ausgelieferte Seite interaktiv wird <span class=\"citation\" data-cites=\"Hybrid-Rendering-Sparity\">[15][16]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Die <em>Hydration<\/em> beschreibt den Prozess, bei dem ein bereits serverseitig erzeugtes HTML-Dokument im Browser durch JavaScript mit interaktiver Logik und Event-Handlern erweitert wird <span class=\"citation\" data-cites=\"FrontendDogma-Hydration\">[16]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Anschlie\u00dfend k\u00f6nnen CSR-Mechanismen oder SPA-Ans\u00e4tze f\u00fcr dynamische und fl\u00fcssige Interaktionen genutzt werden, ohne dass ein vollst\u00e4ndiges Neuladen der Seite erforderlich ist <span class=\"citation\" data-cites=\"Hybrid-Rendering-Sparity\">[15]<\/span>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2.2.7. Auswahl eines Rendering-Ansatzes f\u00fcr das Web-Frontend im Uber-Kontext<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Auf Basis der zuvor erl\u00e4uterten Rendering-Methoden werden geeignete Ans\u00e4tze f\u00fcr ein Web-Frontend im Uber-Kontext ausgew\u00e4hlt. Da keine einzelne Rendering-Methode alle Anforderungen des Systems vollst\u00e4ndig erf\u00fcllt, wird ein Ansatz des Hybrid Renderings verfolgt. Dabei basiert die Hauptanwendung auf einer SPA-Architektur in Kombination mit CSR, w\u00e4hrend statische und einstiegsorientierte Seiten durch SSR und SSG erg\u00e4nzt werden. Die Auswahl und Zuordnung der Rendering-Methoden f\u00fcr die einzelnen Anwendungsbereiche sind in Tabelle <a href=\"#t1\" title=\"1\">1<\/a> dargestellt. Dabei wird ISR ausgeschlossen, da das Verfahren aufgrund der Revalidierungszeiten keine mit CSR vergleichbare Echtzeitf\u00e4higkeit erm\u00f6glicht und zudem in ULSSs zu einer erh\u00f6hten technischen Komplexit\u00e4t f\u00fchrt (siehe Abschnitt <a href=\"#224\" title=\"2.2.4\">2.2.4<\/a>).<\/p>\n\n\n\n<figure id=\"t1\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><strong>Methode<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Einsatz im System<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Begr\u00fcndung<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">SPA<\/td><td class=\"has-text-align-left\" data-align=\"left\">Gesamtarchitektur der Haupt-Anwendung<\/td><td class=\"has-text-align-left\" data-align=\"left\">Einmaliger Initial-Load, Navigation ohne\nReloads, Grundlage f\u00fcr Echtzeit-UI<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">CSR<\/td><td class=\"has-text-align-left\" data-align=\"left\">Haupt-Anwendung (Karte, Tracking, Buchung,\nLive-UI)<\/td><td class=\"has-text-align-left\" data-align=\"left\">Hohe Interaktivit\u00e4t und schnelle Updates\nf\u00fcr Echtzeit-Funktionen<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">SSR<\/td><td class=\"has-text-align-left\" data-align=\"left\">Login, Einstieg, Marketing-Seiten<\/td><td class=\"has-text-align-left\" data-align=\"left\">Schneller Initial-Load und bessere\nSEO-Unterst\u00fctzung<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">SSG<\/td><td class=\"has-text-align-left\" data-align=\"left\">FAQ, Hilfe, statische Inhalte<\/td><td class=\"has-text-align-left\" data-align=\"left\">Sehr schnelle Auslieferung statischer\nInhalte<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Edge Rendering<\/td><td class=\"has-text-align-left\" data-align=\"left\">SSR nahe am Nutzer<\/td><td class=\"has-text-align-left\" data-align=\"left\">Reduzierte Latenz durch geografische\nN\u00e4he<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Tabelle 1.<\/strong> Einsatz verschiedener Rendering-Methoden im Hybrid-Rendering Ansatz<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2.3. State Management<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Ein <em>State<\/em> bezeichnet im Frontend den aktuellen Zustand einer Anwendung und umfasst alle Daten, die sich w\u00e4hrend der Programmausf\u00fchrung \u00e4ndern k\u00f6nnen, beispielsweise Benutzereingaben, UI-Zust\u00e4nde oder Anwendungsdaten. Mit zunehmender Gr\u00f6\u00dfe und Komplexit\u00e4t einer Anwendung wird die Verwaltung dieser Zust\u00e4nde jedoch anspruchsvoller <span class=\"citation\" data-cites=\"Mimo-StateManagement\">[17]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Aus diesem Grund kommen Verfahren des <em>State Managements<\/em> zum Einsatz, die eine strukturierte Verwaltung und Aktualisierung von States erm\u00f6glichen. State Management legt fest, wo sich ein State befindet, wie er ver\u00e4ndert wird und wie \u00c4nderungen innerhalb der Anwendung propagiert werden. Dadurch kann der Datenfluss vorhersehbarer gestaltet sowie die Nachvollziehbarkeit, Wartbarkeit und Skalierbarkeit einer Anwendung verbessert werden. Gleichzeitig wird das Risiko inkonsistenter Zust\u00e4nde und daraus resultierender Fehler reduziert <span class=\"citation\" data-cites=\"Mimo-StateManagement\">[17]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grunds\u00e4tzlich lassen sich verschiedene Arten von States unterscheiden\n<span class=\"citation\" data-cites=\"Sharif-StateManagement\">[18]<\/span><span class=\"citation\" data-cites=\"Mimo-StateManagement\">[17]<\/span>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local State:<\/strong> Zust\u00e4nde, die ausschlie\u00dflich innerhalb einer einzelnen Komponente oder Funktion verwaltet werden und nicht global verf\u00fcgbar sind. Beispiele sind Eingaben in Suchfeldern, der Zoom einer Karte oder die Auswahl von UI-Elementen.<\/li>\n\n\n\n<li><strong>Global State:<\/strong> Zust\u00e4nde, die von mehreren Komponenten gemeinsam genutzt werden und daher anwendungsweit verf\u00fcgbar sind. Beispiele hierf\u00fcr sind der Login-Status eines Benutzers, der Fahrerstatus oder die ausgew\u00e4hlte Sprache.<\/li>\n\n\n\n<li><strong>Derived State:<\/strong> Zust\u00e4nde, die aus anderen vorhandenen Daten berechnet werden und daher nicht explizit gespeichert werden m\u00fcssen. Beispiele sind ETA, Entfernungen oder berechnete Preise.<\/li>\n\n\n\n<li><strong>Server State<\/strong>: Daten, deren Quelle sich auf einem Server befindet und die zwischen Client und Backend synchronisiert werden m\u00fcssen. Beispiele sind Benutzerkonten, Fahrhistorien oder Zahlungsinformationen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Zur Verwaltung dieser verschiedenen Arten von States stehen unterschiedliche State-Management-Bibliotheken und -L\u00f6sungen zur Verf\u00fcgung. Im Folgenden werden drei verbreitete Ans\u00e4tze in Tabelle <a href=\"#t2\" title=\"2\">2<\/a> verglichen.<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\" id=\"t2\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><strong>Tool<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Eigenschaften<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Geeignet f\u00fcr<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">Redux Toolkit <span class=\"citation\" data-cites=\"Redux-GettingStarted\">[19]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">Globaler Client State, strukturierter\nDatenfluss, h\u00f6here Komplexit\u00e4t und mehr Boilerplate <span class=\"citation\" data-cites=\"Redux-Zustand-Context-Medium\">[20]<\/span><span class=\"citation\" data-cites=\"Zustand-Docs\">[21]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">Gro\u00dfe Anwendungen mit komplexem State und\nmehreren Entwicklern <span class=\"citation\" data-cites=\"Redux-Zustand-Context-Medium\">[20]<\/span><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Zustand <span class=\"citation\" data-cites=\"Zustand-Docs\">[21]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">Leichtgewichtiges State Management,\neinfaches Setup, wenig Boilerplate, weniger Standards <span class=\"citation\" data-cites=\"Redux-Zustand-Context-Medium\">[20]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">Kleine bis mittelgro\u00dfe Anwendungen <span class=\"citation\" data-cites=\"Redux-Zustand-Context-Medium\">[20]<\/span><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">TanStack Query <span class=\"citation\" data-cites=\"TanStack-Query-Docs\">[22]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">Server State, Caching, Auto-Refetch,\nBackground Sync, reduziert Datenlogik <span class=\"citation\" data-cites=\"TanStack-WriterDock\">[23]<\/span><span class=\"citation\" data-cites=\"TanStack-WriterDock\">[23]<\/span><\/td><td class=\"has-text-align-left\" data-align=\"left\">API-lastige Anwendungen <span class=\"citation\" data-cites=\"TanStack-Query-Docs\">[22]<\/span><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Tabelle 2.<\/strong> Vergleich von State-Management-L\u00f6sungen<\/figcaption><\/figure>\n\n\n\n<h4 id=\"231\" class=\"wp-block-heading\">2.3.1. Auswahl eines State-Management-Konzepts f\u00fcr das Web-Frontend im Uber-Kontext<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"> Aufgrund der hohen Systemkomplexit\u00e4t von Uber ist eine Trennung verschiedener State-Arten notwendig. Unterschiedliche Anforderungen an API-Daten, UI-State und Realtime-Daten machen eine getrennte Verwaltung sinnvoll. Dadurch werden widerspr\u00fcchliche Zust\u00e4nde vermieden und die Skalierung vereinfacht.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Local UI State: React intern<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"> Lokale Komponenten-Zust\u00e4nde wie Inputs, UI-Toggles und lokale Interaktionen werden mit React-internem State umgesetzt. Diese Zust\u00e4nde sind nur lokal relevant und ben\u00f6tigen keine globale Synchronisation.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Global Client State: Redux Toolkit<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"> Der globale App-State, beispielsweise Login-Status, UI-Zust\u00e4nde und die aktuelle Fahrt, wird mit Redux Toolkit verwaltet. Gr\u00fcnde hierf\u00fcr sind komplexe Zust\u00e4nde, viele Screens, hohe Konsistenzanforderungen und die Skalierbarkeit f\u00fcr gro\u00dfe Teams.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Derived State: Berechnung aus vorhandenem State<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"> Abgeleitete Zust\u00e4nde wie die gesch\u00e4tzte Ankunftszeit (ETA), Entfernungen oder berechnete Preise werden nicht separat gespeichert. Stattdessen werden sie bei Bedarf aus Local, Global oder Server State berechnet, wodurch redundante Datenhaltung und inkonsistente Zust\u00e4nde vermieden werden.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Server State: TanStack Query<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"> F\u00fcr API-Daten wie Nutzer, Fahrten, Fahrer und Preise wird TanStack Query verwendet. Die Entscheidung basiert auf der gro\u00dfen Menge serverseitiger Daten sowie der Notwendigkeit von h\u00e4ufigen Updates, Caching und Synchronisation.<\/p>\n\n<br>\n\n<h2 id=\"a3\" class=\"wp-block-heading\">3. Frontend-Technologie-Stack im Uber-Kontext<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Abschnitt wird ein m\u00f6glicher Frontend-Technologie-Stack f\u00fcr ein ULSS im Uber-Kontext vorgestellt. Neben den im Abschnitt <a href=\"#231\" title=\"\">2.3.1<\/a> ausgew\u00e4hlten Technologien Redux und TanStack Query f\u00fcr das State Management umfasst der Frontend-Technologie-Stack auch die Technologien <em>React<\/em>, <em>Fusion.js<\/em> und <em>Node.js<\/em>, wobei jede Technologie eine spezifische Rolle innerhalb der Anwendungsarchitektur \u00fcbernimmt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1. React<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>React<\/em> ist eine JavaScript-Bibliothek zur Erstellung von UIs. Durch die komponentenbasierte Entwicklung erm\u00f6glicht React die Erstellung wiederverwendbarer UI-Module und rendert die deklarativ auf Basis von Datenzust\u00e4nden <span class=\"citation\" data-cites=\"reactDocumentation\">[24]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2. Fusion.js<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>Fusion.js<\/em> ist ein von Uber entwickeltes Web-Framework f\u00fcr React-Anwendungen. Es verbindet Server- und Client-Code innerhalb einer gemeinsamen Architektur und \u00fcbernimmt die Orchestrierung der gesamten Web-Anwendung <span class=\"citation\" data-cites=\"uberFusionJS\">[25][26]<\/span>. Fusion.js definiert Architekturregeln, integriert Backend-for-Frontend-(BFF)-Logik und unterst\u00fctzt Funktionen wie SSR, Routing, Hot Module Reloading und Code-Splitting. Dadurch wird eine skalierbare Struktur f\u00fcr gro\u00dfe Entwicklungsteams erm\u00f6glicht <span class=\"citation\" data-cites=\"fusionjsDocumentation\">[26]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3. Node.js<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>Node.js<\/em> dient als serverseitige JavaScript-Laufzeitumgebung und bildet die technische Ausf\u00fchrungsumgebung der Anwendung. Zus\u00e4tzlich \u00fcbernimmt Node.js die Aggregation und Aufbereitung von API-Daten f\u00fcr die Anforderungen der UI im Backend-for-Frontend <span class=\"citation\" data-cites=\"nodejsDocumentation\">[27]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.4. Zusammenspiel der Technologien im Frontend-Stack<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Zusammen bilden React, Fusion.js und Node.js eine Architektur mit klarer Trennung der Verantwortlichkeiten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>React:<\/strong> Ist f\u00fcr die Darstellung der UI, Verarbeitung lokaler UI-Zust\u00e4nde sowie Reaktion auf Benutzerinteraktionen zust\u00e4ndig<\/li>\n\n\n\n<li><strong>Fusion.js:<\/strong> Organisiert die Anwendungsarchitektur und<\/li>\n\n\n\n<li>Serverlogik<\/li>\n\n\n\n<li><strong>Node.js: <\/strong>F\u00fchrt die Fusion.js-Anwendung aus und erm\u00f6glicht SSR sowie Backend-for-Frontend-Funktionalit\u00e4ten<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Architektur basiert auf komponentenbasierter Entwicklung sowie einer Trennung von UI-, Daten- und Business-Logik. Das Zusammenspiel der State Management Technologien ist im Abschnitt <a data-reference-type=\"ref\" data-reference=\"state_management_selection\" href=\"#state_management_selection\">2.5<\/a> ersichtlich.<\/p>\n\n<br>\n\n<h2 id=\"4\" class=\"wp-block-heading\">4. Backend Integration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> Um die Gestaltung des Frontends anhand eines ULSSs wie Uber ganzheitlich zu betrachten, muss auch dessen Integration in die Backend-Architektur, die einer Microservice-Architektur entspricht, ber\u00fccksichtigt werden. Daher werden im Folgenden die wesentlichen Aspekte einer effizienten Kommunikation zwischen Frontend und Backend betrachtet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.1. API Gateway<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Ein <em>API Gateway<\/em> dient als zentraler Einstiegspunkt f\u00fcr Clients innerhalb einer Microservice-Architektur und fungiert als Vermittlungsschicht zwischen Client-Anfragen und den dahinterliegenden Backend-Services. Durch den Einsatz eines API Gateways wird die interne Komplexit\u00e4t der Services vor dem Client verborgen, der Zugriff auf Backend-Funktionalit\u00e4ten vereinheitlicht und die Verwaltung von Skalierung, Sicherheit und Kommunikation zwischen den Systemkomponenten unterst\u00fctzt <span class=\"citation\" data-cites=\"PaloAlto-APIGateway\">[28][29]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Zu den zentralen Aufgaben eines API Gateways geh\u00f6ren unter anderem das Routing eingehender Anfragen an geeignete Microservices, die Aggregation von Antworten mehrerer Services sowie die Umsetzung von Sicherheits- und Zugriffskontrollen wie Authentifizierung, Autorisierung und Rate Limiting <span class=\"citation\" data-cites=\"PaloAlto-APIGateway\">[28][29]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Allerdings weisen Web- und Mobile-Clients h\u00e4ufig unterschiedliche Anforderungen hinsichtlich Datenformaten, Antwortzeiten und Performance auf. Ein General-Purpose-API-Gateway kann diese unterschiedlichen Anforderungen nicht immer optimal erf\u00fcllen, da eine einheitliche Schnittstelle zu unn\u00f6tig umfangreichen Antworten oder ineffizienten Anfragen f\u00fchren kann. Dies kann insbesondere in ULSSs zu potenziellen Performance-Bottlenecks f\u00fchren <span class=\"citation\" data-cites=\"PaloAlto-APIGateway\">[28][29]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.2. Backend-for-Frontend<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zur L\u00f6sung des im vorherigen Abschnitt beschriebenen Problems wird h\u00e4ufig das <em>Backend-for-Frontend<\/em> (BFF) eingesetzt <span class=\"citation\" data-cites=\"Newman-BackendForFrontend\">[30]<\/span>. Dabei handelt es sich um eine spezialisierte Backend-Schicht, die einem Frontend-Team zugeordnet ist und gezielt auf die Anforderungen einer bestimmten Frontend-Anwendung oder UX ausgerichtet wird <span class=\"citation\" data-cites=\"ITNEXT-BackendForFrontend\">[31]<\/span>. Anstelle eines einzelnen API Gateways k\u00f6nnen beispielsweise separate BFFs f\u00fcr Web- und Mobile-Clients eingesetzt werden (siehe Abbildung <a href=\"#bff\" title=\"1\">1<\/a>)<span class=\"citation\" data-cites=\"Newman-BackendForFrontend\">[30]<\/span>. Die Aufgaben eines BFF umfassen die Integration verschiedener Microservices, die Aggregation und Aufbereitung von Daten f\u00fcr die UI sowie die Anpassung von Datenformaten und Fehlerbehandlung <span class=\"citation\" data-cites=\"ITNEXT-BackendForFrontend\">[31]<\/span>. Dabei ist der Einsatz von BFFs besonders geeignet, wenn eine UI-spezifische Datenaufbereitung und -aggregation erforderlich ist, optimierte und an den jeweiligen Client angepasste APIs bereitgestellt werden sollen oder das Frontend von bestimmten Backend-Komplexit\u00e4ten entkoppelt werden soll <span class=\"citation\" data-cites=\"ITNEXT-BackendForFrontend\">[31][30]<\/span>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" id=\"bbf\"><img loading=\"lazy\" decoding=\"async\" width=\"506\" height=\"560\" data-attachment-id=\"29085\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/bff-overview-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" data-orig-size=\"506,560\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"bff-overview\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" alt=\"\" class=\"wp-image-29085\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg 506w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1-271x300.jpg 271w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><figcaption class=\"wp-element-caption\"><strong>Abbildung 1.<\/strong> Beispiel f\u00fcr Einsatz von ein BFF pro Client <span class=\"citation\" data-cites=\"Newman-BackendForFrontend\">[30]<\/span><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">4.3. API Kommunikation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Hinsichtlich der API-Kommunikation werden im Folgenden zwei Ans\u00e4tze betrachtet:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>REST<\/em> ist ein Architekturstil f\u00fcr Web-APIs und basiert auf einem ressourcenorientierten Modell. Der Zugriff auf Ressourcen erfolgt \u00fcber URLs und standardisierte HTTP-Methoden wie GET, POST, PUT und DELETE <span class=\"citation\" data-cites=\"Postman-GraphQLvsREST\">[32]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>GraphQL<\/em> ist eine Abfragesprache f\u00fcr APIs, die typischerweise \u00fcber einen einzelnen Endpunkt bereitgestellt wird. Dabei definiert der Client die ben\u00f6tigten Datenstrukturen, woraufhin der Server ausschlie\u00dflich die angeforderten Daten zur\u00fcckliefert <span class=\"citation\" data-cites=\"Postman-GraphQLvsREST\">[32]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> W\u00e4hrend REST besonders f\u00fcr stabile APIs mit standardisierten Strukturen und umfangreichen Caching-M\u00f6glichkeiten geeignet ist, bietet GraphQL Vorteile bei datenintensiven Anwendungen mit unterschiedlichen Clients, komplexen Datenanforderungen und dem Bedarf an optimierter Daten\u00fcbertragung <span class=\"citation\" data-cites=\"Postman-GraphQLvsREST\">[32]<\/span>.<\/p>\n\n\n\n<h3 id=\"44\" class=\"wp-block-heading\">4.4. Echtzeitkommunikation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Da in ein ULSS im Uber-Kontext die Echtzeit\u00fcbertragung von Daten eine zentrale Rolle spielt, werden im Folgenden <em>Long Polling<\/em> und <em>WebSockets<\/em> als m\u00f6gliche Ans\u00e4tze zur Echtzeitkommunikation betrachtet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>Long Polling<\/em> ist eine HTTP-basierte Technik zur Ann\u00e4herung an Echtzeitkommunikation zwischen Client und Server. Dabei sendet der Client eine HTTP-Anfrage an den Server, der die Verbindung offen h\u00e4lt, bis neue Daten verf\u00fcgbar sind oder ein Timeout erreicht wird. Anschlie\u00dfend wird die Verbindung beendet und der Client startet eine neue Anfrage. Der Vorteil von Long Polling liegt in der einfachen Implementierung \u00fcber bestehende HTTP-Infrastrukturen sowie der hohen Kompatibilit\u00e4t mit \u00e4lteren Systemen. Allerdings entstehen durch wiederholte Verbindungsaufbauten zus\u00e4tzliche Overheads, wodurch sich die Technik weniger f\u00fcr hochfrequente Echtzeitaktualisierungen eignet <span class=\"citation\" data-cites=\"Ably-WebSocketsVsLongPolling\">[33]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <em>WebSockets<\/em> erm\u00f6glichen eine dauerhafte, bidirektionale Kommunikation zwischen Client und Server \u00fcber eine TCP-Verbindung. Nach dem initialen Verbindungsaufbau bleibt die Verbindung ge\u00f6ffnet, sodass Daten ohne wiederholte HTTP-Anfragen \u00fcbertragen werden k\u00f6nnen. Dadurch erm\u00f6glichen WebSockets geringe Latenzen und eine effiziente Daten\u00fcbertragung. Gleichzeitig steigt die technische Komplexit\u00e4t insbesondere hinsichtlich Skalierung, Verbindungsverwaltung und Wiederverbindung. WebSockets eignen sich daher besonders f\u00fcr Echtzeitanwendungen wie Live-Updates oder Location-Tracking <span class=\"citation\" data-cites=\"Ably-WebSocketsVsLongPolling\">[33]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.5. Auswahl der Backend-Integration im Uber-Kontext<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Insgesamt sollte die Kommunikation zwischen Client und Backend, welches eine Microservice-Architektur verwendet, wie folgt aufgebaut sein:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Client -&gt; API Gateway -&gt; BFF -&gt; Microservices<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die API-Schicht besteht aus einem API Gateway als zentralem Einstiegspunkt, das zentrale Funktionen wie Routing, Zugriffskontrolle und Sicherheitsmechanismen \u00fcbernimmt. Darauf aufbauend werden zwei BFFs f\u00fcr Web- und Mobile-Clients eingesetzt, um UI-spezifische Datenaggregation, Optimierung und client-spezifische Anpassungen der APIs zu erm\u00f6glichen. Da die BFFs bereits optimierte Schnittstellen f\u00fcr die jeweiligen Clients bereitstellen, ist REST f\u00fcr die Kommunikation mit klassischen CRUD-basierten Services (z. B. Nutzerverwaltung, Payments oder Fahrtenhistorie) ausreichend. GraphQL kann optional f\u00fcr komplexe Datenanforderungen, beispielsweise bei Karten- oder Standortdaten, eingesetzt werden. F\u00fcr Echtzeitkommunikation werden hingegen WebSockets verwendet, da diese sich aufgrund der bidirektionalen Kommunikation besonders f\u00fcr Anwendungen wie Live-Updates und Location-Tracking eignen (siehe Abschnitt <a href=\"#44\" title=\"\">4.4<\/a>). Eine architektonische Skizze der Backend-Integration ist in Abbildung <a href=\"#fa\" title=\"5\">5<\/a> enthalten.<\/p>\n\n<br>\n\n<h2 id=\"5\" class=\"wp-block-heading\">5. Frontend-Architekturmodelle<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Wahl des Frontend-Architekturmodells bestimmt, wie eine Anwendung in funktionale Einheiten gegliedert und entwickelt wird. Im Folgenden werden mit dem monolithischen Frontend und Micro-Frontend zwei verbreitete Ans\u00e4tze betrachtet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.1. Monolithisches Frontend<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Monolithisches Frontend<\/em> bezeichnet eine zentralisierte Frontend-Architektur, bei der alle Bestandteile des Frontends (UI, Komponenten, Styles und Anwendungslogik) in einer einzigen Anwendung geb\u00fcndelt werden (siehe Abbildung <a href=\"#monolithic_frontend\" title=\"2\">2<\/a>). Dadurch sind die einzelnen Teile eng miteinander integriert. Die Entwicklung, das Testing und das Deployment erfolgen typischerweise durch ein gemeinsames Team oder mehrere Teams innerhalb desselben Repositories <span class=\"citation\" data-cites=\"AlterSquare-MonolithVsModular\">[34][35][36]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Vorteile eines monolithischen Frontends liegen in der einfachen Entwicklung und Einrichtung, insbesondere f\u00fcr kleinere Teams. Zudem lassen sich States und die Kommunikation zwischen Komponenten einfacher umsetzen, wodurch der Kommunikationsaufwand reduziert werden kann. Eine zentrale Deployment-Pipeline verringert au\u00dferdem die Komplexit\u00e4t der Bereitstellung <span class=\"citation\" data-cites=\"Codex-FrontendArchitecture\">[37][36]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Nachteilig ist jedoch, dass mit zunehmender Gr\u00f6\u00dfe der Anwendung und der Codebasis die Wartbarkeit und Skalierbarkeit erschwert werden k\u00f6nnen. \u00c4nderungen an einzelnen Komponenten k\u00f6nnen Auswirkungen auf die gesamte Anwendung haben. Zudem k\u00f6nnen bei mehreren gleichzeitig entwickelnden Teams vermehrt Abh\u00e4ngigkeiten und Koordinationsaufw\u00e4nde entstehen, wodurch die Feature-Entwicklung langfristig verlangsamt werden kann <span class=\"citation\" data-cites=\"Codex-FrontendArchitecture\">[37][36]<\/span>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" id=\"monolithic_frontend\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"324\" data-attachment-id=\"29086\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/monolithic_frontend-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/monolithic_frontend-1.png\" data-orig-size=\"522,324\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"monolithic_frontend\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/monolithic_frontend-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/monolithic_frontend-1.png\" alt=\"\" class=\"wp-image-29086\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/monolithic_frontend-1.png 522w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/monolithic_frontend-1-300x186.png 300w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><figcaption class=\"wp-element-caption\"><strong>Abbildung 2.<\/strong> Monolithisches Frontend in verschiedenen Architekturen <span class=\"citation\" data-cites=\"Peltonen-MicroFrontends\">[38]<\/span><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">5.2. Micro-Frontend<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein <em>Micro-Frontend<\/em> unterteilt das Frontend in mehrere unabh\u00e4ngige Module, sogenannte Micro-Frontends <span class=\"citation\" data-cites=\"AWS-MicroFrontends\">[39]<\/span>. Jedes Modul bildet ein fachliches Feature einschlie\u00dflich UI, Anwendungslogik und State ab. Dadurch k\u00f6nnen Entwicklung, Testing, Deployment und Skalierung unabh\u00e4ngig voneinander erfolgen <span class=\"citation\" data-cites=\"Ali-MicroFrontends\">[35]<\/span>. M\u00f6gliche Architekturvarianten von Micro-Frontends sind in Abbildung <a href=\"#micro_frontend\" title=\"3\">3<\/a> dargestellt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Der Einsatz von Micro-Frontends verbessert die Modularit\u00e4t und Wartbarkeit der Codebasis und erm\u00f6glicht unabh\u00e4ngige Entwicklungen sowie schnellere Releases durch parallele Teamarbeit. Zudem k\u00f6nnen Technologien je Modul unabh\u00e4ngig gew\u00e4hlt und einzelne Bereiche unabh\u00e4ngig skaliert werden. Dar\u00fcber hinaus ist eine schrittweise Migration von einem monolithischen Frontend m\u00f6glich <span class=\"citation\" data-cites=\"Fowler-MicroFrontends\">[40][36]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Demgegen\u00fcber stehen eine h\u00f6here architektonische Komplexit\u00e4t, insbesondere hinsichtlich Routing, Kommunikation und gemeinsamem Zustand, sowie potenzielle Performance-Overheads durch zus\u00e4tzliche Schnittstellen. Zudem erh\u00f6hen sich der Koordinationsaufwand zwischen den Teams und die Einstiegsh\u00fcrde hinsichtlich Architektur und Tooling <span class=\"citation\" data-cites=\"Codex-FrontendArchitecture\">[37][36]<\/span>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" id=\"micro_frontend\"><img loading=\"lazy\" decoding=\"async\" width=\"742\" height=\"601\" data-attachment-id=\"29089\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/micro_frontend-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/micro_frontend-1.png\" data-orig-size=\"742,601\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"micro_frontend\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/micro_frontend-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/micro_frontend-1.png\" alt=\"\" class=\"wp-image-29089\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/micro_frontend-1.png 742w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/micro_frontend-1-300x243.png 300w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><figcaption class=\"wp-element-caption\"><strong>Abbildung 3.<\/strong> Micro-Frontend in verschiedenen Implementierungen von Microservice-Architekturen <span class=\"citation\" data-cites=\"AWS-MicroFrontends\">[39]<\/span><\/figcaption><\/figure>\n\n\n\n<h3 id=\"53\" class=\"wp-block-heading\">5.3. Vergleich der Modelle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Monolithische Frontends eignen sich insbesondere f\u00fcr kleine bis mittelgro\u00dfe Anwendungen mit wenigen Entwicklungsteams und eng gekoppelten Funktionalit\u00e4ten. Sie erm\u00f6glichen eine einfache Entwicklung, zentrale Verwaltung und schnelle Umsetzung, sto\u00dfen jedoch mit zunehmender Gr\u00f6\u00dfe der Anwendung hinsichtlich Wartbarkeit und Skalierbarkeit an ihre Grenzen <span class=\"citation\" data-cites=\"Ali-MicroFrontends\">[35][36][38][39]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Micro-Frontends hingegen sind f\u00fcr gro\u00dfe und komplexe Anwendungen mit mehreren autonomen Teams konzipiert. Durch die Aufteilung in unabh\u00e4ngige Module werden Entwicklung, Deployment und Skalierung entkoppelt. Dies erh\u00f6ht die Flexibilit\u00e4t und Wartbarkeit, f\u00fchrt jedoch zu einer h\u00f6heren architektonischen Komplexit\u00e4t. Daher lohnt sich der Einsatz von Micro-Frontends vor allem, wenn die Vorteile der Modularisierung den zus\u00e4tzlichen Aufwand rechtfertigen <span class=\"citation\" data-cites=\"Ali-MicroFrontends\">[35][36][38][39]<\/span>.<\/p>\n\n<br>\n\n<h2 id=\"6\" class=\"wp-block-heading\">6. Frontend-Architekturentscheidung im Uber-Kontext<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> In diesem Abschnitt wird die Ausgangssituation des Frontends eines ULSSs beschrieben. Darauf aufbauend wird eine geeignete Frontend-Architektur ausgew\u00e4hlt.<\/p>\n\n\n\n<h3 id=\"61\" class=\"wp-block-heading\">6.1. Ausgangssituation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es wird von drei Client-Anwendungen ausgegangen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rider App:<\/strong> Mobile Anwendung f\u00fcr Fahrg\u00e4ste zur Buchung von Fahrten<\/li>\n\n\n\n<li><strong>Driver App:<\/strong> Mobile Anwendung f\u00fcr Fahrer zur Annahme, Durchf\u00fchrung und Verwaltung von Fahrten<\/li>\n\n\n\n<li><strong>Rider Web:<\/strong> Webanwendung f\u00fcr Fahrg\u00e4ste zur Buchung von Fahrten<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"> Alle drei Anwendungen weisen gemeinsame Anforderungen auf. F\u00fcr eine Plattform wie Uber sind eine hohe Performance sowie eine Echtzeitf\u00e4higkeit essenziell, da Funktionen wie Live-Tracking oder ETA-Updates kontinuierlich und zuverl\u00e4ssig aktualisiert werden m\u00fcssen. Zudem sind zentrale Funktionen wie Kartenansicht, Preisberechnung und Standortverfolgung eng miteinander verkn\u00fcpft und bilden einen durchg\u00e4ngigen Nutzungskontext. Daraus ergibt sich ein stark gekoppeltes Frontend-System.<\/p>\n\n\n\n<h3 id=\"7\" class=\"wp-block-heading\">6.2. Beurteilung der Modelle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Auf Basis der in Abschnitt <a href=\"#61\" title=\"\">6.1<\/a> beschriebenen Anforderungen werden die Kriterien in der folgenden Tabelle <a href=\"#t3\" title=\"3\">3<\/a> dargestellt und die Architekturen Monolithisches Frontend und Micro-Frontend verglichen.<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\" id=\"t3\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Kriterium<\/strong><\/td><td><strong>Monolithisches Frontend<\/strong><\/td><td><strong>Micro-Frontend<\/strong><\/td><\/tr><tr><td>Echtzeit-UX (Kartenansicht, ETA, Standortverfolgung)<\/td><td>Einheitlicher globaler State, geringe Latenz<\/td><td>Verteilter State, zus\u00e4tzliche Synchronisation notwendig<\/td><\/tr><tr><td>UX-Flow (Buchung Bezahlung)<\/td><td>Durchg\u00e4ngiger, gekoppelter Flow<\/td><td>Flow muss \u00fcber Module hinweg orchestriert werden<\/td><\/tr><tr><td>State Management<\/td><td>Zentral, konsistent und einfacher zu steuern<\/td><td>Verteilt, komplexe Synchronisation erforderlich<\/td><\/tr><tr><td>Performance (Karten, Standortverfolgung)<\/td><td>Weniger Overhead, schnelleres Initial Load und Updates<\/td><td>Mehr Runtime- und Bundle-Overhead<\/td><\/tr><tr><td>Deployment<\/td><td>Einfacher Release pro Anwendung<\/td><td>Komplexere Versionierung und Abstimmung zwischen Modulen<\/td><\/tr><tr><td>Team-Skalierung<\/td><td>Nur begrenzt unabh\u00e4ngig<\/td><td>Klare Entkopplung f\u00fcr viele autonome Teams<\/td><\/tr><tr><td>Tech-Flexibilit\u00e4t<\/td><td>Einheitlicher Tech-Stack n\u00f6tig<\/td><td>Unterschiedliche Technologien pro Modul m\u00f6glich<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Tabelle 3.<\/strong> Vergleich monolithisches Frontend und Micro-Frontend<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> Anhand dieser Tabelle wird deutlich, dass bei Priorisierung von Echtzeit-UX, durchg\u00e4ngigen UX-Flows und konsistentem State Management ein monolithisches Frontend besser geeignet ist. Daher soll pro Client-Anwendung ein monolithisches Frontend mit intern angewandter Component-Based Architecture eingesetzt werden. W\u00e4hrend Aspekte wie Microservices, verteilte Teams und Autonomie prim\u00e4r das Backend und interne Tools betreffen, bleibt der Fokus im Frontend auf einer konsistenten Nutzererfahrung. Da Micro-Frontends haupts\u00e4chlich Organisations- und Skalierungsprobleme adressieren, jedoch zus\u00e4tzliche technische Komplexit\u00e4t im Frontend verursachen k\u00f6nnen, sind sie f\u00fcr die im Architecture Inception Canvas beschriebene Aufbauphase der Organisation tendenziell noch nicht geeignet.<\/p>\n\n<br>\n\n<h2 id=\"7\" class=\"wp-block-heading\">7. Frontend Aufbau im Uber-Kontext<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Auf Basis der in Abschnitt <a href=\"#6\" title=\"\">6<\/a> getroffenen Entscheidung f\u00fcr das Frontendarchitekturmodell wird in Abbildung <a href=\"#frontend_sketch\" title=\"4\">4<\/a> ein m\u00f6glicher Aufbau der Frontendarchitektur skizziert.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" id=\"frontend_sketch\"><img loading=\"lazy\" decoding=\"async\" width=\"1050\" height=\"374\" data-attachment-id=\"29087\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/frontend-sketch-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1.png\" data-orig-size=\"1050,374\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"frontend-sketch\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1-1024x365.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1.png\" alt=\"\" class=\"wp-image-29087\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1.png 1050w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1-300x107.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1-1024x365.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/frontend-sketch-1-768x274.png 768w\" sizes=\"auto, (max-width: 1050px) 100vw, 1050px\" \/><figcaption class=\"wp-element-caption\"><strong>Abbildung 4.<\/strong> Beispielhafte Aufbau der Frontends f\u00fcr Client-Anwendungen<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> Jede Client-Anwendung verf\u00fcgt \u00fcber ein eigenes monolithisches Frontend, das spezifische fachliche Module enth\u00e4lt. Die Rider App und das Rider Web bilden teilweise dieselben fachlichen Dom\u00e4nen wie Booking, Trips, Account und Map ab, da beide Anwendungen denselben Nutzer und \u00e4hnliche Gesch\u00e4ftsprozesse unterst\u00fctzen. Die Module werden jedoch entsprechend der jeweiligen Plattformanforderungen separat implementiert und entsprechend ihrer jeweiligen Nutzergruppen und Gesch\u00e4ftsprozesse strukturiert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> W\u00e4hrend die Rider App insbesondere auf Echtzeitinteraktionen wie Live-Tracking, Standortverarbeitung und Benachrichtigungen optimiert ist, liegt der Fokus des Rider Web st\u00e4rker auf Verwaltung und Planung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Driver App adressiert hingegen spezifische Fahrerprozesse und enth\u00e4lt eigene fachliche Module wie Incoming Ride Requests, Active Trip, Earnings und Availability Management. Im Gegensatz zu den Rider-Anwendungen liegt der Schwerpunkt hier auf der Echtzeitverarbeitung von Fahrtanfragen, der Durchf\u00fchrung aktiver Fahrten sowie der Verwaltung von Fahrerstatus und Einnahmen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die adressierten zentralen Module und deren Funktionalit\u00e4ten sind in Tabelle <a href=\"#t4\" title=\"4\">4<\/a> zusammengefasst.<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\" id=\"t4\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Frontend<\/strong><\/td><td><strong>Modul<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>Funktionalit\u00e4t<\/strong><\/td><\/tr><tr><td>Rider App<\/td><td>Booking<\/td><td class=\"has-text-align-left\" data-align=\"left\">Erstellung, Konfiguration und Verwaltung von Fahrtanfragen inklusive Auswahl von Start- und Zielort sowie Fahrtoptionen.<\/td><\/tr><tr><td><\/td><td>Trips<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verwaltung vergangener, aktueller und geplanter Fahrten sowie Zugriff auf relevante Fahrtdetails.<\/td><\/tr><tr><td><\/td><td>Account<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verwaltung von Nutzerprofil, pers\u00f6nlichen Einstellungen und konto-bezogenen Informationen.<\/td><\/tr><tr><td><\/td><td>Map<\/td><td class=\"has-text-align-left\" data-align=\"left\">Darstellung interaktiver Karteninformationen zur Unterst\u00fctzung von Navigation, Standortauswahl und Fahrt\u00fcbersicht.<\/td><\/tr><tr><td><\/td><td>Location<\/td><td class=\"has-text-align-left\" data-align=\"left\">Erfassung, Verarbeitung und Bereitstellung von Standortinformationen des Nutzers zur Unterst\u00fctzung ortsabh\u00e4ngiger Funktionen.<\/td><\/tr><tr><td><\/td><td>Live Tracking<\/td><td class=\"has-text-align-left\" data-align=\"left\">Echtzeitdarstellung der Fahrzeugposition und kontinuierliche Aktualisierung des Fahrtfortschritts \u00fcber Echtzeitkommunikation.<\/td><\/tr><tr><td><\/td><td>Notification<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verarbeitung und Darstellung ereignisbasierter Benachrichtigungen, beispielsweise zu Fahrtanfragen, Status\u00e4nderungen oder Ankunftsinformationen.<\/td><\/tr><tr><td><\/td><td>Trip Status<\/td><td class=\"has-text-align-left\" data-align=\"left\">Anzeige und Verwaltung des aktuellen Fahrtstatus, beispielsweise Suche nach Fahrer, Fahrerzuweisung, Ankunft und abgeschlossene Fahrt.<\/td><\/tr><tr><td>Driver App<\/td><td>Incoming Ride Requests<\/td><td class=\"has-text-align-left\" data-align=\"left\">Empfang, Darstellung und Verarbeitung eingehender Fahrtanfragen inklusive Annahme oder Ablehnung von Fahrten.<\/td><\/tr><tr><td><\/td><td>Active Trip<\/td><td class=\"has-text-align-left\" data-align=\"left\">Unterst\u00fctzung der Durchf\u00fchrung aktiver Fahrten inklusive Navigation, Fahrtfortschritt und Statusaktualisierungen.<\/td><\/tr><tr><td><\/td><td>Earnings<\/td><td class=\"has-text-align-left\" data-align=\"left\">Darstellung von Einnahmen, Fahrstatistiken und relevanten Leistungsinformationen.<\/td><\/tr><tr><td><\/td><td>Availability<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verwaltung des Fahrerstatus und Steuerung der Verf\u00fcgbarkeit f\u00fcr neue Fahrtanfragen.<\/td><\/tr><tr><td>Rider Web<\/td><td>Booking<\/td><td class=\"has-text-align-left\" data-align=\"left\">Planung und Erstellung von Fahrten \u00fcber die UI.<\/td><\/tr><tr><td><\/td><td>Trips<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00dcbersicht und Verwaltung vergangener sowie geplanter Fahrten.<\/td><\/tr><tr><td><\/td><td>Account<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verwaltung von Nutzerprofil und konto-bezogenen Informationen.<\/td><\/tr><tr><td><\/td><td>Map<\/td><td class=\"has-text-align-left\" data-align=\"left\">Darstellung von Karteninformationen zur Unterst\u00fctzung der Fahrtplanung.<\/td><\/tr><tr><td><\/td><td>Booking Management<\/td><td class=\"has-text-align-left\" data-align=\"left\">Erweiterte Verwaltung bestehender Buchungen, beispielsweise \u00c4nderung, Stornierung und Anpassung von Fahrtinformationen.<\/td><\/tr><tr><td><\/td><td>Support<\/td><td class=\"has-text-align-left\" data-align=\"left\">Bereitstellung von Funktionen zur Bearbeitung von Supportanfragen und Nutzerunterst\u00fctzung.<\/td><\/tr><tr><td><\/td><td>Account Management<\/td><td class=\"has-text-align-left\" data-align=\"left\">Verwaltung erweiterter Kontoeinstellungen, Pr\u00e4ferenzen und pers\u00f6nlicher Daten.<\/td><\/tr><tr><td><\/td><td>Trip History<\/td><td class=\"has-text-align-left\" data-align=\"left\">Detaillierte Darstellung vergangener Fahrten inklusive Historie und Fahrtinformationen.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Tabelle 4. <\/strong>Fachliche Frontend-Module der Client-Anwendungen eines ULSSs<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcbergreifende technische Komponenten wie Design-System,\nAuthentifizierung, API-Client, Fehlerbehandlung und Logging k\u00f6nnen \u00fcber\nwiederverwendbare Bibliotheken bereitgestellt werden. Dadurch bleiben\ndie einzelnen Frontends unabh\u00e4ngig voneinander entwickelbar und\nbetreibbar, w\u00e4hrend gleichzeitig technische Konsistenz und\nWiederverwendbarkeit gew\u00e4hrleistet werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7.1. Einordnung in die Gesamtarchitektur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In Abbildung <a href=\"#fa\" title=\"5\">5<\/a> wird eine m\u00f6gliche Einordnung des Frontends in die Gesamtarchitektur dargestellt.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" id=\"fa\"><img loading=\"lazy\" decoding=\"async\" width=\"1696\" height=\"702\" data-attachment-id=\"29088\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/fe_gesamt_arch-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1.png\" data-orig-size=\"1696,702\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"fe_gesamt_arch\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1-1024x424.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1.png\" alt=\"\" class=\"wp-image-29088\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1.png 1696w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1-300x124.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1-1024x424.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1-768x318.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/fe_gesamt_arch-1-1536x636.png 1536w\" sizes=\"auto, (max-width: 1696px) 100vw, 1696px\" \/><figcaption class=\"wp-element-caption\"><strong>Abbildung 5.<\/strong> Einordnung des Frontends in der Gesamt-Architektur<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Client-Anwendungen kommunizieren \u00fcber eine API-Gateway- und eine darauffolgende BFF-Schicht mit den Backend-Systemen. Das zentrale API Gateway \u00fcbernimmt dabei ausschlie\u00dflich querschnittliche Aufgaben wie Authentifizierung, Routing und Request-Validierung und enth\u00e4lt keine fachliche Gesch\u00e4ftslogik.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Zwischen Frontend und Backend wird eine BFF-Schicht eingesetzt, die jeweils auf die Anforderungen der einzelnen Clients zugeschnitten ist. Der Rider BFF optimiert die Kommunikation f\u00fcr Buchungsprozesse und UX-Flows, w\u00e4hrend der Driver BFF insbesondere Echtzeitkommunikation und Dispatch-Ereignisse unterst\u00fctzt. Der Rider Web BFF ist auf browserbasierte Anforderungen wie Datenaggregation und SEO optimiert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Durch die Trennung der BFFs werden die Frontend-Komplexit\u00e4t reduziert, unn\u00f6tige Daten\u00fcbertragung (Over-Fetching) vermieden und unterschiedliche Nutzererfahrungen unabh\u00e4ngig voneinander unterst\u00fctzt. Die fachliche Gesch\u00e4ftslogik verbleibt weiterhin in den Backend-Domain-Services.<\/p>\n\n<br>\n\n<h2 id=\"8\" class=\"wp-block-heading\">8. Designsystem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Neben der Frontend-Architektur ist auch eine konsistente UX \u00fcber\nverschiedene Plattformen hinweg von zentraler Bedeutung, da sie die\nBenutzerfreundlichkeit, Zufriedenheit und das Vertrauen der Nutzer\nbeeinflusst <span class=\"citation\" data-cites=\"DunesUberFrontend\">[4]<\/span>. Zur Sicherstellung dieser\nKonsistenz werden Designsysteme eingesetzt <span class=\"citation\" data-cites=\"DunesUberFrontend\">[4]<\/span><span class=\"citation\" data-cites=\"Fessenden2021DesignSystems\">[41]<\/span>. Daher betrachtet\ndieser Abschnitt deren grundlegende Konzepte sowie deren Einsatz im\nKontext der betrachteten Anwendung.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8.1. Designsystem Definition<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Ein Designsystem ist eine zentrale Sammlung von Standards, Richtlinien und wiederverwendbaren UI-Komponenten zur konsistenten und skalierbaren Entwicklung digitaler Produkte. Es umfasst typischerweise einen Styleguide mit Gestaltungsrichtlinien (z. B. Farben, Typografie und Interaktionsprinzipien), eine Component Library mit wiederverwendbaren UI-Komponenten sowie eine Pattern Library mit wiederkehrenden Interaktions- und Layoutmustern <span class=\"citation\" data-cites=\"Fessenden2021DesignSystems\">[41]<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8.2. Designsystem von Uber<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Uber verwendet das <em>Base Design System<\/em> <span class=\"citation\" data-cites=\"uber_base_design_system\">[42]<\/span> als zentrales Designsystem f\u00fcr seine Produkte. Es vereint Gestaltungsrichtlinien, Komponenten und UI-Patterns in einem einheitlichen System und besteht aus einem Styleguide, einer Component Library sowie einer Pattern Library. Ziel ist eine konsistente UX und eine effiziente Entwicklung \u00fcber verschiedene Anwendungen hinweg <span class=\"citation\" data-cites=\"uber_base_design_system\">[42]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> F\u00fcr Webanwendungen stellt Uber zus\u00e4tzlich <em>Base Web<\/em> <span class=\"citation\" data-cites=\"base_web\">[43]<\/span> bereit, eine React-basierte Open-Source-Komponentenbibliothek, die das Designsystem technisch umsetzt. Sie umfasst wiederverwendbare UI-Komponenten, unterst\u00fctzt Barrierefreiheit standardm\u00e4\u00dfig und erm\u00f6glicht durch Design Tokens sowie Overrides eine flexible Anpassung. Zudem ist sie hinsichtlich Performance optimiert <span class=\"citation\" data-cites=\"base_web\">[43]<\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Der Einsatz des Designsystems f\u00f6rdert eine konsistente UI, reduziert den Entwicklungsaufwand durch Wiederverwendung und erleichtert die Skalierung gro\u00dfer Anwendungen. Daher eignet sich das Base Design System als Grundlage f\u00fcr die Frontendentwicklung des ULSSs im Uber-Kontext.<\/p>\n\n<br>\n\n<h2 id=\"9\" class=\"wp-block-heading\">9. Diskussion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> Die in dieser Arbeit vorgeschlagene Frontend-Architektur stellt einen geeigneten L\u00f6sungsansatz f\u00fcr das betrachtete ULSS im Uber-Kontext dar. Dennoch sind die getroffenen Architekturentscheidungen stets im Zusammenhang mit den zugrunde gelegten Anforderungen und Annahmen zu betrachten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Entscheidung f\u00fcr separate monolithische Frontends in Abschnitt <a href=\"#6\" title=\"\">6<\/a> basiert insbesondere auf der Priorisierung von Echtzeitf\u00e4higkeit, durchg\u00e4ngigen UX-Flows und einem konsistenten State Management. Werden hingegen andere Ziele, wie eine m\u00f6glichst unabh\u00e4ngige Entwicklung vieler autonomer Teams oder eine schnelle organisatorische Skalierung, st\u00e4rker gewichtet, kann ein Micro-Frontend-Ansatz trotz der h\u00f6heren technischen Komplexit\u00e4t geeigneter sein (siehe Abschnitt <a href=\"#53\" title=\"\">5.3<\/a>). Die Wahl des Architekturmodells h\u00e4ngt somit wesentlich von den fachlichen und organisatorischen Rahmenbedingungen eines Unternehmens ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Dar\u00fcber hinaus geht die Arbeit von einer klaren Trennung zwischen Web- und Mobile-Anwendungen aus. Mit plattform\u00fcbergreifenden Technologien wie React Native oder Ionic k\u00f6nnen Teile der Implementierung zwischen Web- und Mobile-Anwendungen gemeinsam genutzt werden <span class=\"citation\" data-cites=\"reactNativeDocumentation\">[44][45]<\/span>. Dadurch lassen sich Entwicklungsaufwand und Wartung reduzieren, w\u00e4hrend gleichzeitig neue Anforderungen hinsichtlich gemeinsamer Codebasis, Plattformanpassungen und Architektur entstehen. Ob eine vollst\u00e4ndige Trennung oder eine st\u00e4rkere Wiederverwendung von Komponenten sinnvoll ist, h\u00e4ngt daher von den jeweiligen Projektzielen und Plattformanforderungen ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Schlie\u00dflich handelt es sich bei der Arbeit um eine konzeptionelle Architekturbetrachtung. Die vorgeschlagenen Architekturentscheidungen wurden auf Basis der in dieser Arbeit ausgewerteten Quellen sowie der zugrunde gelegten Anforderungen des Uber-Szenarios hergeleitet, jedoch nicht anhand eines implementierten Prototyps oder quantitativer Messungen evaluiert. Aussagen zu den behandelten Themen beruhen daher auf einer theoretischen Bewertung und sollten in zuk\u00fcnftigen Arbeiten durch praktische Implementierungen und empirische Untersuchungen validiert werden.<\/p>\n\n<br>\n\n<h2 id=\"10\" class=\"wp-block-heading\">10. Fazit<\/h2>\n\n\n\n<p class=\".entry-content {     max-width: 1400px;     margin-left: auto;     margin-right: } p none; wp-block-paragraph\"> Diese Arbeit hat zentrale Konzepte und Architekturentscheidungen f\u00fcr das Frontend eines ULSSs am Beispiel eines Uber-\u00e4hnlichen Systems untersucht. Dabei wurde deutlich, dass moderne Frontend-Architekturen eine ganzheitliche Betrachtung von Struktur, Rendering, State Management, Backend-Integration und UX-Anforderungen erfordern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> F\u00fcr das betrachtete ULSS wird eine Architektur mit separaten monolithischen Frontends f\u00fcr die jeweiligen Client-Anwendungen gew\u00e4hlt. Jedes Frontend basiert dabei auf einer Component-Based Architecture, um Funktionalit\u00e4ten modular zu strukturieren und wiederverwendbare Komponenten zu erm\u00f6glichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Entscheidung f\u00fcr monolithische Frontend-Architekturen basiert insbesondere auf den hohen Anforderungen an Echtzeitf\u00e4higkeit, konsistente UX und ein einheitliches State Management. Im Gegensatz zu Micro-Frontends erm\u00f6glicht dieser Ansatz eine geringere technische Komplexit\u00e4t und eine effizientere Verwaltung eng gekoppelter Funktionalit\u00e4ten wie Kartenansicht, Buchung und Live-Tracking.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Hinsichtlich des Renderings wurde ein hybrider Ansatz gew\u00e4hlt, der die Vorteile verschiedener Rendering-Methoden kombiniert. W\u00e4hrend CSR und SPA f\u00fcr hochinteraktive Bereiche mit Echtzeitdaten eingesetzt werden, eignen sich SSR und SSG f\u00fcr statische oder \u00f6ffentlich zug\u00e4ngliche Inhalte. Erg\u00e4nzend erm\u00f6glicht ein strukturiertes State-Management-Konzept mit einer Trennung von Client State und Server State eine skalierbare Verwaltung der komplexen Datenfl\u00fcsse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Die Integration mit dem Backend erfolgt \u00fcber eine API-Gateway- und BFF-Schicht, wodurch die Frontends von der Komplexit\u00e4t der zugrunde liegenden Microservice-Architektur entkoppelt werden. Erg\u00e4nzend gew\u00e4hrleisten WebSockets die notwendige Echtzeitkommunikation f\u00fcr Funktionen wie Standortverfolgung und Statusaktualisierungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Zus\u00e4tzlich wird eine konsistente UX auf verschiedenen Plattformen durch ein zentral eingesetztes Designsystem unterst\u00fctzt. Durch das Designsystem wird zudem die Wiederverwendbarkeit von Komponenten erh\u00f6ht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Zusammenfassend zeigt sich, dass die Frontend-Architektur f\u00fcr ein ULSS im Uber-Kontext unter Ber\u00fccksichtigung des Architecture Inception Canvas nicht durch eine sofortige maximale Modularisierung einzelner Komponenten entsteht, sondern durch eine ausgewogene Kombination aus beherrschbarer Komplexit\u00e4t, Wartbarkeit, Performance und konsistenter UX. Bei einer tats\u00e4chlichen Umsetzung m\u00fcssen konkrete Implementierungsdetails jedoch an die jeweiligen Rahmenbedingungen angepasst werden.<\/p>\n\n<br>\n\n<h2 id=\"11\" class=\"wp-block-heading\">11. Ausblick<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eine m\u00f6gliche Weiterentwicklung der vorgestellten Architektur besteht in der schrittweisen Einf\u00fchrung weiterer Modularisierungskonzepte. Bei stark wachsender Organisationsgr\u00f6\u00dfe k\u00f6nnten, wie in Abschnitt <a href=\"#9\" title=\"\">9<\/a> angedeutet, Micro-Frontend-Ans\u00e4tze f\u00fcr ausgew\u00e4hlte, klar abgegrenzte Dom\u00e4nen eingesetzt werden, sofern die Vorteile einer unabh\u00e4ngigen Entwicklung die zus\u00e4tzliche technische Komplexit\u00e4t dann rechtfertigen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dar\u00fcber hinaus bieten zuk\u00fcnftige Entwicklungen im Bereich Edge\nComputing, Streaming-Architekturen und automatisierter\nPerformance-Optimierung weitere M\u00f6glichkeiten zur Verbesserung global\nverteilter Anwendungen. Insbesondere die Optimierung von\nEchtzeitkommunikation und die effiziente Verarbeitung gro\u00dfer Mengen an\nStandort- und Nutzerdaten bleiben zentrale Herausforderungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Ein weiterer Untersuchungsbereich liegt in der nutzerzentrierten Gestaltung bei verz\u00f6gerten Ladeprozessen. Bei Funktionen mit hoher Datenabh\u00e4ngigkeit stellt sich insbesondere die Frage, welche Informationen Nutzern w\u00e4hrend des Ladens oder bei eingeschr\u00e4nkter Datenverf\u00fcgbarkeit angezeigt werden sollten. Konzepte wie schrittweise Inhaltsbereitstellung, Ladezust\u00e4nde oder alternative Informationsdarstellungen k\u00f6nnten hierbei untersucht werden, um trotz technischer Verz\u00f6gerungen eine konsistente Nutzererfahrung sicherzustellen.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<\/p>\n<br>\n\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-31bc7a5e wp-block-group-is-layout-constrained\" id=\"3\">\n<h2 class=\"wp-block-heading alignwide\">Referenzen<\/h2>\n\n\n\n<p class=\"alignwide wp-block-paragraph\">[1] Software Engineering Institute, \n<a href=\"https:\/\/www.sei.cmu.edu\/library\/ultra-large-scale-systems-the-software-challenge-of-the-future\/\">&#8220;Ultra-Large-Scale Systems: The Software Challenge of the Future&#8221;<\/a>, Carnegie Mellon University, 2006.\n<br>\n\n[2] K. Kamboj, \n<a href=\"https:\/\/medium.com\/@kavitesh.kamboj\/system-design-101-the-architecture-behind-large-scale-applications-1a9f50129185\">&#8220;System Design 101: The Architecture Behind Large-Scale Applications&#8221;<\/a>, Medium, 2026.\n<br>\n\n[3] Uber Technologies, Inc., \n<a href=\"https:\/\/developer.uber.com\/docs\">&#8220;Uber Developer Documentation&#8221;<\/a>, 2026.\n<br>\n\n[4] R. G. N. Dunes, \n<a href=\"https:\/\/rgndunes.substack.com\/p\/frontend-system-design-of-uber-high\">&#8220;Frontend System Design of Uber&#8221;<\/a>, Substack.\n<br>\n\n[5] A. Zubrytskyi, \n<a href=\"https:\/\/elitex.systems\/blog\/importance-of-front-end-development-for-your-industry-and-business\">&#8220;Importance of Front-End Development For Your Industry and Business&#8221;<\/a>, Elitex Systems, 2025.\n<br>\n\n[6] Hochschule der Medien Stuttgart, \n<a href=\"https:\/\/moodle.hdm-stuttgart.de\/pluginfile.php\/684591\/mod_resource\/content\/1\/ULS_14-04-26_Uber_Architecture_Inception_Canvas.pdf\">&#8220;Uber Architecture Inception Canvas&#8221;<\/a>, 2026.\n<br>\n\n[7] Hochschule der Medien Stuttgart, \n<a href=\"https:\/\/moodle.hdm-stuttgart.de\/mod\/etherpadlite\/view.php?id=328281\">&#8220;Anforderungen f\u00fcr das gew\u00e4hlte System&#8221;<\/a>, 2026.\n<br>\n\n[8] GeeksforGeeks, \n<a href=\"https:\/\/www.geeksforgeeks.org\/system-design\/component-based-architecture-system-design\/\">&#8220;Component-Based Architecture &#8212; System Design&#8221;<\/a>, 2025.\n<br>\n\n[9] Mozilla Developer Network, \n<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/SPA\">&#8220;SPA (Single-page application)&#8221;<\/a>.\n<br>\n\n[10] GeeksforGeeks, \n<a href=\"https:\/\/www.geeksforgeeks.org\/javascript\/what-is-single-page-application\/\">&#8220;What is Single Page Application (SPA)?&#8221;<\/a>.\n<br>\n\n[11] JulesWritesCode, \n<a href=\"https:\/\/juleswritescode.medium.com\/the-junior-developers-complete-guide-to-ssr-ssg-csr-and-spa-ed2182e5e329\">&#8220;The Junior Developer&#8217;s Complete Guide to SSR, SSG and SPA&#8221;<\/a>, Medium, 2024.\n<br>\n\n[12] Y. Jadvani, \n<a href=\"https:\/\/dev.to\/yugjadvani\/csr-vs-ssr-vs-ssg-vs-isr-a-deep-dive-for-modern-web-development-33kl\">&#8220;CSR vs SSR vs SSG vs ISR: A Deep Dive for Modern Web Development&#8221;<\/a>, DEV Community, 2024.\n<br>\n\n[13] GeeksforGeeks, \n<a href=\"https:\/\/www.geeksforgeeks.org\/system-design\/cdn-vs-edge-server-system-design\/\">&#8220;CDN vs Edge Server &#8212; System Design&#8221;<\/a>.\n<br>\n\n[14] C. Sharma, \n<a href=\"https:\/\/www.c-sharpcorner.com\/article\/what-is-edge-rendering-and-how-to-implement-it-using-next-js\/\">&#8220;What is Edge Rendering and How to Implement It Using Next.js&#8221;<\/a>, C# Corner.\n<br>\n\n[15] Sparity, \n<a href=\"https:\/\/www.sparity.com\/digital\/hybrid-rendering-modern-web-development\/\">&#8220;Modern Web Development: Why Hybrid Rendering Is the Future&#8221;<\/a>, 2025.\n<br>\n\n[16] E. Hecks, \n<a href=\"https:\/\/frontenddogma.com\/posts\/2026\/understanding-hydration-in-frontend-frameworks\/\">&#8220;Understanding Hydration in Frontend Frameworks: Definition, Challenges, and Optimization Strategies&#8221;<\/a>, Frontend Dogma, 2026.\n<br>\n\n[17] Mimo, \n<a href=\"https:\/\/mimo.org\/glossary\/programming-concepts\/state-management\">&#8220;State Management&#8221;<\/a>, Mimo Glossary.\n<br>\n\n[18] F. Sharif, \n<a href=\"https:\/\/dev.to\/farhatsharifh\/state-management-in-software-development-4cli\">&#8220;State Management in Software Development&#8221;<\/a>, DEV Community.\n<br>\n\n[19] Redux, \n<a href=\"https:\/\/redux.js.org\/introduction\/getting-started\">&#8220;Getting Started&#8221;<\/a>, Redux Documentation.\n<br>\n\n[20] A. Singh, \n<a href=\"https:\/\/medium.com\/design-bootcamp\/redux-vs-zustand-vs-context-api-their-pros-cons-and-usage-d3bcbb79ab6a\">&#8220;Redux vs Zustand vs Context API: Their Pros, Cons and Usage&#8221;<\/a>, Medium, Design Bootcamp.\n<br>\n\n[21] Zustand Team, \n<a href=\"https:\/\/zustand.docs.pmnd.rs\/learn\/getting-started\/introduction\">&#8220;Introduction&#8221;<\/a>, Zustand Documentation, 2025.\n<br>\n\n[22] TanStack, \n<a href=\"https:\/\/tanstack.com\/query\/latest\">&#8220;TanStack Query Documentation&#8221;<\/a>.\n<br>\n\n[23] WriterDock, \n<a href=\"https:\/\/writerdock.in\/blog\/is-tanstack-worth-learning-in-2026-pros-cons-and-use-cases\">&#8220;Is TanStack Worth Learning in 2026? Pros, Cons, and Use Cases&#8221;<\/a>.\n<br>\n\n[24] Meta Platforms, Inc., \n<a href=\"https:\/\/react.dev\/\">&#8220;React Documentation&#8221;<\/a>, 2026.\n<br>\n\n[25] Uber Technologies, Inc., \n<a href=\"https:\/\/www.uber.com\/us\/en\/blog\/fusionjs-web-framework\/\">&#8220;Introducing Fusion.js: A Plugin-based Universal Web Framework&#8221;<\/a>, 2018.\n<br>\n\n[26] Fusion.js Engineering, \n<a href=\"https:\/\/fusionjs.com\/docs\/overview\/\">&#8220;Fusion.js Documentation: Overview&#8221;<\/a>, 2026.\n<br>\n\n[27] Node.js Foundation, \n<a href=\"https:\/\/nodejs.org\/en\">&#8220;Node.js Documentation&#8221;<\/a>, 2026.\n<br>\n\n[28] Palo Alto Networks, \n<a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/what-is-api-gateway\">&#8220;What Is an API Gateway?&#8221;<\/a>.\n<br>\n\n[29] A. P. Singh, \n<a href=\"https:\/\/blog.algomaster.io\/p\/what-is-an-api-gateway\">&#8220;What is an API Gateway?&#8221;<\/a>, AlgoMaster.\n<br>\n\n[30] S. Newman, \n<a href=\"https:\/\/samnewman.io\/patterns\/architectural\/bff\/\">&#8220;Backends For Frontends&#8221;<\/a>.\n<br>\n\n[31] ITNEXT, \n<a href=\"https:\/\/itnext.io\/backend-for-frontend-bff-what-it-is-and-when-to-use-it-6e8edb72e32c\">&#8220;Backend for Frontend (BFF): What It Is and When to Use It&#8221;<\/a>.\n<br>\n\n[32] Postman, \n<a href=\"https:\/\/blog.postman.com\/graphql-vs-rest\/\">&#8220;GraphQL vs REST: What Are the Differences?&#8221;<\/a>.\n<br>\n\n[33] Ably, \n<a href=\"https:\/\/ably.com\/blog\/websockets-vs-long-polling\">&#8220;WebSockets vs Long Polling: Which Should You Use?&#8221;<\/a>.\n<br>\n\n[34] AlterSquare, \n<a href=\"https:\/\/altersquare.io\/monolith-vs-modular-frontend-architecture-when-each-breaks\/\">&#8220;Monolith vs Modular Frontend Architecture: When Each Breaks&#8221;<\/a>.\n<br>\n\n[35] Z. Ali, \n<a href=\"https:\/\/dev.to\/zeeshanali0704\/micro-frontends-monolith-vs-mfe-1o10\">&#8220;Micro Frontends: Monolith vs MFE&#8221;<\/a>, DEV Community.\n<br>\n\n[36] A. E. Marajan, \n<a href=\"https:\/\/dev.to\/aemarajan\/monolithic-vs-micro-frontend-which-architecture-should-you-choose-hod\">&#8220;Monolithic vs Micro Frontend: Which Architecture Should You Choose?&#8221;<\/a>, DEV Community.\n<br>\n\n[37] Codex, \n<a href=\"https:\/\/medium.com\/codex\/frontend-architecture-monoliths-microfrontends-and-monorepos-8c28f5bcc391\">&#8220;Frontend Architecture: Monoliths, Microfrontends, and Monorepos&#8221;<\/a>, Medium.\n<br>\n\n[38] S. Peltonen, L. Mezzalira, and D. Taibi, \n<a href=\"https:\/\/doi.org\/10.1016\/j.infsof.2021.106571\">&#8220;Motivations, Benefits, and Issues for Adopting Micro-Frontends: A Multivocal Literature Review&#8221;<\/a>, Information and Software Technology, vol. 136, 2021.\n<br>\n\n[39] Amazon Web Services, \n<a href=\"https:\/\/docs.aws.amazon.com\/de_de\/prescriptive-guidance\/latest\/micro-frontends-aws\/introduction.html\">&#8220;Micro-Frontends on AWS &#8212; Introduction&#8221;<\/a>.\n<br>\n\n[40] C. Jackson, \n<a href=\"https:\/\/martinfowler.com\/articles\/micro-frontends.html\">&#8220;Micro Frontends&#8221;<\/a>, Martin Fowler.\n<br>\n\n[41] T. Fessenden, \n<a href=\"https:\/\/www.nngroup.com\/articles\/design-systems-101\/\">&#8220;Design Systems 101&#8221;<\/a>, Nielsen Norman Group, 2021.\n<br>\n\n[42] Uber Technologies, Inc., \n<a href=\"https:\/\/base.uber.com\/6d2425e9f\/p\/294ab4-base-design-system\">&#8220;Base Design System&#8221;<\/a>, Uber Base, 2026.\n<br>\n\n[43] Uber Technologies, Inc., \n<a href=\"https:\/\/baseweb.design\/\">&#8220;Base Web React UI Framework&#8221;<\/a>, Base Web.\n<br>\n\n[44] Meta Platforms, Inc., \n<a href=\"https:\/\/reactnative.dev\/\">&#8220;React Native Documentation&#8221;<\/a>, 2026.\n<br>\n\n[45] Ionic, \n<a href=\"https:\/\/ionicframework.com\/docs\">&#8220;Ionic Framework Documentation&#8221;<\/a>, 2026.\n<br><\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<\/p>\n<br>\n<br>\n\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-31bc7a5e wp-block-group-is-layout-constrained\" id=\"3\">\n<div class=\"wp-block-group alignwide has-global-padding is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-69d0b17a wp-block-group-is-layout-constrained\">\n<h6 class=\"wp-block-heading unnumbered has-small-font-size\">Erkl\u00e4rung zum Einsatz von K\u00fcnstlicher Intelligenz<\/h6>\n\n\n\n<p class=\"alignfull wp-block-paragraph\" style=\"font-size:0.8rem\"> Zur Unterst\u00fctzung bei der Erstellung dieser Arbeit wurde generative K\u00fcnstliche Intelligenz (ChatGPT von OpenAI) haupts\u00e4chlich f\u00fcr sprachliche \u00dcberarbeitungen sowie zur Verbesserung von Grammatik und Verst\u00e4ndlichkeit eingesetzt. Die wissenschaftlichen Inhalte und Analysen wurden eigenst\u00e4ndig erarbeitet. S\u00e4mtliche durch KI unterst\u00fctzten Textanpassungen wurden kritisch gepr\u00fcft und gegebenenfalls \u00fcberarbeitet. Die Verantwortung f\u00fcr den Inhalt dieser Arbeit liegt ausschlie\u00dflich bei der Autorin.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management, [&hellip;]<\/p>\n","protected":false},"author":1329,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[21,651,223],"tags":[49,406,452,221],"ppma_author":[1237],"class_list":["post-29008","post","type-post","status-publish","format-standard","hentry","category-system-architecture","category-system-designs","category-ultra-large-scale-systems","tag-architecture","tag-frontend","tag-system-design","tag-ultra-large-scale-systems"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yinying Shen\"\/>\n\t<meta name=\"keywords\" content=\"architecture,frontend,system design,ultra large scale systems\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Computer Science Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta property=\"og:description\" content=\"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"506\" \/>\n\t\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-31T19:37:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-31T09:39:26+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#article\",\"name\":\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart\",\"headline\":\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber\",\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/yinying_shen\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/bff-overview-1.jpg\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#articleImage\",\"width\":506,\"height\":560},\"datePublished\":\"2026-07-31T21:37:00+02:00\",\"dateModified\":\"2026-07-31T11:39:26+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#webpage\"},\"articleSection\":\"System Architecture, System Designs, Ultra Large Scale Systems, architecture, frontend, system design, ultra large scale systems, Yinying Shen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/#listItem\",\"name\":\"System Designs\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/#listItem\",\"position\":2,\"name\":\"System Designs\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/system-architecture\\\/#listItem\",\"name\":\"System Architecture\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/system-architecture\\\/#listItem\",\"position\":3,\"name\":\"System Architecture\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/system-architecture\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#listItem\",\"name\":\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/#listItem\",\"name\":\"System Designs\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#listItem\",\"position\":4,\"name\":\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/system-designs\\\/system-architecture\\\/#listItem\",\"name\":\"System Architecture\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/yinying_shen\\\/#author\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/yinying_shen\\\/\",\"name\":\"Yinying Shen\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8b69f1afd9fa6bab832fb0e0379830c5b5f014d25896411da101343c06d64988?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Yinying Shen\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#webpage\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/\",\"name\":\"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart\",\"description\":\"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \\u201eUltra Large Scale Systems\\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\\u00fcr das Frontend einer Uber-\\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/yinying_shen\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/yinying_shen\\\/#author\"},\"datePublished\":\"2026-07-31T21:37:00+02:00\",\"dateModified\":\"2026-07-31T11:39:26+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart","description":"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,","canonical_url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/","robots":"max-image-preview:large","keywords":"architecture,frontend,system design,ultra large scale systems","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#article","name":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart","headline":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber","author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/yinying_shen\/#author"},"publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#articleImage","width":506,"height":560},"datePublished":"2026-07-31T21:37:00+02:00","dateModified":"2026-07-31T11:39:26+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#webpage"},"isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#webpage"},"articleSection":"System Architecture, System Designs, Ultra Large Scale Systems, architecture, frontend, system design, ultra large scale systems, Yinying Shen"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","position":1,"name":"Home","item":"https:\/\/blog.mi.hdm-stuttgart.de","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/#listItem","name":"System Designs"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/#listItem","position":2,"name":"System Designs","item":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/#listItem","name":"System Architecture"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/#listItem","position":3,"name":"System Architecture","item":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#listItem","name":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/#listItem","name":"System Designs"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#listItem","position":4,"name":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber","previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/#listItem","name":"System Architecture"}}]},{"@type":"Organization","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","url":"https:\/\/blog.mi.hdm-stuttgart.de\/"},{"@type":"Person","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/yinying_shen\/#author","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/yinying_shen\/","name":"Yinying Shen","image":{"@type":"ImageObject","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/8b69f1afd9fa6bab832fb0e0379830c5b5f014d25896411da101343c06d64988?s=96&d=mm&r=g","width":96,"height":96,"caption":"Yinying Shen"}},{"@type":"WebPage","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#webpage","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/","name":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart","description":"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website"},"breadcrumb":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/#breadcrumblist"},"author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/yinying_shen\/#author"},"creator":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/yinying_shen\/#author"},"datePublished":"2026-07-31T21:37:00+02:00","dateModified":"2026-07-31T11:39:26+02:00"},{"@type":"WebSite","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website","url":"https:\/\/blog.mi.hdm-stuttgart.de\/","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","inLanguage":"en-US","publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"}}]},"og:locale":"en_US","og:site_name":"Computer Science Blog","og:type":"article","og:title":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart","og:description":"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,","og:url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/","og:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg","og:image:secure_url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg","og:image:width":506,"og:image:height":560,"article:published_time":"2026-07-31T19:37:00+00:00","article:modified_time":"2026-07-31T09:39:26+00:00","twitter:card":"summary","twitter:title":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber | Computer Science Blog @ HdM Stuttgart","twitter:description":"Diese Arbeit wurde im Rahmen der Vorlesungsveranstaltung \u201eUltra Large Scale Systems\u201c erstellt. Abstract Ultra-Large-Scale Systems (ULSS) wie Uber stellen aufgrund ihrer hohen Nutzerzahlen, globalen Verteilung, gro\u00dfen Datenmengen und kontinuierlichen Weiterentwicklung besondere Anforderungen an die Frontend-Architektur. Diese Arbeit untersucht zentrale Architekturentscheidungen f\u00fcr das Frontend einer Uber-\u00e4hnlichen Anwendung. Dabei werden Component-based Architecture, Single-Page Applications, Rendering-Strategien, State Management,","twitter:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/bff-overview-1.jpg"},"aioseo_meta_data":{"post_id":"29008","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-30 19:38:14","updated":"2026-07-31 09:39:26","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/\" title=\"System Designs\">System Designs<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/\" title=\"System Architecture\">System Architecture<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFrontend anhand eines Ultra-Large-Scale Systems wie Uber\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/blog.mi.hdm-stuttgart.de"},{"label":"System Designs","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/"},{"label":"System Architecture","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-architecture\/"},{"label":"Frontend anhand eines Ultra-Large-Scale Systems wie Uber","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/frontend-anhand-eines-ultra-large-scale-systems-wie-uber\/"}],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":22982,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/03\/13\/logging-im-grosen-masstab-mit-grafana-loki\/","url_meta":{"origin":29008,"position":0},"title":"Logging im gro\u00dfen Ma\u00dfstab mit Grafana Loki","author":"Sarah Schwab","date":"13. March 2022","format":false,"excerpt":"Heutzutage erzeugen die meisten Systeme und Anwendungen Logging-Daten die f\u00fcr Sicherheits- und \u00dcberwachungszwecke n\u00fctzlich sind, z. B. f\u00fcr die Fehlersuche bei Programmierfehlern, die \u00dcberpr\u00fcfung des Systemstatus und die Erkennung von Konfigurationsproblemen oder sogar Angriffen. Treten Ereignisse innerhalb einer Anwendung auf, werden diese von integrierten Protokollierungsfunktionen erfasst und mit zus\u00e4tzlichen Metadaten\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":25893,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2023\/09\/15\/entwickeln-einer-edge-anwendung-mit-cloudflare\/","url_meta":{"origin":29008,"position":1},"title":"Entwickeln einer Edge-Anwendung mit Cloudflare","author":"Jens Schlegel","date":"15. September 2023","format":false,"excerpt":"Einleitung Englisch spielt eine gro\u00dfe Rolle in meinem Beruf und Alltag, doch immer noch passieren mir Grammatikfehler. Um meine Englischkenntnisse zu verbessern, habe ich eine kleine Webseite entwickelt, auf der das Schreiben von englischen S\u00e4tzen ge\u00fcbt werden kann. Dem Nutzer wird ein Satz pr\u00e4sentiert, der dann in die festgelegte Sprache\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/09\/SCR-20230817-rdek_1694731446844_0.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/09\/SCR-20230817-rdek_1694731446844_0.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/09\/SCR-20230817-rdek_1694731446844_0.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/09\/SCR-20230817-rdek_1694731446844_0.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":28492,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/02\/20\/auswirkung-der-integration-von-ki-auf-den-software-development-lifecycle-mit-fokus-auf-frontend-entwicklung\/","url_meta":{"origin":29008,"position":2},"title":"Auswirkung der Integration von KI auf den Software Development Lifecycle mit Fokus auf Frontend-Entwicklung","author":"Tom Bestvater","date":"20. February 2026","format":false,"excerpt":"Abstract - Die Integration K\u00fcnstlicher Intelligenz (KI) in den Software Development Lifecycle (SDLC) f\u00fchrt zu einer Transformation der Frontend-Entwicklung und verschiebt den Fokus von der manuellen Implementierung hin zur KI-gest\u00fctzten Orchestrierung. Das vorliegende Paper untersucht den Einfluss generativer KI-Modelle und multimodaler Sprachmodelle (MLLMs) auf die Frontend-Engineering-Prozesse, wobei ein besonderer Schwerpunkt\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/sdlc_phases.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/sdlc_phases.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/sdlc_phases.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/sdlc_phases.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":23579,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/08\/30\/google-geodata-visualizer\/","url_meta":{"origin":29008,"position":3},"title":"Google Geodata Visualizer","author":"sk331","date":"30. August 2022","format":false,"excerpt":"Ein Projekt von Kai Kustermann, Michael Litschko, Sarah Mauff und Sebastian K\u00f6pp Einleitung Im Sommersemester 2022 haben wir uns als 4-k\u00f6pfige Gruppe dazu entschlossen, einen Google Geodata Visualizer zu erstellen. Das Projekt ist aus der Idee einer McDonald\u2019s-Achievement-Card entstanden. Die Idee war eine Website, die dem Benutzer anzeigt, welche McDonald\u2019s\u2026","rel":"","context":"In &quot;Cloud Technologies&quot;","block_context":{"text":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/08\/16.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":24203,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2023\/02\/26\/die-zukunft-ist-serverless\/","url_meta":{"origin":29008,"position":4},"title":"Die Zukunft ist Serverless?","author":"Michael Partes","date":"26. February 2023","format":false,"excerpt":"\u00dcberblick Die \u201cCloud\u201d ist ein Begriff, der in den letzten Jahren immens an Bedeutung gewonnen hat. H\u00e4ufig wird sie f\u00fcr die Bereitstellung von Diensten und Services genutzt. Im Lauf der Zeit haben sich dabei verschiedene Architekturen entwickelt, die in der Cloud eingesetzt werden und unterschiedliche Ans\u00e4tze f\u00fcr die Handhabung des\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/lh5.googleusercontent.com\/hnARrH3Mz7d41IhTltMgTCpuUfKpg8k6ur_0Ir46moShZzCf53cVBMeUogOFgp2yD-maHIuCu3CIOsnqE_oBCOrEEaB-KfPc8lsQ5jWanA8hFVPvMdC5XYLBboHJ_lUbrtMT5aVqtMNUjTbsLQQNuoM","width":350,"height":200,"srcset":"https:\/\/lh5.googleusercontent.com\/hnARrH3Mz7d41IhTltMgTCpuUfKpg8k6ur_0Ir46moShZzCf53cVBMeUogOFgp2yD-maHIuCu3CIOsnqE_oBCOrEEaB-KfPc8lsQ5jWanA8hFVPvMdC5XYLBboHJ_lUbrtMT5aVqtMNUjTbsLQQNuoM 1x, https:\/\/lh5.googleusercontent.com\/hnARrH3Mz7d41IhTltMgTCpuUfKpg8k6ur_0Ir46moShZzCf53cVBMeUogOFgp2yD-maHIuCu3CIOsnqE_oBCOrEEaB-KfPc8lsQ5jWanA8hFVPvMdC5XYLBboHJ_lUbrtMT5aVqtMNUjTbsLQQNuoM 1.5x"},"classes":[]},{"id":28084,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/09\/14\/springboot-zu-serverless-probleme-und-paradigmen\/","url_meta":{"origin":29008,"position":5},"title":"Springboot zu Serverless: Probleme und Paradigmen","author":"Julian Schniepp","date":"14. September 2025","format":false,"excerpt":"Im Rahmen der Vorlesung \u201eSoftware Development for Cloud\u00a0Computing\u201c sollte jedes Team ein eigenes Cloud\u2011Projekt umsetzen. Unser Projekt Taskflow sollte dabei ein serverloses Todo\u2011Management\u2011System werden. Ziel war es dabei, neue und vor allem industrierelevante Cloud\u2011Technologien praktisch zu erlernen. Der Backend\u2011Teil ist mit Spring\u2011Boot realisiert, welcher \u00fcber AWS\u00a0Lambda und API\u00a0Gateway bereitgestellt modular\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":1237,"user_id":1329,"is_guest":0,"slug":"yinying_shen","display_name":"Yinying Shen","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8b69f1afd9fa6bab832fb0e0379830c5b5f014d25896411da101343c06d64988?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Shen","first_name":"Yinying","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1329"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=29008"}],"version-history":[{"count":38,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29008\/revisions"}],"predecessor-version":[{"id":29092,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29008\/revisions\/29092"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=29008"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=29008"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=29008"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=29008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}