Saltar al contenido principal

Pautas de uso para microfrontends

Hay cuatro tecnologías diferentes para incrustar un microfrontend. Cada una de ellas es más adecuada para un caso específico:

  • Microfrontend SDK de Jutro
  • Componente MicroFrontend con uso compartido de contexto, conocido como modo compartido (en el pasado, modo de federación de módulos).
  • Componente MicroFrontend con aislamiento de contexto, conocido como modo aislado (en el pasado, modo iframe).
  • iframe estándar
Note: Para crear una nueva experiencia digital desde cero con JDP, recomendamos utilizar nuestra solución de uso compartido del contexto a través del modo shared tanto para la aplicación shell como para el microfrontend. Sin embargo, tenga en cuenta que esta solución se basa en el componente MicroFrontend de React, lo que puede limitar su compatibilidad con algunas aplicaciones shell:
  • Para las aplicaciones shell heredadas de Jutro (por ejemplo, EnterpriseEngage), utilice el componente MicroFrontend en modo compartido con precaución. Como alternativa, utilice el componente MicroFrontend en modo aislado.

  • Para las aplicaciones shell nuevas y heredadas que no sean de Jutro (por ejemplo, portal personalizado), el uso de este componente MicroFrontend no es una opción viable. Como alternativa, utilice el SDK de microfrontend de Jutro, que solo permite la incrustación de iframes.

Para un rendimiento óptimo, la aplicación shell debe administrar la autenticación a través de Guidewire Hub. En las aplicaciones shell de Jutro (tanto nuevas como heredadas), esta configuración es la predeterminada, lo que permite que los tokens de autenticación se transfieran sin problemas a microfrontends. Sin embargo, para las aplicaciones shell que no sean de Jutro (tanto nuevas como heredadas), si no pueden integrarse con Guidewire Hub para obtener tokens de autenticación, es posible que deba implementar soluciones temporales, lo que podría conducir a experiencias de usuario de menor calidad que las óptimas.

Microfrontend SDK de Jutro​

El Microfrontend SDK de Jutro se basa en el iframe HTML estándar. En los casos en los que se requiera aislamiento de contexto entre los microfrontends de Jutro y las aplicaciones shell que no sean de Jutro, el Microfrontend SDK ofrece una mejor solución.

El Microfrontend SDK de Jutro aborda las limitaciones de los iframes nativos. Permite a los desarrolladores interactuar con el microfrontend, pasar propiedades y habilitar varias integraciones mediante la API. Este método proporciona una forma más segura de integrar aplicaciones diseñadas y desarrolladas de forma independiente. Además, es el único método, junto con el iframe estándar, para incrustar el microfrontend de Jutro en portales de terceros cuando los usuarios no tienen acceso al paquete @jutro/micro-frontends ni a todo el ecosistema Jutro.

Utilice el iframe de Microfrontend SDK de Jutro para incrustar aplicaciones web recién creadas en JDP en portales digitales existentes. Este método garantiza una integración más confiable y menos propensa a errores entre los microfrontends de Jutro y las aplicaciones shell. Esto se aplica tanto a las aplicaciones shell nuevas como a las heredadas en las que los desarrolladores tienen acceso al código de la aplicación shell. Sin embargo, tenga en cuenta que la falta de comunicación entre módulos y de uso compartido del contexto puede perjudicar la experiencia general del usuario.

Componente MicroFrontend con uso compartido del contexto (modo compartido)​

Utilizar el modo compartido con el componente MicroFrontend permite que el microfrontend utilice la tecnología de federación de módulos, la que facilita el uso compartido del contexto entre los microfrontends de Jutro y las aplicaciones shell. Este método es adecuado para casos en los que la experiencia final se diseña como una unidad cohesiva desde el principio, antes de dividirla en partes más pequeñas que se pueden implementar de forma independiente. Se basa en la federación de módulos para compartir código y recursos, lo que requiere colaboración y establecimiento de contratos entre equipos de desarrollo independientes para garantizar una integración perfecta sin interferencias involuntarias.

La federación de módulos es una tecnología moderna y eficiente que ayuda a reducir los tiempos de carga y a mejorar el rendimiento. También simplifica la comunicación y el intercambio de datos entre diferentes partes de la aplicación a través de interfaces compartidas. Este método es especialmente adecuado para las aplicaciones shell nuevas en las que los desarrolladores tienen acceso al código de la aplicación shell. La federación de módulos es una opción adecuada para los clientes que pretenden crear una nueva experiencia digital desde cero utilizando JDP, en particular, cuando desean mantener secciones específicas de la aplicación web independientes desde el principio.

Para las aplicaciones de shell heredadas, aunque la federación de módulos sigue siendo una opción, se recomienda incrustar aplicaciones de Jutro heredadas y no heredadas como microfrontends en EnterpriseEngage mediante iframes. Los iframes proporcionan un método sencillo, eficaz y seguro para incrustar entre sí aplicaciones diseñadas de forma independiente, manteniendo límites claros. Si surgen dificultades en la implementación de este caso de uso, considere la posibilidad de usar el Microfrontend SDK de Jutro como alternativa.

Componente MicroFrontend con aislamiento de contexto (modo aislado)​

El componente MicroFrontend en modo aislado es la tecnología recomendada para entornos de aislamiento de contexto. Este componente proporciona todas las integraciones entre el microfrontend incrustado y la aplicación shell de forma predeterminada.

Este método se recomienda tanto para aplicaciones shell nuevas como a las heredadas en las que los desarrolladores tienen acceso al código de la aplicación shell. Esta recomendación está limitada por la compatibilidad cruzada de versiones de Jutro, ya que tanto la aplicación shell como el microfrontend incrustado deben ser de la versión 8.13.x o superior de Jutro.

iframe estándar​

Esta tecnología no es proporcionada por JDP, por ello, carece de integraciones específicas entre las aplicaciones shell y los microfrontends. Se basa únicamente en las características nativas de los iframes HTML. Esta opción se recomienda cuando no es posible incrustar código proporcionado por Jutro en una aplicación shell.

Tanto para las aplicaciones shell nuevas y heredadas en las que los desarrolladores no pueden escribir JavaScript en la aplicación shell (por ejemplo, soluciones de interfaz de usuario empaquetadas con extensiones HTML), se recomienda la etiqueta HTML estándar <iframe> con la propiedad src que apunta a la URL del microfrontend de Jutro. Además, para escenarios que implican microfrontends que no sean de Jutro, es adecuada la etiqueta HTML estándar <iframe> con la propiedad src que apunta a la URL del microfrontend que no es de Jutro. Para incrustar microfrontends que no sean de Jutro, la federación de módulos estándar con Webpack 5 incrusta de manera efectiva el microfrontend que no es de Jutro en aplicaciones shell nuevas y heredadas, en las que los desarrolladores tienen acceso al código de la aplicación shell.

Consulte también​