domingo, 16 de outubro de 2011

Arquitetura em três camadas

1) Arquitetura Centralizada

Dominantes até década de 80 como arquitetura corporativa.
Problema básico: interface não amigável.
2) Arquitetura em 2 Camadas
Sistemas em camadas surgiram para:
     Melhor aproveitar os PCs da empresa;

     Oferecer sistemas com interfaces gráficas amigáveis;

     Integrar o desktop e os dados corporativos.

Em outras palavras, permitiram aumentar a escalabilidade de uso de Sistemas de Informação.

Os primeiros sistemas cliente-servidor eram de duas camadas.

Camada cliente trata da lógica de negócio e da UI.

Camada servidor trata dos dados (usando um SGBD).


3) Arquitetura em 3 Camadas

A arquitetura cliente/servidor em 2 camadas sofria de vários problemas:
     Falta de escalabilidade (conexões a bancos de dados);
     Enormes problemas de manutenção (mudanças na lógica de aplicação forçava instalações);
     Dificuldade de acessar fontes heterogêneas (legado CICS, 3270, ...).

Inventou-se a arquitetura em 3 camadas:
     Camada de apresentação (UI);
     Camada de aplicação (business logic);
     Camada de dados.


Problemas de manutenção foram reduzidos, pois mudanças às camadas de aplicação e de dados não necessitam de novas instalações no desktop.

Observe que as camadas são lógicas:
     - Fisicamente, várias camadas podem executar na mesma máquina.
     - Quase sempre, há separação física de máquinas.
    
Não confundir 3 camadas com MVC, são coisas diferentes.

3.1) Características da arquitetura em 3 Camadas:
1 - Aumento da disponibilidade do serviço oferecido através da possibilidade de redundância dos servidores de aplicação e banco de dados;

2 - Facilidade de integração de múltiplas fontes de dados;

3 - Maior segurança, uma vez que o banco de dados não é acessado diretamente pelo cliente;

4 - Aplicação em larga escala, possibilitando o atendimento a vários clientes simultaneamente;

5 - A arquitetura em 3 camadas fica mais flexível, possibilitando que as partes possam ser internamente alteradas independentemente das outras, bastando manter a mesma interface.

- Importante: Aplicação 3-camadas exige maior complexidade e requer maior esforço para o desenvolvimento da aplicação do que a 2-camadas.
- Na arquitetura em 3 camadas, a proteção dos dados e a facilidade de integração de múltiplas fontes de dados são decorrentes do fato do banco de dados não ser acessado diretamente pelo cliente, mas sim pelo servidor de aplicações.

- Escalabilidade e disponibilidade são vantagens da arquitetura três camadas em comparação à arquitetura cliente/servidor. Pois na arquitetura três camadas tanto o servidor de aplicação como o servidor de banco de dados podem ser instalados em uma ou várias máquinas.

0 comentários:

Postar um comentário