SlideShare ist ein Scribd-Unternehmen logo
1 von 55
MICRO-
FRONTENDS
ZUR RETTUNG
KOMPLEXITÄT VERLAGERN
© Mark Lubkowitz (www.microfrontends.de)
www.mark-lubkowitz.de
MARK LUBKOWITZ
Twitter: @marklubkowitz
Web: microfrontends.de
© Mark Lubkowitz (www.microfrontends.de)
THEMA
Darum geht‘s heute
# Microfrontend-Architekturstil
# Modularisierung
# Anwendungsebene
# Informationssysteme
# Kundenanwendungen
© Mark Lubkowitz (www.microfrontends.de)
SAP
Betriebliche Informationssysteme
© Mark Lubkowitz (www.microfrontends.de)
E-MAIL-CLIENT
Komplexe Kundenanwendung
© Mark Lubkowitz (www.microfrontends.de)
DIE PROBLEME
Warum brauchen wir einen speziellen Architekturstil fürs Frontend?
© Mark Lubkowitz (www.microfrontends.de)
MODERNE
TEAMSTRUKTUR
Agilität und Zusammenarbeit
Entwicklungsteams sind heute
crossfunktional. Sie sollen von UI bis
Persistenz für ihren Anwendungsteil
verantwortlich sein.
© Mark Lubkowitz (www.microfrontends.de)
VIELFÄLTIGE
PLATTFORMEN
n+1 Frontends
Anfangs waren es nur verschiedene
Betriebssysteme. Heute variieren
Plattform, Rechenleistung, Eingabeart,
Displayformen und Bediensituation.
© Mark Lubkowitz (www.microfrontends.de)
STARKE
ABHÄNGIGKEITEN
Frameworks und Open Source
Open Source liefert viele Lösungen
kostenlos. Die Frage lautet deshalb
nicht mehr „Ob?“ sondern „Welches
Framework?“. Die Abhängigkeit wächst.
© Mark Lubkowitz (www.microfrontends.de)
HOHER
INNOVATIONSDRUCK
Kunden fordern
Kunden wollen neue Technologien
einsetzen können, sobald sie verfügbar
sind. Und Mitbewerber legen mitunter
ein sehr hohes Tempo vor.
© Mark Lubkowitz (www.microfrontends.de)
EINFACHE
AUSTAUSCHBARKEIT
Wiederverwenden und ersetzen
Innovation ist teuer. Was sich wieder-
verwenden lässt, reduziert die Kosten.
Wiederverwendbarkeit bedeutet auch
Ersetzbarkeit.
© Mark Lubkowitz (www.microfrontends.de)
WACHSENDE
KOMPLEXITÄT
Features und Plattformen
Je mehr Anforderungen gestellt sind,
desto höher ist die Komplexität.
Komplexität lässt sich nicht einfach
reduzieren – sondern nur verlagern.
© Mark Lubkowitz (www.microfrontends.de)
RAPIDE
ALTERUNG
Features und Abhängigkeiten
Implementierte Features altern.
Frameworks und Libraries altern.
Vieles unterliegt einem Zerfallsprozess.
Instandhaltung ist elementar.
© Mark Lubkowitz (www.microfrontends.de)
TEILEN UND HERRSCHEN
Wie lösen wir diese Probleme?
© Mark Lubkowitz (www.microfrontends.de)
UNIX-PHILOSOPHIE
Programme sollen …
• eine Aufgabe sehr gut lösen
• zusammenarbeiten
• universell kommunizieren
© Mark Lubkowitz (www.microfrontends.de)
MICROSERVICES
Unix-Philosophie im Backend
© Mark Lubkowitz (www.microfrontends.de)
MICROFRONTENDS
Unix-Philosophie fürs Frontend
© Mark Lubkowitz (www.microfrontends.de)
DEFINITION „Microfrontends sind
eigenständige,
fachlich abgeschlossene
und unabhängig verteilbare
Software-Elemente, die sich
in Frontends losgelöst von
deren Fachlichkeit und
Architektur integrieren
lassen.
© Mark Lubkowitz (www.microfrontends.de)
PRINZIPIEN
Wie setzen wir das um?
© Mark Lubkowitz (www.microfrontends.de)
KOMPONENTEN-
ORIENTIERUNG
Modularisierung
© Mark Lubkowitz (www.microfrontends.de)
FACHLICH
ABGESCHLOSSEN
Erst vertikal, dann horizontal
© Mark Lubkowitz (www.microfrontends.de)
EIGENES
DATENMODELL
Autonomes Verständnis
© Mark Lubkowitz (www.microfrontends.de)
KEINE
ABHÄNGIGKEIT
Alles drin
© Mark Lubkowitz (www.microfrontends.de)
EXPLIZITE
SCHNITTSTELLE
Universell einsetzbar
© Mark Lubkowitz (www.microfrontends.de)
EINSATZSZENARIEN
Wann brauche ich das?
© Mark Lubkowitz (www.microfrontends.de)
LIEFERN
Microservice liefert ein Microfrontend
© Mark Lubkowitz (www.microfrontends.de)
KONSUMIEREN
Einen Microservice anbinden
© Mark Lubkowitz (www.microfrontends.de)
INTEGRIEREN
Microservices integriert zu einer einzelnen UI
© Mark Lubkowitz (www.microfrontends.de)
SELEKTIEREN
Einen Service oder Microservice auswählen
© Mark Lubkowitz (www.microfrontends.de)
UMSETZUNG FÜRS WEB
Wie funktioniert das im Web?
© Mark Lubkowitz (www.microfrontends.de)
SCHLÜSSEL-
TECHNIKEN
Alle Bausteine sind vorhanden
# Custom Elements
# DOM
# Service Worker
# Webassembly
© Mark Lubkowitz (www.microfrontends.de)
CUSTOM ELEMENTS
Kapselung
Custom Elements sind neue Elemente
im Browser. Sie kapseln Struktur,
Aussehen und Funktionalität. Zudem
lassen sie sich mehrfach instanziieren.
© Mark Lubkowitz (www.microfrontends.de)
DOM
Universelle Schnittstelle
Das Document Object Model ist eine
universelle Schnittstelle. Sie bietet
unterschiedliche Möglichkeiten, mit
Elementen zu interagieren.
© Mark Lubkowitz (www.microfrontends.de)
KOMPATIBILITÄT
Flächendeckende Unterstützung
Webbrowser Version
Custom Elements
v0
Custom Elements
v1
Internet
Explorer
11 - Polyfill
Edge 18 - Polyfill
Firefox 64 - ✅
Chrome 71 ✅ ✅
Chrome
for Android
70 ✅ ✅
Safari 12 - ✅
iOS Safari 12.1 - ✅
Electron
(Chromium)
4 (69) ✅ ✅© Mark Lubkowitz (www.microfrontends.de)
SERVICE WORKER
Zentralisierung möglich
Service Worker basieren auf dem
Worker-Standard. Sie laufen in einem
eigenen Thread und agieren auf
Netzwerkebene.
© Mark Lubkowitz (www.microfrontends.de)
WEBASSEMBLY
Quasi-Nachbau von Java
Webassembly ist Bytecode fürs Web.
C++ oder Go lassen sich nach
Webassembly übersetzen. Backend-
Code kann ins Frontend rutschen.
© Mark Lubkowitz (www.microfrontends.de)
E-MAIL-CLIENT
Was wäre ein Idealbeispiel?
© Mark Lubkowitz (www.microfrontends.de)
DOMÄNENMODELL
Viele Domänen in einer Anwendung
Erst Fachlichkeit identifizieren, dann
daran entlang schneiden, etwa E-Mail
und Kontakte. Domain-Driven Design
bietet dazu den besten Ansatz.
E-MAILKONTAKTE KALENDER
NOTIZEN
DATEIEN
AUFGABEN
NOTIZEN
© Mark Lubkowitz (www.microfrontends.de)
TRIVIALER
BEISPIELCODE
Vereinfachter HTML-Code
<html>
<head></head>
<body>
<e-mail task="compose">
…
<div>An:</div>
<kontakt-verwaltung
max="4" style="pillbox" autocomplete="true"
></kontakt-verwaltung>
…
<div>CC:</div>
<kontakt-verwaltung
max="4" style="pillbox" autocomplete="true"
></kontakt-verwaltung>
…
<div>BCC:</div>
<kontakt-verwaltung
max="4" style="pillbox" autocomplete="true"
></kontakt-verwaltung>
…
</e-mail>
</body>
</html>
© Mark Lubkowitz (www.microfrontends.de)
WEITERE VORTEILE
Was habe ich noch davon?
© Mark Lubkowitz (www.microfrontends.de)
ROLLOUT
Canary Release
© Mark Lubkowitz (www.microfrontends.de)
INTEGRATION
Zeitpunkt wählbar
© Mark Lubkowitz (www.microfrontends.de)
LAZY LOADING
Nachladen bei Bedarf
© Mark Lubkowitz (www.microfrontends.de)
HOT DEPLOYMENT
Change-on-the-fly
© Mark Lubkowitz (www.microfrontends.de)
HERAUSFORDERUNGEN
Womit bezahle ich das?
© Mark Lubkowitz (www.microfrontends.de)
FRAMEWORK-ZOO
Potenzielle Nebeneffekte # Zentralisierung
# Guidelines
# Common Sense
© Mark Lubkowitz (www.microfrontends.de)
SCHWERGEWICHTIG
Full-Blown-Mini-Applications # Artefakte bilden
# Caching
# Service Worker
© Mark Lubkowitz (www.microfrontends.de)
DESIGNBRÜCHE
Potenziell schwierige User Experience
# Design System
# Versionierung der Designs im
Microfrontend
# Designs als Module
# Überladung der Styles
© Mark Lubkowitz (www.microfrontends.de)
SCHNITTSTELEN-
PROBLEME
Missverständnisse
# Schnittstelle einfach halten
# Universell auslegen
# einfache, nicht-typisierte Daten
# Versionierung
© Mark Lubkowitz (www.microfrontends.de)
TECHNISCHE
SCHULDEN
Geplante Obsoleszenz
# hoher Qualitätsanspruch
# Konventionen
# Architekturstil anpassen
# gesunder Menschenverstand
© Mark Lubkowitz (www.microfrontends.de)
FAZIT
Vollständig modularisierte Frontends
© Mark Lubkowitz (www.microfrontends.de)
MODULARISIERUNG
Anwendungsebene
Microfrontends sind ein Modularisie-
rungskonzept auf Anwendungsebene.
Sie ergänzen den Architekturstil der
Microservices, ohne abhängig zu sein.
© Mark Lubkowitz (www.microfrontends.de)
KOMPLEXITÄT
Teilen und herrschen
Komplexität hängt von den Anforde-
rungen ab. Sie lässt sich deshalb nur
auf eine andere Ebene verschieben,
fügt dann weitere Komplexität hinzu.
© Mark Lubkowitz (www.microfrontends.de)
ALTERNATIVEN
Schlechter als Custom Elements
Microfrontends lassen sich auch
verlinken, mit aufgepumpten DIV-
Elementen umsetzen, in iFrames laden
oder per SSI injizieren.
© Mark Lubkowitz (www.microfrontends.de)
KONTAKT
Twitter:
@marklubkowitz
Webseite:
microfrontends.de
E-Mail:
me@microfrontends.de
Linkedin:
linkedin.com/in/marklubkowitz
© Mark Lubkowitz (www.microfrontends.de)

Weitere ähnliche Inhalte

Ähnlich wie Microfrontends zur Rettung - Frontends auf Anwendungsebene modularisieren

JCON 2022 - Swallowed Exceptions in Java
JCON 2022 - Swallowed Exceptions in JavaJCON 2022 - Swallowed Exceptions in Java
JCON 2022 - Swallowed Exceptions in JavaElmar Dott
 
Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternBrockhaus Consulting GmbH
 
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​Artikel Netzguide: SOA als Grundlage für "Composite Applications"​
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​Peter Affolter
 
2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.
 2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen. 2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.
2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.Johannes Waibel
 
We4IT Flyer - aveedo
We4IT Flyer - aveedoWe4IT Flyer - aveedo
We4IT Flyer - aveedoWe4IT Group
 
16-seitige Broschüre CompanyMessenger_deutsch
16-seitige Broschüre CompanyMessenger_deutsch16-seitige Broschüre CompanyMessenger_deutsch
16-seitige Broschüre CompanyMessenger_deutschThomas Teufel
 
JCON 2022 - Mythos Wiederverwendung: der grüne Punkt
JCON 2022 - Mythos Wiederverwendung: der grüne PunktJCON 2022 - Mythos Wiederverwendung: der grüne Punkt
JCON 2022 - Mythos Wiederverwendung: der grüne PunktElmar Dott
 
.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210Martin Hey
 
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...Thomas Maeder
 
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT TWT
 
Orbiti Ex Michael Greth Cms Shoot Out
Orbiti Ex Michael Greth Cms Shoot OutOrbiti Ex Michael Greth Cms Shoot Out
Orbiti Ex Michael Greth Cms Shoot OutMichael Greth
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformQAware GmbH
 
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...Thomas Maeder
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)Robin Sedlaczek
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
Eclipse RapidClipse - Status Quo
Eclipse RapidClipse - Status QuoEclipse RapidClipse - Status Quo
Eclipse RapidClipse - Status QuoMarkus Kett
 

Ähnlich wie Microfrontends zur Rettung - Frontends auf Anwendungsebene modularisieren (20)

JCON 2022 - Swallowed Exceptions in Java
JCON 2022 - Swallowed Exceptions in JavaJCON 2022 - Swallowed Exceptions in Java
JCON 2022 - Swallowed Exceptions in Java
 
Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary Pattern
 
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​Artikel Netzguide: SOA als Grundlage für "Composite Applications"​
Artikel Netzguide: SOA als Grundlage für "Composite Applications"​
 
2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.
 2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen. 2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.
2016 - Mobile Revolution - Fachvortrag an der FHS St.Gallen.
 
We4IT Flyer - aveedo
We4IT Flyer - aveedoWe4IT Flyer - aveedo
We4IT Flyer - aveedo
 
16-seitige Broschüre CompanyMessenger_deutsch
16-seitige Broschüre CompanyMessenger_deutsch16-seitige Broschüre CompanyMessenger_deutsch
16-seitige Broschüre CompanyMessenger_deutsch
 
JCON 2022 - Mythos Wiederverwendung: der grüne Punkt
JCON 2022 - Mythos Wiederverwendung: der grüne PunktJCON 2022 - Mythos Wiederverwendung: der grüne Punkt
JCON 2022 - Mythos Wiederverwendung: der grüne Punkt
 
.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210
 
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...
Die Transformation des Corporate Intranet hin zu einem integrierten Digital W...
 
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT
Casestudy pronova BKK: Website-Relaunch & Responsive Design-Optimierung mit TWT
 
Orbiti Ex Michael Greth Cms Shoot Out
Orbiti Ex Michael Greth Cms Shoot OutOrbiti Ex Michael Greth Cms Shoot Out
Orbiti Ex Michael Greth Cms Shoot Out
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...
Transformation des Corporate Intranet zum integrierten Digital Workplace - Go...
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
[DE] Vom Web 2.0 zum Web 42.0 | Ulrich Kampffmeyer
[DE] Vom Web 2.0 zum Web 42.0 | Ulrich Kampffmeyer[DE] Vom Web 2.0 zum Web 42.0 | Ulrich Kampffmeyer
[DE] Vom Web 2.0 zum Web 42.0 | Ulrich Kampffmeyer
 
IT Outsourcing Agentur Berlin
IT Outsourcing Agentur BerlinIT Outsourcing Agentur Berlin
IT Outsourcing Agentur Berlin
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Eclipse RapidClipse - Status Quo
Eclipse RapidClipse - Status QuoEclipse RapidClipse - Status Quo
Eclipse RapidClipse - Status Quo
 

Microfrontends zur Rettung - Frontends auf Anwendungsebene modularisieren