

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 1: desacoplar usando uma API autônoma
<a name="api"></a>

Ao usar essa abordagem, você instancia uma API autônoma convertendo o programa COBOL compartilhado AB.1 em um programa Java. Para minimizar os esforços de refatoração, você pode usar ferramentas automatizadas de refatoração fornecidas pelos AWS parceiros (consulte a seção [Recursos adicionais](resources.md)) para gerar uma rede para o programa. APIs Algumas ferramentas podem gerar automaticamente uma camada de fachada a partir do programa selecionado usando um ambiente de desenvolvimento integrado (IDE), como o Eclipse.

Recomendamos essa abordagem quando o programa compartilhado pode ser instanciado como um serviço independente. Os componentes restantes dos aplicativos A e B são refatorados em Java como um todo e migrados para a nuvem. Você pode migrar os aplicativos na mesma onda ou em ondas diferentes.

## Migrando aplicativos na mesma onda
<a name="api-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 an standalone API and a single migration wave\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-1-same.png) 

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

1. Refatore os dois aplicativos com seus respectivos programas e migre-os para a nuvem. 

1. Use o relatório de análise de impacto da fase de análise para ajudar desenvolvedores e equipes a identificar os aplicativos refatorados que chamam o programa compartilhado AB.1. Substitua a chamada interna do programa pelo programa compartilhado AB.1 por chamadas de API de rede.

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

## Migração de aplicativos em diferentes ondas
<a name="api-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 an standalone API and multiple migration waves\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-1-diff.png) 

Se você estiver desacoplando seu código usando uma API independente 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. No aplicativo A, substitua a chamada interna do programa pelo programa compartilhado AB.1 por uma chamada de API.

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. Após esse ponto, todo o desenvolvimento de recursos ocorrerá no programa refatorado AB.1 na nuvem.

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 chamar o programa migrado e refatorado de AB.1 para reduzir os esforços de refatoração do aplicativo B.