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