Multicamadas - Cliente/Servidor
Boa tarde a todos!
Estou qrendo entender a tal multicamadas. Digamos que eu tenha um Servidor.exe + um Cliente.exe + Banco Dados SQL Server.
Suponhamos que o Cliente.exe, envie um pedido de SELECT * FROM PRODUTOS para o Servidor ....
1) Este pedido seria feito através de Sockets ? De que forma?
O servidor, recebendo o pedido de select, vai injetar o select em questao no DB, e vai enviar para o cliente o resultado do select ..
2) Qual sera o meio de transporte deste resultado, visto que não se pode enviar um dataset por Socket???
To mto perdido neste quesito, peço dicas e sugestoes pra galera q manja aew! Conto com vcs... abraços
Estou qrendo entender a tal multicamadas. Digamos que eu tenha um Servidor.exe + um Cliente.exe + Banco Dados SQL Server.
Suponhamos que o Cliente.exe, envie um pedido de SELECT * FROM PRODUTOS para o Servidor ....
1) Este pedido seria feito através de Sockets ? De que forma?
O servidor, recebendo o pedido de select, vai injetar o select em questao no DB, e vai enviar para o cliente o resultado do select ..
2) Qual sera o meio de transporte deste resultado, visto que não se pode enviar um dataset por Socket???
To mto perdido neste quesito, peço dicas e sugestoes pra galera q manja aew! Conto com vcs... abraços
Output
Curtidas 0
Respostas
Beppe
10/08/2007
Olá. . .
1) Sockets seriam uma opção, tem um ótimo custo/benefício. Poderia usar mapped files tbm, mas isso obriga a aplicação ser local.
O Servidor.exe executa uma consulta contra o SGDB e este retorna um conjunto de registros. Como vc acha que isto é feito? Se vc respondeu sockets, acertou. O Servidor pode transmitir estes dados ao Cliente.exe via (outros) sockets se quiser.
2) No Delphi, não se pode transmitir DataSet´s de uma forma transparente. Em .NET existe Remote Objects, que faz o marshaling dos dados por baixo dos panos (ou atrás, não lembro ^^).
Estive implementando um DataSet Debugger. Ele é remoto, o client envia notificações ao DSD.exe com informações de DataSet´s. Envia inclusive os registros. Fiz isso com uma abstração de dataset´s, RTTI, persistência em stream. Está tudo pronto no Delphi, é só juntar como se fosse um quebra cabeça. Ah, a camada de transporte são sockets TCP.
3) Não se preocupe com transporte se for usar uma arquitetura multicamadas pronta, como a do Delphi ou da RemObjects. Só precisará habilitar uma porta na firewall. Se quiser fazer a sua própria arquitetura, aí sim, leia sobre programação client/server, TCP/IP. Lembre-se que multicamadas nada mais é do que client/server, com intermediários.
1) Sockets seriam uma opção, tem um ótimo custo/benefício. Poderia usar mapped files tbm, mas isso obriga a aplicação ser local.
O Servidor.exe executa uma consulta contra o SGDB e este retorna um conjunto de registros. Como vc acha que isto é feito? Se vc respondeu sockets, acertou. O Servidor pode transmitir estes dados ao Cliente.exe via (outros) sockets se quiser.
2) No Delphi, não se pode transmitir DataSet´s de uma forma transparente. Em .NET existe Remote Objects, que faz o marshaling dos dados por baixo dos panos (ou atrás, não lembro ^^).
Estive implementando um DataSet Debugger. Ele é remoto, o client envia notificações ao DSD.exe com informações de DataSet´s. Envia inclusive os registros. Fiz isso com uma abstração de dataset´s, RTTI, persistência em stream. Está tudo pronto no Delphi, é só juntar como se fosse um quebra cabeça. Ah, a camada de transporte são sockets TCP.
3) Não se preocupe com transporte se for usar uma arquitetura multicamadas pronta, como a do Delphi ou da RemObjects. Só precisará habilitar uma porta na firewall. Se quiser fazer a sua própria arquitetura, aí sim, leia sobre programação client/server, TCP/IP. Lembre-se que multicamadas nada mais é do que client/server, com intermediários.
GOSTEI 0
Output
10/08/2007
Otimo [b:7667d96deb]Beppe[/b:7667d96deb], agradeço mto pela sua atenção!...
kra ... eu so realmente bem leigo com aplicações multicamadas...
1) como seria eu montar minha propria arquitetura?
2) como utilizo a arquitetura pronta do delphi, e qual é?
Me da uns toques aew c puder ...
abç
kra ... eu so realmente bem leigo com aplicações multicamadas...
1) como seria eu montar minha propria arquitetura?
2) como utilizo a arquitetura pronta do delphi, e qual é?
Me da uns toques aew c puder ...
abç
GOSTEI 0
Output
10/08/2007
Desculpem!!
sei q naum é legal fikar dando up ... mais alguem poderia me da umas dicas?
sei q naum é legal fikar dando up ... mais alguem poderia me da umas dicas?
GOSTEI 0
Jubrovolski
10/08/2007
Bom dia
Tive as mesmas dificuldades iniciais com o modelo multicamadas.
Consegui resultados lendo estes artigos:
http://www.imasters.com.br/artigo/3901/interbase/aplicacao_multi-camadas_-_parte_01/
http://www.imasters.com.br/artigo/4360/delphi/aplicacao_multi-camadas_-_parte_02/
http://www.imasters.com.br/artigo/4705/bancodedados/aplicacao_multi-camadas_-_parte_03_final/
Se quiser partir para o RemObjects dê uma olhada no passo a passo que o Erick Sasse disponibilizou em seu Blog.
http://www.ericksasse.com.br/passo-a-passo-remobjects-sdk-e-datasnap/
Espero tê-lo ajudado.
Abraços
Reuber
Tive as mesmas dificuldades iniciais com o modelo multicamadas.
Consegui resultados lendo estes artigos:
http://www.imasters.com.br/artigo/3901/interbase/aplicacao_multi-camadas_-_parte_01/
http://www.imasters.com.br/artigo/4360/delphi/aplicacao_multi-camadas_-_parte_02/
http://www.imasters.com.br/artigo/4705/bancodedados/aplicacao_multi-camadas_-_parte_03_final/
Se quiser partir para o RemObjects dê uma olhada no passo a passo que o Erick Sasse disponibilizou em seu Blog.
http://www.ericksasse.com.br/passo-a-passo-remobjects-sdk-e-datasnap/
Espero tê-lo ajudado.
Abraços
Reuber
GOSTEI 0
Brunolspp
10/08/2007
Galera,
A mais de 4 anos q trabalho com multicamadas em sistemas de missão critica e distribuição Geográfica usando Borland Socket Server e DataSnap.
Mantemos um grupo sobre este tipo de desenvolvimento: nddv@yahoogrupos.com.br.
E deixo a disposição exemplos e ministauras dos meus sistemas comerciais, juntamente com código fonte, slides, exemplos, apostilas e videos no meu link de downloads gratuitos(abaixo da minha assinatura).
Estou as ordens para o que precisar, no meu link eu indicaria os exemplos do 8ºDDD e do 4º FDD, acredito serem os mais completos e didaticos.
e no mais estou as ordens, recomendo altamento o uso de BSS com DataSnap.
A mais de 4 anos q trabalho com multicamadas em sistemas de missão critica e distribuição Geográfica usando Borland Socket Server e DataSnap.
Mantemos um grupo sobre este tipo de desenvolvimento: nddv@yahoogrupos.com.br.
E deixo a disposição exemplos e ministauras dos meus sistemas comerciais, juntamente com código fonte, slides, exemplos, apostilas e videos no meu link de downloads gratuitos(abaixo da minha assinatura).
Estou as ordens para o que precisar, no meu link eu indicaria os exemplos do 8ºDDD e do 4º FDD, acredito serem os mais completos e didaticos.
e no mais estou as ordens, recomendo altamento o uso de BSS com DataSnap.
GOSTEI 0
Output
10/08/2007
Perfeito!!!
vlw galera!!!
vkw [b:bfb5feeb4b]jubrovolski[/b:bfb5feeb4b],, vi o artigo do link q me recomendou ... mto bom, deu pra ter uma boa noção da coisa ... obrigado msm kra ...
[b:bfb5feeb4b]BrunoLSPP[/b:bfb5feeb4b], to vendo agora o seu link ... depois posto aki ... obrigado pela dica kra ...
abrass
vlw galera!!!
vkw [b:bfb5feeb4b]jubrovolski[/b:bfb5feeb4b],, vi o artigo do link q me recomendou ... mto bom, deu pra ter uma boa noção da coisa ... obrigado msm kra ...
[b:bfb5feeb4b]BrunoLSPP[/b:bfb5feeb4b], to vendo agora o seu link ... depois posto aki ... obrigado pela dica kra ...
abrass
GOSTEI 0