

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Método 3: Desacoplar mediante una cola de mensajes
<a name="queue"></a>

En este enfoque, el programa compartido AB.1 se convierte en un programa Java y se migra a la nube como parte de la aplicación A. Se utiliza una cola de mensajes como interfaz entre la aplicación refactorizada en la nube y la aplicación antigua local. Con este enfoque, puede dividir las aplicaciones de mainframe estrechamente acopladas en productoras y consumidoras, y hacerlas más modulares para que puedan funcionar de forma independiente. La ventaja adicional es que puede migrar las aplicaciones en distintas fases.

Le recomendamos que utilice este enfoque cuando:
+ Las aplicaciones que residen en el mainframe pueden comunicarse con las aplicaciones migradas a la nube a través de una cola de mensajes.
+ No se pueden mantener varias copias del programa AB.1 (por ejemplo, una copia local y una copia en la nube, como en los dos enfoques anteriores).
+ El patrón de arquitectura de colas cumple con los requisitos empresariales de las aplicaciones que residen en el mainframe, ya que implica rediseñar la arquitectura de las aplicaciones existentes.
+ Las aplicaciones que no forman parte de la primera oleada requieren más tiempo (seis meses o más) para migrar a la nube.

## Migración de aplicaciones en distintas oleadas
<a name="queue-multi-wave"></a>

Cuando las aplicaciones son demasiado grandes para agruparlas en la misma ola de migración, puede migrarlas en varias oleadas, como se muestra en el siguiente diagrama, y mantener la continuidad del servicio durante la migración. Con este enfoque, puede modernizar sus aplicaciones por fases sin tener que agruparlas.

 ![\[Migrating mainframe applications that share programs: using a message queue and multiple migration waves\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-3-diff.png) 

Si utiliza este enfoque, siga estos pasos:

1. Migre (refactorice) la aplicación A con sus programas asociados a la nube mientras la aplicación B sigue residiendo en las instalaciones. 

1. Refactoriza la aplicación A (en la nube) para que se comunique con la aplicación B (local) a través de una cola de mensajes.

1. Refactoriza la aplicación B localmente para reemplazar el programa compartido AB.1 por un programa proxy que envía mensajes a la aplicación A y recibe mensajes desde ella a través de la cola de mensajes.

1. Una vez que la aplicación A se haya migrado correctamente, retire la aplicación local A y sus componentes (incluido el programa compartido). La aplicación B y sus componentes siguen residiendo en las instalaciones.

1. En la siguiente serie de oleadas de migración, migre la aplicación B y sus componentes. La arquitectura de colas poco acoplada sigue actuando como una interfaz entre las aplicaciones A y B en la nube. Esto reduce los esfuerzos de refactorización de la aplicación B sin afectar a la aplicación A.