Verfügbarmachen und Einbetten eines Micro Frontend
Es gibt vier verschiedene Technologien, um ein Micro Frontend einzubetten. Jede ist für ein bestimmtes Szenario besser geeignet:
- Jutro Micro Frontend SDK
MicroFrontend-Komponente mit Kontextfreigabe, bekannt als Freigabemodus (früher Modulföderationsmodus)MicroFrontend-Komponente mit Kontextisolation, bekannt als isolierter Modus (früher iframe-Modus)- Standard-iframe
shared sowohl für die Shell-App als auch für das Micro Frontend zu verwenden. Bitte beachten Sie jedoch, dass diese Lösung auf der React-Komponente MicroFrontend basiert, was die Kompatibilität mit einigen Shell-Apps einschränken kann:-
Verwenden Sie bei älteren Jutro-Shell-Apps (z. B. EnterpriseEngage) die
MicroFrontend-Komponente im Freigabemodus mit Vorsicht. Alternativ können Sie dieMicroFrontend-Komponente im isolierten Modus verwenden. -
Für neue und ältere Jutro-Shell-Apps (z. B. benutzerdefiniertes Portal) ist die Verwendung dieser
MicroFrontend-Komponente keine sinnvolle Option. Alternativ können Sie das Jutro MicroFrontend-SDK verwenden, das nur das Einbetten von iframes zulässt.
Für eine optimale Leistung verwaltet die Shell-App die Authentifizierung über den Guidewire Hub. In Jutro-Shell-Apps (sowohl neuen als auch älteren) ist diese Einrichtung die Standardeinstellung, die eine nahtlose Übergabe von Authentifizierungstoken an Micro Frontends ermöglicht. Wenn jedoch Nicht-Jutro-Shell-Apps (neue und ältere) nicht in den Guidewire Hub integriert werden können, um Authentifizierungstoken zu erhalten, müssen Sie möglicherweise Behelfslösungen implementieren, die zu suboptimalen Benutzererfahrungen führen können.
Jutro Micro Frontend SDK
Das Jutro Micro Frontend SDK basiert auf dem standardmäßigen HTML-iframe. In Szenarien, in denen eine Kontextisolierung zwischen Jutro Micro Frontends und Nicht-Jutro-Shell-Apps erforderlich ist, bietet das Micro Frontend SDK eine bessere Lösung.
Das Jutro Micro Frontend SDK adressiert die Einschränkungen von nativen iframes. Sie ermöglicht es Entwicklern, mit dem Micro Frontend zu interagieren, Eigenschaften zu übergeben und verschiedene Integrationen über die API zu aktivieren. Diese Methode bietet eine sicherere Möglichkeit, unabhängig entworfene und entwickelte Anwendungen zu integrieren. Darüber hinaus ist es neben dem Standard-iframe die einzige Methode, das Jutro Micro Frontend in Portale von Drittanbietern einzubetten, wenn Benutzer keinen Zugriff auf das @jutro-/Micro Frontend-Paket und das gesamte Jutro-Ökosystem haben.
Verwenden Sie den iframe des Jutro Micro Frontend SDK, um neu erstellte Web-Apps auf JDP in vorhandene digitale Portale einzubetten. Dieser Ansatz gewährleistet eine zuverlässigere, weniger fehleranfällige Integration zwischen Jutro Micro Frontends und Shell-Apps. Dies gilt sowohl für neue als auch für ältere Shell-Apps, bei denen Entwickler Zugriff auf den Code der Shell-App haben. Beachten Sie jedoch, dass sich der Mangel an modulübergreifender Kommunikation und Kontextfreigabe negativ auf die allgemeine Benutzererfahrung auswirken kann.
MicroFrontend-Komponente mit Kontextfreigabe (Freigabemodus)
Durch Verwendung des gemeinsam Freigabemodus mit der MicroFrontend-Komponente kann das Micro-Frontend die Modul-Federation-Technologie verwenden, die die gemeinsame Nutzung von Kontext zwischen Jutro-Micro-Frontends und Shell-Apps erleichtert. Dieser Ansatz eignet sich für Szenarien, in denen die endgültige Erfahrung von Anfang an als zusammenhängende Einheit konzipiert ist, bevor sie in kleinere, unabhängig einsetzbare Teile zerlegt wird. Dies basiert auf einer Modulföderation für die gemeinsame Nutzung von Code und Ressourcen, was die Zusammenarbeit und den Abschluss von Verträgen zwischen unabhängigen Entwicklungsteams erfordert, um eine nahtlose Integration ohne unbeabsichtigte Interferenzen zu gewährleisten.
Die Modulföderation ist eine moderne und effiziente Technologie, die dazu beiträgt, Ladezeiten zu verkürzen und die Leistung zu verbessern. Außerdem wird die Kommunikation und der Datenaustausch zwischen verschiedenen Teilen der Anwendung durch gemeinsam genutzte Schnittstellen vereinfacht. Diese Methode eignet sich besonders für neue Shell-Apps, bei denen Entwickler Zugriff auf den Code der Shell-App haben. Die Modulföderation ist eine geeignete Wahl für Kunden, die beabsichtigen, mit JDP eine neue digitale Erfahrung von Grund auf neu zu erstellen, insbesondere wenn sie bestimmte Abschnitte der Webanwendung von Anfang an unabhängig halten möchten.
Für Legacy-Shell-Apps bleibt der Modulverbund zwar eine Option, aber es wird empfohlen, sowohl Legacy- als auch Nicht-Legacy-Jutro-Apps mithilfe von iframes als Micro Frontends in EnterpriseEngage einzubetten. Iframes bieten eine einfache, effektive und sichere Methode, um unabhängig voneinander entworfene Anwendungen ineinander einzubetten und dabei klare Grenzen zu wahren. Wenn bei der Implementierung dieses Anwendungsfalls Herausforderungen auftreten, sollten Sie alternativ das Jutro Micro Frontend SDK in Betracht ziehen.
MicroFrontend-Komponente mit Kontextisolierung (isolierter Modus)
Die MicroFrontend-Komponente im isolierten Modus ist die empfohlene Technologie für Kontextisolationsumgebungen. Diese Komponente stellt standardmäßig alle Integrationen zwischen dem eingebetteten Micro Frontend und der Shell-App bereit.
Diese Methode wird sowohl für neue als auch für ältere Shell-Apps empfohlen, bei denen Entwickler Zugriff auf den Code der Shell-App haben. Diese Empfehlung wird durch die Jutro-Versionsübergreifende Kompatibilität eingeschränkt, da sowohl die Shell-App als auch das eingebettete Micro Frontend auf Jutro Version 8.13.x oder höher sein müssen.
Standard-iframe
Diese Technologie wird nicht von JDP bereitgestellt, daher fehlen spezifische Integrationen zwischen den Shell-Apps und den Micro Frontends. Sie basiert ausschließlich auf den nativen Funktionen von HTML-iframes. Diese Option wird empfohlen, wenn das Einbetten von Jutro bereitgestelltem Code in eine Shell-App nicht möglich ist.
Sowohl für neue als auch für ältere Shell-Apps, bei denen Entwickler kein JavaScript in der Shell-App schreiben können (z. B. verpackte UI-Lösungen mit HTML-Erweiterungen), wird das Standard-HTML-Tag <iframe> empfohlen, bei dem die src-Eigenschaft auf die URL des Jutro Micro Frontends verweist. Für Szenarien mit Nicht-Jutro Micro Frontends eignet sich zudem das Standard-HTML-Tag <iframe>, bei dem die src Eigenschaft auf die URL des Nicht-Jutro Micro Frontends verweist. Für das Einbetten von Nicht-Jutro Micro Frontends bettet die Standard-Modulföderation mit Webpack 5 das Nicht-Jutro Micro Frontend effektiv in neue und ältere Shell-Apps ein, in denen Entwickler Zugriff auf den Code der Shell-App haben.
Siehe auch
- Informationen zum Verwenden von Micro Frontends in komplexeren Zusammenhängen finden Sie im Abschnitt Verfügbarmachen und Einbetten mit dem Micro Frontend SDK.
- Informationen zum Einbetten von Micro-Frontends in Jutro-Apps mithilfe der Kontextfreigabe, die als Freigabemodus bezeichnet wird, finden Sie auf der Seite Verfügbarmachen und Einbetten der MicroFrontend-Komponente mit Kontextisolierung.
- Informationen zum Einbetten von Micro-Frontends in Jutro-Apps unter Verwendung der Kontextisolation, die als isolierter Modus bezeichnet wird, finden Sie auf der Seite Verfügbarmachen und Einbetten der MicroFrontend-Komponente mit Kontextisolierung.
- Informationen zum Verwenden von Micro Frontends in Fällen, in denen die Jutro
MicroFrontend-Komponente nicht verwendet werden kann, finden Sie unter Verfügbarmachen und Einbetten mit Standard-iFrame. - Eine ausführliche Erläuterung aller Eigenschaften finden Sie auf der Seite API-Referenz.
- Weitere Informationen zur Verwaltung von Stilen durch Micro Frontends und weitere Aspekte der Verwendung finden Sie unter Überlegungen zur Verwendung von Micro Frontends.