1. Introdução
O PDF deste documento está disponível |AQUI|.
Os exemplos deste documento estão disponíveis |AQUI|.
Desejamos escrever um aplicativo .NET que permita a um usuário realizar simulações de cálculo da remuneração das babás da associação “Maison de la petite enfance” de um município. Nos interessaremos tanto pela organização do código DotNet da aplicação quanto pelo código em si.
A aplicação final, que chamaremos de [SimuPaie], terá a seguinte estrutura em três camadas:
![]() |
- a camada [1-dao] (DAO = Data Access Object) será responsável pelo acesso aos dados. Esses dados serão armazenados em um banco de dados.
- A camada [2-métier] será responsável pela parte de negócios do aplicativo, ou seja, o cálculo da folha de pagamento.
- A camada [3-ui] (ui = Interface do Usuário) será responsável pela apresentação dos dados ao usuário e pela execução de suas solicitações. Denominamos [Application] o conjunto de módulos que assegura essa função. Ela é o ponto de contato com o usuário.
- As três camadas serão tornadas independentes graças ao uso de interfaces .NET
- A integração das diferentes camadas será realizada pelo Spring IoC
O processamento de uma solicitação de um cliente ocorre de acordo com as seguintes etapas:
- o cliente faz uma solicitação à aplicação.
- A aplicação processa essa solicitação. Para isso, ela pode precisar da ajuda da camada [métier], que, por sua vez, pode precisar da camada [dao] caso seja necessário trocar dados com o banco de dados. A aplicação recebe uma resposta da camada [métier].
- De acordo com essa resposta, ela envia a visualização (= a resposta) apropriada ao cliente.
A interface apresentada ao usuário pode assumir diversas formas:
- um aplicativo de console: nesse caso, a visualização é uma sequência de linhas de texto.
- um aplicativo gráfico do Windows: nesse caso, a visualização é uma janela do Windows
- um aplicativo web: nesse caso, a visualização é uma página HTML
- ...
Escreveremos diferentes versões desse aplicativo:
- uma versão ASPNET contendo um único formulário e construída com uma arquitetura de camada única.
- uma versão idêntica à anterior, mas com extensões Ajax
- uma versão ASP.NET baseada em uma arquitetura de três camadas, na qual a camada de acesso aos dados é implementada com o framework NHibernate. Ela continuará tendo o único formulário da versão 1.
- uma versão 4 ASP.NET com múltiplas visualizações e uma única página, com a arquitetura de três camadas da versão 3.
- a parte do servidor de uma aplicação cliente/servidor, na qual o servidor é implementado por um serviço web baseado na arquitetura em camadas da versão 3.
- a parte cliente da aplicação cliente/servidor anterior, implementada por uma camada ASP.NET.
- uma versão 7 ASP.NET com múltiplas visualizações e múltiplas páginas, com a arquitetura de três camadas da versão 3.
- uma versão 8 ASP.NET com múltiplas visualizações e múltiplas páginas, do lado do cliente do serviço web da versão 5.
- uma versão 9 ASP.NET com múltiplas visualizações e páginas, com a arquitetura de três camadas da versão 3, na qual a camada de acesso aos dados é implementada por classes do Spring que facilitam o uso do framework NHibernate.
- uma versão 10 implementada em FLEX e cliente do serviço web da versão 5.
Pré-requisitos
Em uma estrutura [débutant-intermédiaire-avancé], este documento está na seção [intermédiaire]. Sua compreensão requer diversos pré-requisitos que podem ser encontrados em alguns dos documentos que escrevi:
- Programação ASP.NET [Desenvolvimento web com ASP.NET 1.1 (2004)];
- Linguagem C# 2008: [Aprendizado da linguagem C# versão 3.0 com o Framework .NET 3.5 (2008)]: classes, interfaces, herança, polimorfismo
- [Spring IoC], disponível no URL [Spring IoC para .NET (2005)]. Apresenta os conceitos básicos da inversão de controle (Inversion of Control) ou injeção de dependências (Dependency Injection) do framework Spring.Net [http://www.springframework.net].
- [Criação de um aplicativo web de três camadas com Spring.NET e VB.NET (2005)]. Este curso apresenta uma aplicação simplificada de compras de produtos na web. Sua arquitetura de três camadas implementa o modelo MVC.
Às vezes, são fornecidas sugestões de leitura no início dos parágrafos deste documento. Elas fazem referência aos documentos anteriores.
Ferramentas
As ferramentas utilizadas neste estudo de caso estão disponíveis gratuitamente na internet. São elas:
- Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005, disponíveis no URL [http://www.microsoft.com/express/downloads/].
- Spring IoC para a instanciação dos serviços necessários à aplicação, disponível em URL [http://www.springframework.net/] — veja também [3]
- NHibernate para a camada de acesso aos dados do SGBD [http://sourceforge.net/projects/nhibernate/]
- NUnit: [http://www.nunit.org] para os testes unitários.
