Uma sistema de n-tiers não necessariamente encontra-se em camadas fysicamente separados, não há nenhuma problema de usar o browser na mesma maquina aonde está instalada o servidor web, o servidor de aplicação e o banco de dados (4-tiers).

A diferença é mais o menos assim: No exemplo acima, existem 4 tiers:
1 - cliente presentation (javascript xhtml)
2 - presentation engine (jsp/servlets/java helper classes)
3 - Bussiness logic
4 - RDBMS
Isso pode ser dividido em layers
1:
 - presentation logic (javascript, xhtml)
 - client side presentation (html)
2:
 - presentation logic (JSP)
 - workflow logic (Servlets)
 - workflow bussines logic (helper classes) 
3:
- Message driven layer (M-Beans)
- Bussiness Layer (Session Beans)
- Persistence Layer (Entity Beans)
4:
- Persistence layer (procedures)

O mesmo sistema com cliente Java teria 3 tiers uma vez que 1 e dois se juntam


Ambos os layers e os tiers são importante para a arquitetura. O importante é que uma chamada pode passar de um layer dentro de um tier sem obrigatoriamente passar por uma que fiaca no meio dele (session bean faz query no banco, m- bean fala direto com entity o rdbms) mas uma chamada NÂO deveria esquecer um tier .

Jorge Martins wrote:
[EMAIL PROTECTED]">
Edward,

Tier é uma camada física enquanto layer é uma camada lógica?
Tier esta para arquitetura assim como layer esta para modelo?

Não consigo tangenciar estes conceitos tão bem.

abraços

Jorge

-----Original Message-----
From: Edward Roe [mailto:[EMAIL PROTECTED]]
Sent: segunda-feira, 26 de novembro de 2001 14:13
To: [EMAIL PROTECTED]
Subject: RE: [java-list] Re:[java-list] Programação em três camadas



Oi,

Qual a diferença entre layer e tier?

Por exemplo, imagine que vc tem uma interface chamada Database com
métodos para incluir, atualizar e deletar clientes e produtos de uma
base de dados. Voce poderia implementar essa interface utilizando banco
de dados\JDBC ou arquivos. Uma aplicação poderia instanciar uma dessas
classes e invocar seus métodos para fornecer informações para a GUI. A
camada da GUI não precisa saber como as informações estão sendo obtidas
e vc pode trocar uma implementação de Database por outra (de arquivos
para bd) sem ter que mudar nada na sua aplicação. Mas nesse caso se
caracteriza um modelo 2-tier: a sua aplicação (onde a implementação de
Database faz parte como um atributo da sua classe ) e a camada de banco
de dados, apesar de você uma camada (layer) entre a GUI e o banco de
dados. J&aac ute; no modelo de 3-camadas (tier) a sua aplicação estaria se
comunicando com outra "aplicação", um servlet por exemplo, que faria a
parte das regras de negócio/acesso ao banco etc. Sua aplicação
acessaria este servlet, e este acessaria o banco. Note que essas
camadas não necessariamente estariam em máquinas diferentes, você pode
ter por exemplo a camada de negócios no mesmo servidor de banco de
dados.

Não sei se deu pra entender ......

[]´s




Responder a