Actualmente existen un número elevado de desarrollos en construcción y planificados que fueron diseñados con anterioridad al nuevo modelo global. Estos desarrollos realizarán una transición progresiva al nuevo enfoque de acuerdo con los criterios de modernización que tendrán en cuenta la relación coste-beneficio de dicha transición, considerando aspectos como la mejora en la seguridad, mejora en la mantenibilidad y la reducción de la obsolescencia tecnológica, entre otros. Para ello se identifican dos arquitecturas de referencia que soporta esta casuística:
La arquitectura modular (basada en monolítica modular o “modulith”) es el paso intermedio entre la evolución de arquitecturas monolíticas, intentando aplicar conceptos asociados a arquitecturas de microservicios a los monolitos. Esto permite a la organización la generación de sistemas y servicios que están preparados para una futura transición a microservicios.
Necesidad
Disponer de una arquitectura de transición desde los actuales monolitos existentes en la organización, a un enfoque modular de servicios divididos y definidos en dominios funcionales (microservicios), mejorándose la organización, división, despliegue y mantenimiento del código fuente de grandes sistemas.
Recomendado para aplicaciones o sistemas en estado de mantenimiento evolutivo que no pueden abordar la incorporación de microservicios, siendo el paso intermedio recomendado en los casos en los que en el futuro puede ser viable una evolución a arquitecturas de microservicios o microfrontends alineadas con la nueva arquitectura global de contexto.
Características principales
- Arquitectura modular para el despliegue de aplicaciones monolíticas “tradicionales”.
- FrontEnd y Backend pueden coexistir en el mismo empaquetado.
- La funcionalidad de la aplicación se realiza mediante división modular a partir del concepto de dominio de negocio.
- Pueden exponerse APIs internas de consumo.
- Pueden consumirse y enviarse eventos a través de un broker de mensajería.
- Pueden consumirse servicios de interoperabilidad para realizar integraciones con otros sistemas de la organización o sistemas de terceros.
Relaciones
- Consumida por:
- Arquitectura de APIs.
- Arquitectura de interoperabilidad.
- Arquitectura de microservicios.
- Arquitectura de funciones.
- Accede a:
- Arquitectura de microservicios.
- Arquitectura de funciones.
- Arquitectura de interoperabilidad.
- Arquitectura de eventos.
- Arquitectura de datos.