Desenvolvimento - C#
Arquitetura de aplicações distribuídas utilizando .NET
Para se realizar um projeto baseado em aplicações distribuídas é preciso tomar decisões sobre a arquitetura lógica, física e também decidir quais tecnologias e a infraestrutura usada para estas funcionalidades.
por José Augusto de Sousa BarrosoCarlos Henrique C. Negrão
Carlos.negrao@codeplan.df.gov.br
Para se realizar um projeto baseado em aplicações distribuídas é preciso tomar decisões sobre a arquitetura lógica, física e também decidir quais tecnologias e a infraestrutura usada para estas funcionalidades. Para tomar estas decisões eficientemente, devemos conhecer bem os processos de negócio que as aplicações estarão realizando (requerimentos funcionais), e os níveis de escalabilidade, disponibilidade, segurança e sustentabilidade (requerimentos operacionais).
Os componentes que realizam funções similares são organizados e agrupados dentro de camadas específicas. Um bom entendimento dos diferentes tipos de componentes que são comumente utilizados em aplicações distribuídas ajudará a projetar soluções melhores.
Para um projeto com aplicações distribuídas, é preciso decidir como acessar e representar os dados de negócio associados com sua aplicação. Maneira de expor, persistir e passar dados entre as camadas da aplicação.
Visão geral do Framework .Net
A plataforma .Net é um conjunto de tecnologias que foi projetado para mudar o conceito de desenvolvimento de aplicações para internet. A plataforma .Net contempla o desenvolvimento de aplicações escaláveis e distribuídas, fornecendo novas possibilidades para construir aplicações baseadas em Web Services suportando a infra-estrutura da internet, incluindo HTTP, XML e SOAP.
A plataforma .Net basicamente inclui:
- .Net Framework;
- .Net Building Block Services;
- Visual Studio .Net
- .Net Enterprises Services(2003 family)
A .NET framework consiste de duas partes principais: a CLR - Common Language Runtime e a .NET Framework class library. A primeira é a responsável pela independência de linguagem de programação e a segunda disponibiliza os principais recursos de programação, além de incluir os três principais componentes: ASP.NET, Windows Forms e o ADO.NET.
Arquitetura da Aplicação
1 - Prover a interação do usuário com as aplicações do sistema. Os componentes de interface são implementados usando WebForms (asp.net), controles de validação e formatação de dados e controles customizados.
2 - Interface que oferece suporte à comunicação e disponibilizacão da regra de negócio como serviço.
3 - Gerencia a troca de mensagens e transações entre instâncias de objetos, além de controlar o fluxo de processos de negócios que envolvem seqüências especificas.
4 - Implementa e Executa a lógica do negócio da aplicação (Regras de Negócio).
5 - Organização e definição dos dados que serão passados entre componentes, essas entidades são representados por estruturas de dados utilizando Datasets, Datareaders, XML, entre outros.
6 - Encapsula a lógica de acesso a dados (CRUD).
7 - Disponibiliza funcionalidades da aplicação para serviços externos (WebServices).
8 - Componente genérico utilizado para acesso a dados. Gerencia conexões, executa comandos, otimiza o acesso a dados e cache.
9,10,11 - Componentes para gerência de exceções, comunicação com serviços e aplicações, autenticação e autorização.
A arquitetura apresentada acima está sendo utilizada para o desenvolvimento do Sistema de Ouvidoria e Informações do Governo do Distrito Federal pela CODEPLAN, o sistema abrangerá todos os órgãos do GDF.
A metodologia de desenvolvimento adotada (PDS_UML) no decorrer de todo o ciclo do projeto utiliza a UML como linguagem universal para execução de todas as fases, atividades e produtos inerentes ao processo, de modo a formalizar a sua especificação.
O método, baseado no RUP, está estruturado em macroatividades (tarefas) definidas que são executadas iterativamente até a conclusão de cada processo. Cada macroatividade irá gerar um produto (artefato de saída) que será utilizado pela macroatividade subseqüente.
Maiores informações sobre a arquitetura descrita, assim como padrões e práticas estarão disponíveis no DNAUG - Dot Net Architect User Group, um grupo de usuários intencionados a discutir e disseminar a tecnologia.
Para saber mais sobre os autores ou ver outros artigos, visite o DNAUG:
http://www.dnaug.com
Tire a sua dúvida na lista de discussão do DNAUG:
http://groups.yahoo.com/group/dnaug/