Compartilhar via


A solução Gerenciador de Contatos

por Jason Lee

Esta série de tutoriais usa uma solução de exemplo, a solução do Contact Manager, para representar um aplicativo de escala empresarial com um nível realista de complexidade. Este tópico apresenta a solução Contact Manager, descreve os principais componentes da solução e identifica os desafios na implantação desse tipo de aplicativo em várias plataformas de destino em um ambiente corporativo.

Ao trabalhar com os tópicos nestes tutoriais, você pode usar a solução do Contact Manager como uma implementação de referência que demonstra como você pode enfrentar desafios específicos em cenários de implantação corporativa. O próximo tópico, Configurando a solução do Gerenciador de Contatos, descreve como baixar e executar a solução em sua estação de trabalho do desenvolvedor.

Visão geral da solução

A solução Do Gerenciador de Contatos consiste em quatro projetos individuais:

A solução Do Gerenciador de Contatos consiste em quatro projetos individuais.

  • ContactManager.Mvc. Esse é um projeto de aplicativo Web ASP.NET MVC 3 que representa o ponto de entrada para a solução. Ele oferece algumas funcionalidades básicas do aplicativo Web, como fornecer aos usuários a capacidade de criar e exibir detalhes de contato. O aplicativo depende de um serviço WCF (Windows Communication Foundation) para gerenciar contatos e um banco de dados ASP.NET serviços de aplicativos para gerenciar a autenticação e a autorização.
  • ContactManager.Database. Este é um projeto de banco de dados do Visual Studio. O projeto define o esquema de um banco de dados que armazena detalhes de contato.
  • ContactManager.Service. Este é um projeto de serviço Web do WCF. O serviço WCF expõe um ponto de extremidade que permite que os chamadores executem operações CRUD (criar, recuperar, atualizar e excluir) no banco de dados ContactManager . O serviço depende do banco de dados ContactManager e do assemblyContactManager.Common.dll .
  • ContactManager.Common. Este é um projeto de biblioteca de classes. O serviço WCF depende de tipos definidos neste assembly.

A solução também inclui uma pasta de solução chamada Publicar. Isso contém vários arquivos de projeto personalizados e arquivos de comando que demonstram como você pode controlar e manipular o processo de build e implantação. Eles são abordados com mais detalhes mais adiante neste tutorial.

Em um nível conceitual, os componentes da solução se encaixam da seguinte maneira:

Como os componentes da solução se encaixam em um nível conceitual.

Observação

Embora o aplicativo Web ASP.NET MVC 3 use o provedor de associação ASP.NET, todas as páginas dentro do aplicativo Web permitem acesso anônimo. Claramente, essa não é uma configuração realista. No entanto, a solução é configurada dessa forma para facilitar a implantação e o teste da solução sem configurar contas e funções de usuário.

Desafios de implantação

A solução Do Contact Manager ilustra vários desafios de implantação comuns a muitos cenários de implantação corporativa:

  • A solução consiste em vários projetos dependentes. Você precisa implantar esses projetos simultaneamente.
  • Cadeias de conexão e pontos de extremidade de serviço precisam ser atualizados para cada ambiente e, em muitos casos, essas informações não estarão disponíveis para o desenvolvedor.
  • Ao implantar o banco de dados ContactManager em ambientes de preparo e produção, você precisa preservar os dados existentes em implantações subsequentes.
  • Ao implantar o banco de dados ASP.NET serviços de aplicativo, você precisa implantar alguns dados de configuração, mas omitir todos os dados da conta de usuário.
  • Os projetos incluem alguns arquivos e pastas que não devem ser implantados. Você precisa excluir esses arquivos e pastas do processo de implantação.
  • A solução precisa dar suporte à implantação automatizada de um servidor de build do TFS (Team Foundation Server).

Conclusão

Este tópico forneceu uma visão geral de alto nível da solução do Contact Manager e identificou alguns dos desafios de implantação inerentes que são comuns a muitos cenários de implantação corporativa. Os tópicos restantes neste tutorial descrevem algumas das técnicas que você pode usar para enfrentar esses desafios.

O próximo tópico, Configurando a solução do Gerenciador de Contatos, descreve como baixar e executar a solução em sua estação de trabalho do desenvolvedor.