

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Abordagem 2: desacoplar usando uma biblioteca compartilhada
<a name="library"></a>

Nessa abordagem, o programa compartilhado AB.1 é convertido em uma biblioteca comum Java e é empacotado com os aplicativos para migração. Recomendamos essa abordagem quando o programa compartilhado é uma biblioteca de suporte em vez de um serviço independente.

Os componentes restantes dos aplicativos A e B são refatorados em programas Java e migrados para a nuvem. Você pode migrar os aplicativos na mesma onda ou em ondas diferentes.

## Migrando aplicativos na mesma onda
<a name="library-same-wave"></a>

No diagrama a seguir, os aplicativos A e B são agrupados para serem migrados na mesma onda.

 ![\[Migrating mainframe applications that share programs: using a common library and a single migration wave\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-2-same.png) 

Se você estiver desacoplando seu código usando uma biblioteca compartilhada e migrando aplicativos na mesma onda, siga estas etapas:

1. Refatore os aplicativos A e B com seus programas associados em Java e migre-os para a nuvem. 

1. Mantenha o código-fonte dos aplicativos em um serviço de controle de origem totalmente gerenciado. As equipes que usam o programa compartilhado podem colaborar nas alterações de código usando pull requests, ramificação e mesclagem, além de controlar as alterações feitas no código do programa compartilhado.

1. Após a migração, retire os aplicativos de mainframe locais e seus componentes.

## Migração de aplicativos em diferentes ondas
<a name="library-multi-wave"></a>

Quando os aplicativos são grandes demais para serem agrupados na mesma onda de migração, você pode migrá-los em várias ondas, conforme mostrado no diagrama a seguir, e manter a continuidade do serviço durante a migração. Com essa abordagem, você pode modernizar seus aplicativos em fases sem agrupá-los. A migração de seus aplicativos em ondas separadas os separa sem exigir alterações significativas no código do mainframe. 

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

Se você estiver desacoplando seu código usando uma biblioteca compartilhada e migrando aplicativos em diferentes ondas, siga estas etapas:

1. Migre (refatore) o aplicativo A com seus programas associados para a nuvem enquanto o aplicativo B continua residindo no local.

1. Mantenha uma cópia do programa AB.1 no mainframe para que o aplicativo B possa continuar operando.

1. Congele o desenvolvimento de recursos do programa AB.1 no mainframe. Nesse ponto, todo o desenvolvimento de recursos ocorrerá no programa refatorado AB.1 na nuvem.

1. Ao desenvolver novos recursos para o programa AB.1, mantenha a compatibilidade com versões anteriores para suportar a migração do aplicativo B em futuras ondas.

1. Depois que o aplicativo A for migrado com êxito, desative o aplicativo local e seus componentes (excluindo o programa compartilhado). O aplicativo B e seus componentes (incluindo o programa compartilhado) continuam residindo no local.

1. No próximo conjunto de ondas de migração, migre o aplicativo B e seus componentes. Você pode usar a biblioteca compartilhada mais recente do programa AB.1 na nuvem para reduzir os esforços de refatoração do aplicativo B.