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