Renan Nucci - CSM Soft wrote:

> João, 
> Eu gostaria de saber como que funciona um software em 3 camadas.. Onde que se 
> cria essa 3ª camada?? Uma bpl, dll??

A terceira camada é inserida entre o banco e a camada cliente. Pode ser 
um serviço do Windows, um daemon do Linux, um módulo cgi, enfim, uma 
aplicação que fica residente no servidor de aplicação, que recebe e 
atende as requisições da camada cliente.

> Por que aqui  na empresa temos varias telas que possuem os componentes 
> básicos, e tb cadastros já desenvolvidos que apenas são herdados. 
> 
> Como temos clientes que vão utilizar o Oracle, a idéia eh remodelar td o 
> sistema para que o mesmo possa aceitar novos SGBDs com menos trauma...

Há várias formas de você fazer isto, e a maior parte delas dispensa o 
uso de três camadas.

Como o pessoal já colocou, você pode usar o componente Zeos, usar 
dbExpress, ou dependendo de quantos neurônios você queira investir na 
empreitada, pode adotar um framework de persistência.

Há depoimentos de outros colegas da lista dizendo que constroem todas as 
leituras e atualizações do banco na mão. Eu também estou fazendo desta 
forma, estou inclusive montando um framework de código aberto que faz 
essa tarefa mas ele ainda tá muito difícil de usar para que eu possa te 
indicar. A vantagem é que você pode trocar de componente de acesso com 
muito mais facilidade.

> O objetivo dessa 3ª camada seria montar as querys recebendo apenas 
> parâmetros? Teria um exemplo?

Não, isto seria trabalho de um framework de persistência. É bem legal de 
usar, mas como te disse noutra thread a curva de aprendizado é maior. Se 
você tiver apetite para a tarefa, me avisa para que eu possa passar mais 
algumas dicas. A primeira delas seria você se inscrever na lista 
delphi-oop-br.

Quanto a aplicações três camadas, suas vantagens são reunir as regras de 
negócio fora dos clientes (manutenção mais simples) e possibilitar 
comunicação com aplicativos construídos em outras linguagens e 
plataformas (caso você utilize um protocolo de comunicação 
não-proprietário tal como SOAP).

--
Joao Morais

Responder a