

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á.

# Aplicação de exemplo
<a name="sample-app"></a>

Esta seção fornece orientação para equipes que estão avaliando a migração de seu sistema de gerenciamento de banco de dados relacional (RDBMS) para um banco de dados NoSQL e se concentra no Amazon DynamoDB como o banco de dados NoSQL de destino. Ele aborda os dois desafios a seguir, com base em um estudo de caso de um aplicativo que migrou do Microsoft SQL Server para o DynamoDB:
+ Mapeamento de dados relacionais de várias tabelas no RDBMS para uma estrutura de documentos e coleta de valores-chave no DynamoDB
+ Alteração da camada de acesso a dados no aplicativo para realizar operações de criação, leitura, atualização e exclusão (CRUD) no DynamoDB

A discussão e a orientação incluem exemplos de código escritos em C\#, usando o AWS SDK para.NET. 

O aplicativo web de amostra mantém a configuração de centenas de aplicativos usados em uma organização, incluindo usuários e hosts permitidos (web, celular, desktop) para cada aplicativo, metadados, palavras-chave de pesquisa e assim por diante. O aplicativo fornece manutenção de configuração e funcionalidade de pesquisa para diferentes versões de vários aplicativos usados na organização. As alterações de configuração são monitoradas usando tabelas de auditoria. Aqui está um fluxo de trabalho típico para o aplicativo de amostra:

1. Crie uma configuração para o aplicativo de teste. 

1. Promova a configuração do aplicativo de teste para produção (ou seja, crie uma configuração do aplicativo de produção). 

1. Atualize e audite as alterações (crie um registro de auditoria, chame a configuração alterada do aplicativo).

## Padrão antigo de acesso a dados
<a name="source-stack"></a>

A pilha de tecnologia de origem consistia no seguinte:
+ Controlador ASP.NET Web API 
+ Objetos de negócios 
+ Estrutura de entidades ASP.NET (EF) 
+ Serviços de dados ADO.NET
+ Microsoft SQL Server 2016

 ![Source RDBMS technology stack and data access pattern](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/source-tech-stack.png) 

## Novo padrão de acesso a dados
<a name="target-stack"></a>

O aplicativo migrado oferece suporte ao SQL Server e ao DynamoDB com base na chave de configuração `UseSqlDataSource` () fornecida no arquivo de configuração. Conforme mostrado no diagrama a seguir, se o valor de `UseSqlDataSource` for`true`, o aplicativo se conectará ao SQL Server. Se o valor for`false`, o aplicativo se conectará ao DynamoDB.

A nova pilha de tecnologia consiste no seguinte:
+ Controlador de API Web ASP.NET — aceita solicitações HTTP em vários endpoints de API.
+ Objetos e serviços de negócios — Classes e objetos que têm a lógica de negócios para processar entradas e dados obtidos do banco de dados.
+ Entidades e modelos NoSQL — classes que mapeiam itens armazenados no DynamoDB.
+ AWS SDK — fornece acesso programático ao DynamoDB e a outros serviços. AWS 
+ DynamoDB — Banco de dados para armazenar dados de aplicativos.

 ![Target NoSQL technology stack and data access pattern](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/target-tech-stack.png) 