You are on page 1of 6

Arquitetura 3 Camadas

1) Arquitetura Centralizada
y y

Dominantes at dcada de 80 como arquitetura corporativa Problema bsico: interface no amigvel

2) Arquitetura 2 Camadas
y

Sistemas em camadas surgiram para: o Melhor aproveitar os PCs da empresa o Oferecer sistemas com interfaces grficas amigveis o Integrar o desktop e os dados corporativos

Em outras palavras, permitiram aumentar a escalabilidade de uso de Sistemas de Informao

Os primeiros sistemas cliente-servidor eram de duas camadas o Camada cliente trata da lgica de negcio e da UI o Camada servidor trata dos dados (usando um SGBD)

3) Arquitetura 3 Camadas
y

A arquitetura cliente/servidor em 2 camadas sofria de vrios problemas: o Falta de escalabilidade (conexes a bancos de dados) o Enormes problemas de manuteno (mudanas na lgica de aplicao forava instalaes) o Dificuldade de acessar fontes heterogneas (legado CICS, 3270, ...)

Inventou-se a arquitetura em 3 camadas o Camada de apresentao (UI) o Camada de aplicao (business logic) o Camada de dados

Problemas de manuteno foram reduzidos, pois mudanas s camadas de aplicao e de dados no necessitam de novas instalaes no desktop

Observe que as camadas so lgicas o Fisicamente, vrias camadas podem executar na mesma mquina o Quase sempre, h separao fsica de mquinas

No confundir 3 camadas com MVC, so coisas diferentes.

3.1) Caractersticas da arquitetura 3 Camadas


1 - Aumento da disponibilidade do servio oferecido atravs da possibilidade de redundncia dos servidores de aplicao e banco de dados. 2 -Facilidade de integrao de mltiplas fontes de dados. 3 - Maior segurana, uma vez que o banco de dados no acessado diretamente pelo cliente. 4 - Aplicao em larga escala, possibilitando o atendimento a vrios clientes simultaneamente. 5 A arquitetura 3 camadas fica mais flexvel, possibilitando que as partes possam ser internamente alteradas independente das outras, bastando manter a mesma interface. Importante: Aplicao 3-camadas exige maior complexidade e requer maior esforo para odesenvolvimento da aplicao do que a 2-camadas Na arquitetura 3 camadas,a proteodos dados e a facilidade de integrao de mltiplas fontes de dados so decorrentes do fato do banco de dados no ser acessado diretamente pelo cliente,massim pelo servidor de aplicaes. Escalabilidade e disponibilidade so vantagens da arquitetura trs camadas em comparao arquitetura cliente/servidor. Pois na arquitetura trs camadas tanto o servidor de aplicao como o servidor de banco de dados podem ser instalados em uma ou vrias mquinas.

3.2) Comparao da Arquitetura 3 Camadas e 2 Camadas 1 - Administrao do Sistema (Gerenciamento da Aplicao) Mais simples no 3-camadas Temos uma maior complexidade na arquitetura 2-camadas, porque h mais lgica no cliente para ser gerenciada. Na arquitetura 3-camadas, o gerenciamento da aplicao centralizado no servidor e pode estar integrado a ferramentas padronizadas de gerenciamento de sistemas; 2 Segurana Maior na 3-camadas Na arquitetura 2-camadas a segurana feita nvel de dados, visto que os clientes acessam diretamente o banco de dados. Na arquitetura 3-camadas o banco de dados no acessado diretamente pelo cliente , a autorizao no servidor ocorre a nvel de servio ou mtodo; 3 - Performance: Maior em aplicao 3 camadas Enquanto na 3-camadas somente requisies de servio e respostas a essas requisies so passadas entre o cliente e o servidor, Nas aplicaes de 2-camadas, muitos comandos SQL so enviados pela rede e, frequentemente, os dados necessrios para o processamento de uma transao so transmitidos para o cliente;

4 - Escalabilidade: maior na 3-camadas (permite distribuio de carga) Na de 2-camadas baixa, pois o gerenciamento de links de comunicao com o cliente limitado. J as aplicaes 3-camadas, a escalabilidade excelente, devido possibilidade de concentrar as sees de clientes que chegam ao servidor e de distribuir a carga de trabalho atravs de mltiplos servidores; 5 - Integrao com aplicaes legadas: A arquitetura 2-camadas no tem facilidades para tal, enquanto a 3-camadas o faz atravs de gateways encapsulados por servios ou objetos;

6 - Disponibilidade: Maior na de 3 camadas. Apenas as aplicaes 3-camadas tm a capacidade de reiniciar componentes da camada intermediria em outros servidores Aumento da disponibilidade do servio oferecido atravs da possibilidade de redundncia dos servidores de aplicao e banco de dados 7 - Reuso: Maior na 3-camadas Na 2-camadas geralmente as aplicaes cliente so monolticas, Diferente da arquitetura 3-camadas, na qual frequentemente se reutilizam servios e objetos; 8 - Encapsulamento dos dados: Na arquitetura 2-camadas as tabelas esto expostas, enquanto na 3-camadas os clientes invocam servios ou mtodos; 9 - Suporte Internet: As limitaes das redes disponveis dificultam a utilizao de fatclients, caracterstica marcante das aplicaes 2-camadas. O mesmo no acontece com aplicaes 3-camadas, pois possvel distribuir thinclients pela rede, os quais apenas invocam servios remotos disponveis nos sevidores; 10 - Suporte a bancos de dados heterogneos: Aplicao 3-camadas tem facilidade de integrao de mltiplas fontes de dados. Na verdade, apenas a arquitetura 3-camadas capaz de usar mltiplos bancos de dados na mesma transao de negcio; 11 - Opes de comunicao: As aplicaes 2-camadas utilizam apenas chamadas sncronas, orientadas conexo, como RPC (Remote Procedure Call). As aplicaes 3-camadas acrescentam a essa opo chamadas assncronas (messagequeuing) e comunicaes do tipo publish-and-subscribe, broadcasts e datagrams; 12 - Flexibilidade na arquitetura de hardware: limitada nas aplicaes 2-camadas porque as diversas camadas lgicas tm que ser distribudas em duas camadas fsicas apenas, o cliente e o servidor. Ao contrrio, a flexibilidade nas aplicaes 3-camadas excelente, pois cada camada lgica pode ser colocada em um servidor distinto, se necessrio;

13 Flexibilidade de Alterao A arquitetura 3 camadas fica mais flexvel, possibilitando que as partes possam ser internamente alteradas independente das outras, bastando manter a mesma inter ace. f Na 2 camadas preciso reinstalar os sistemas nos demais desktops - Muito Importante: nica caractersticaque a 2 camadas leva vantagem 14 - Facilidade de desenvolvimento: Neste aspecto a arquitetura 2-camadas superior, A aplicao 3-camdas possui maior da complexidade e requer maior esforo para o desenvolvimento da aplicao do que a 2 -camadas.

You might also like