Bom, Desenvolvimento em camadas é a técnica mais utilizada nos dias de hoje para sistemas de alta performance, resposta rápida com segurança, disponibilidade, escalabilidade e adaptabilidade.
Visto que todos os internet banking são feitos em multicamadas. No meu ver todo novo desenvolvimento deveria ser feito em camadas, principalmente dentro do Delphi usando o DataSnap, se não for pela arquitetura é por que é muito mais rápido que sistemas Client/Server, mais seguro, escalável e rápido em todos os sentidos. E tudo o que pudesse ser migrado para DataSnap deveria ser feito, a começar pela manutenção e distribuição do sistema que é muito mais simples, no cliente só iria o executável, sem falar na possibilidade da distribuição geográfica, principalmente através da internet. Com desenvolvimento em camadas é possível fazer balanceamento de carga. Ano passado publiquei um artigo na Active Delphi falando sobre isso, já tem duas edições que estou publicando recursos do DataSnap e DBX que se aplica muito ao nosso dia a dia. O desenvolvimento em camadas se caracteriza por haver uma camada de persistência de dados onde fica o SGBD, uma ou mais camadas de negócio e acesso/manipulação de dados que seriam os servidores de aplicação e a camadas de interfaces que podem ser de vários tipos como Win32, SOAP, Web e quantas mais conseguirem consumir nossos servidores de aplicação ou algumas de suas interfaces. Na lista [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>, temos uma ótima fonte de consulta e discussão sobre o assunto, já com 5 anos de existência e que conta com mais de 500 participantes, é um ótimo lugar para se compartilhar e aprender sobre o assunto. No meu link de downloads gratuitos tem muitos exemplos que ajudarão no inicio da caminhada bem como vídeos e apostilas também. O primeiro exemplo da lista é bem completo e simples, um bom ponto de partida. HTTP://cc.codegear.com/author/795118 Abs BL From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of edmilsomcarlos Sent: sábado, 26 de abril de 2008 19:04 To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] Re: 3 camadas - dephi Amigos, Entendam uma coisa amigos. "3 camadas" sem um contexto não dá para explicar, é muito vago. Uma aplicação, dependendo do contexto, pode ter "n" camandas... Não percam tempo tentando estar discutindo desta forma amigos, digam o contexto! QUal é o contexto da sua aplicação amigo? Obrigado, Dr. Edmilsom Carlos --- Em delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br>, "Giovanny Carvalho" <[EMAIL PROTECTED]> escreveu > > Bom dia a todos... > > O Assunto é extremamente interessante... > Sou adepto da programação OO e mais ainda, sou adepto das "boas > práticas" em programação, apesar de ainda fazer alguns POGs > (Programação Orientada a Gambiarra). > > O Delphi é uma ferramenta fabulosa e ainda é muito mais produtiva que > a maioria das linguagens do mercado, mesmo que utilizemos técnicas e > paradigmas que a princípio causem uma perda do aspecto RAD. > > Vamos ao que interessa, como eu não entendo nada de 3 camadas, vamos > estudar os principais conceitos. Alguém pode lista-los? > > Giovanny Carvalho > --- Em delphi-br@yahoogrupos.com.br<mailto:delphi-br%40yahoogrupos.com.br>, > "Joao Morais" <post@> escreveu > > > > --- "Claudio Marconi" <cmarcony@> escreveu > > > > > > Bastante interessante este post, devo mencionar que tb me interessa > > > muito, no entanto como foi mencionado no primeiro post... muito > > > material mas que não diz muita coisa. Sempre o trivial, quando > > > postei o primeiro post sobre este assunto, que faz muito tempo, > > > havia questionado se alguem programava 3 camadas usando OOP, no > > > entando não obtive nenhuma resposta. > > > > > > Se me perguntarem se faço isso, com certeza vou responder que não. > > > Mas meu interesse é justamente saber como seria programar 3 camadas > > > usando OOP, passando meus objetos de uma camada para outra, e bla, > > > bla, bla. > > > > > > Ex: como seria persistir um objeto cliente usando 3 camadas e por > > > aí vai. > > > > Ainda não meti a cara com objetos e 3 camadas, então vou só divagar um > > pouco, ok? Quem sabe a gente troque algumas idéias. > > > > Primeiro de tudo, como você enxerga uma aplicação cliente? Totalmente > > estúpida? Um pouco inteligente? Como você vê uma atualização da > > aplicação -- apenas o servidor de aplicação ou os clientes também? > > > > Para passar os objetos propriamente ditos entre as camadas, você vai > > precisar linkar as suas classes de negócio tanto no aplicativo da > > camada de aplicação quanto no aplicativo da camada cliente. Uma forma > > de emagrecer um pouco a camada cliente é criar interfaces para os > > objetos, apenas a interface é linkada nas duas camadas; no entanto a > > camada de aplicação tem o objeto de negócio e, na camada cliente, a > > interface é implementada por um componente da parte visual (ex, uma > > parte do Model do MVP) > > > > As informações propriamente ditas são serializadas. Seu framework tem > > que saber transformar um objeto de negócio em um stream, e transformar > > um stream em um objeto de negócio. Você ainda pode usar um protocolo > > como soap, mas suas classes tem que ser 'soapable', elas devem ter > > parentesco com as classes de algum framework que fale este protocolo. > > Aqui fica parecido com a serialização, basta seu framework criar um > > objeto 'soapable' a partir de um objeto de negócio, e na outra ponta > > este tal objeto ser convertido novamente em seu objeto de negócio ou > > no objeto do seu framework de apresentação (MVP & cia) > > > > Parece razoável? > > > [As partes desta mensagem que não continham texto foram removidas]