How To Create a Microsoft Azure-Based MVC Application
"Nuvem" tem sido uma palavra da moda há algum tempo. Mas o que isso significa para você como desenvolvedor? Para começar, você não terá que escrever um código muito diferente para a nuvem do que já está escrevendo para aplicativos locais.
"Nuvem" tem sido uma palavra da moda há algum tempo. Mas o que isso significa para você como desenvolvedor? Para começar, você não terá que escrever um código muito diferente para a nuvem do que já está escrevendo para aplicativos locais.
Vamos supor que você já esteja familiarizado com os aplicativos MVC. Se isso for verdade, neste post vamos nos concentrar em demonstrar como a criação para a nuvem não é muito diferente de qualquer outro desenvolvimento. Seguiremos uma abordagem passo a passo e criaremos um aplicativo MVC de ponta a ponta hospedado completamente na nuvem (dados e aplicativo).
Configurando o banco de dados no SQL Azure
Primeiro, vamos configurar o banco de dados na nuvem. Vamos usar o SQL Azure como plataforma de nuvem e vamos criar um banco de dados escolar. Para criar isso no Azure, você precisa:
- Login to Microsoft Azure portal
 - Na guia lateral, selecione as opções SQL DATABASES
 - Na parte inferior, clique no botão NOVO
 

A partir daqui, você terá a opção de criar um novo banco de dados. Para criar um, você precisa fornecer as seguintes informações:
- Nome do banco de dados. Aqui, vamos trabalhar com o banco de dados School fornecido pela Microsoft, portanto, certifique-se de fornecer "School" como o nome do banco de dados.
 - Escolha a assinatura do Azure na qual o banco de dados será criado.
 - Você pode escolher um servidor existente ou criar um novo servidor de banco de dados. Para criar um novo servidor de banco de dados, você terá que fornecer informações como região, nome de login e senha.
 

Depois de clicar na opção CREATE SQL DATABASE, o banco de dados da escola e um novo servidor de banco de dados serão criados. Após a criação bem-sucedida do banco de dados, você precisa configurar regras de firewall para o servidor de banco de dados de modo que possa conectar a máquina de desenvolvimento local ao servidor de banco de dados do SQL Azure. Para configurar as regras de firewall, clique em Configurar regras de firewall do Windows Azure para este endereço IP.

Aqui, você receberá a informação de que o endereço IP atual não foi adicionado às regras de firewall existentes. Clique em Sim para adicionar esse endereço IP atual às regras de firewall existentes do servidor de banco de dados.

Em seguida, conectaremos o banco de dados em nuvem recém-criado do SQL Server Management Studio para que possamos executar scripts para criar tabelas com os dados. Para fazer isso, você precisará iniciar o SSMS e fornecer as seguintes informações:
- O nome do servidor de banco de dados do SQL Azure. Você pode localizar o nome do servidor de banco de dados no portal.
 - Choose authentication as SQL Server authentication
 - Nome de usuário e senha
 

Após a conexão bem-sucedida com o servidor de banco de dados do SQL Azure, você poderá exibir a conexão no SSMS, conforme mostrado abaixo:

Vamos usar o banco de dados School fornecido pela Microsoft para criar as tabelas e os dados. Já temos o banco de dados escolar criado a partir do script fornecido no servidor de banco de dados local, portanto, em seguida, teremos que criar o script que pode ser executado no servidor de banco de dados do SQL Azure. Para criar isso, clique com o botão direito do mouse no banco de dados e selecione Tarefas e, em seguida, Gerar scripts. Na janela gerar script, selecione Script de banco de dados inteiro e todos os objetos de banco de dados.

Na próxima tela, clique na opção Avançado.

Na janela Avançado, altere os seguintes valores:
Tipos de dados para script: Esquema e dados
Script for database engine type: SQL Azure database

Selecione a opção para salvar em uma nova janela de consulta e clique em Avançar. Você descobrirá que o script gerado é criado e aberto na nova janela de consulta dentro do SSMS. Selecione a conexão de banco de dados do SQL Azure e execute o script. Você descobrirá que as tabelas junto com os dados foram criadas no banco de dados School que reside no servidor de banco de dados do SQL Azure.

Criamos o banco de dados da escola que está na nuvem. Na próxima seção, usaremos o banco de dados em nuvem para criar um aplicativo MVC.
Criando o aplicativo MVC
Nesta seção, criaremos e configuraremos o aplicativo MVC a ser publicado no site do Azure. Você pode fazer isso escolhendo o modelo MVC.

Não queremos nenhuma autenticação para este aplicativo. Para configurar isso, clique na opção Alterar autenticação e, na caixa de diálogo, selecione Sem autenticação, conforme mostrado abaixo:

Queremos hospedar o aplicativo na nuvem. Para ser mais preciso, o aplicativo será hospedado no site do Azure. Para configurar isso, marque a caixa de seleção Host na nuvem e, na lista suspensa, escolha Site.

Em seguida, você será solicitado a autenticar sua conta. Autentique-se fornecendo o nome de usuário e a senha.

Na próxima tela, você precisa configurar:
- Um nome de site. Esse nome será usado como URL para acessar o aplicativo quando hospedado no servidor do Azure.
 - Região: a região do servidor do Azure na qual o aplicativo será hospedado.
 - Um servidor de banco de dados. Neste exemplo, selecionaremos o mesmo servidor de banco de dados no qual o banco de dados School reside.
 - Uma senha para se conectar ao servidor de banco de dados.
 

Após a autenticação bem-sucedida com o serviço do Azure e o servidor de banco de dados, você verá uma mensagem no Visual Studio informando que o aplicativo está pronto.

Construindo o aplicativo
A partir de agora, configuramos o banco de dados e criamos o aplicativo MVC a ser hospedado no site do Azure. Agora vamos criar o aplicativo.
Adding the data model
Começaremos com a criação do modelo de dados usando o banco de dados School hospedado no SQL Azure. Usaremos ADO.NET Modelo de Dados de Entidade para criar o modelo. Para criar o modelo no projeto MVC, crie uma pasta chamada Infraestrutura. Clique com o botão direito do mouse na pasta de infraestrutura e selecione Adicionar novo item. Na caixa de diálogo Adicionar Novo Item, selecione ADO.NET Modelo de Dados de Entidade na guia Dados e nomeie-o como ModeloEscolar.

Na próxima tela, selecione a opção Designer EF do banco de dados.

Clique em Nova Conexão e, na caixa de diálogo nova conexão, forneça as seguintes informações:
- Nome do servidor de banco de dados do SQL Azure. Criamos este servidor na seção anterior
 - Select SQL Server Authentication option
 - Forneça o nome de usuário e a senha do servidor de banco de dados do SQL Azure
 - Selecione o banco de dados da escola no menu suspenso
 

Na próxima caixa de diálogo, selecione a opção Sim, inclua os dados confidenciais na cadeia de conexão e deixe o nome padrão para a cadeia de conexão.

Vamos trabalhar com a tabela Person. Portanto, clique na caixa de seleção Pessoa e deixe as outras caixas de seleção como padrão.

Ao clicar em Concluir, o modelo de dados será criado conforme mostrado abaixo:

Criamos e adicionamos com êxito um modelo de dados no aplicativo MVC. Lembre-se de que SchoolModel agora está conectado ao banco de dados de nuvem no SQL Azure.
Adicionando controlador com operação de leitura e gravação
Em seguida, adicionaremos um controlador com exibições, usando a estrutura Entity. Usaremos o scaffolding MVC para criar exibições para executar operações CRUD na tabela Person. Para adicionar um controlador, clique com o botão direito do mouse na pasta Controlador e selecione MVC 5 Controller com exibições, usando a opção Entity Framework, conforme mostrado abaixo:

Na próxima caixa de diálogo, precisamos escolher o modelo e a classe de contexto. Aqui, escolheremos Person como a classe de modelo e SchoolEntities como a classe DataContext. Para criar as exibições correspondentes à operação do banco de dados, certifique-se de que as outras caixas de seleção estejam marcadas.

Com esta etapa, criamos o controlador e as exibições para as operações CRUD na tabela de pessoas. No gerenciador de soluções, você deve ter os seguintes arquivos:

Neste ponto, se você executar o aplicativo, obterá dados da tabela de pessoas que reside no SQL Azure está listada. Você também pode criar novos dados, editar e excluir dados.

Tornando seu aplicativo mais imersivo
Neste exemplo, não precisamos de Página Inicial, Sobre e Modo de Exibição de Contato. Além disso, digamos que queremos uma lista de pessoas na URL base do aplicativo.
Vamos começar removendo o controlador Home e excluindo a subpasta Home na pasta View e no arquivo layout.cshtml comentar o div com o cabeçalho da barra de navegação da classe. Depois que o controlador inicial e a exibição forem excluídos, abra RouteConfig.cs App_Start partir da pasta e altere o controlador padrão para Escola na rota, conforme mostrado abaixo:

Agora terminamos de criar o aplicativo. Pressione F5 para executar e testar o aplicativo localmente. Você deve conseguir ver o aplicativo em execução conforme mostrado abaixo:

Publicando o aplicativo
Para publicar o aplicativo, clique com o botão direito do mouse no projeto e clique em publicar. Na caixa de diálogo de conexão, valide os valores e clique em avançar.

Na caixa de diálogo de configurações, para o banco de dados, selecione a cadeia de conexão SchoolEntities e clique em avançar.

Por fim, clique em publicar para publicar o aplicativo no site do Azure.

Se você encontrar algum erro, poderá abrir o portal de gerenciamento e, para o servidor de banco de dados, verificar se a opção Serviços do Windows Azure está definida como sim ou não nos Serviços permitidos. Ele deve ser definido como Sim, conforme mostrado abaixo:

Conclusão
Agora você deve ser capaz de executar a operação CRUD do aplicativo MVC hospedado no site do Azure e acessar o banco de dados hospedado no SQL Azure. Neste post aprendemos sobre:
- Criando banco de dados no SQL Azure
 - Migrando dados do servidor de banco de dados local para o servidor de banco de dados do SQL Azure
 - Usando dados da nuvem em um aplicativo MVC usando a estrutura de entidade
 - Hospedar o aplicativo MVC no site do Azure
 - Publique o aplicativo no site do Azure.
 
Espero que você tenha achado este artigo útil - obrigado por ler e boa codificação!
