Fórum DataSnap e Multi-Tier #403160

15/06/2011

0

Bom, vou fazer varias afirmações e me corrijam se eu estiver errado porfavor.
1 - DataSnap trabalha apenas com aplicações multi-camadas
2 - O DataSnap é responsável por separar a camada de negócios (que fica no servidor) da camada que solicita as requisições (cliente), através de um protocolo chamado SOAP.
3 - DataSnap é um Conceito (como expliquei no topico 2), igualmente um padrão de projeto Singleton por exemplo, é um conceito.

4 - Se eu tenho um Sistema onde o Cliente apenas faz as requisições e as regras de negócio ficam em outro local (servidor), este Sistema é multi-camada. Por exemplo: o Cliente clica em "Novo Produto", esta requisição é feita no lado do servidor, que adiciona o produto ao banco de dados.
5 - Se eu tenho um Sistema instalado no Cliente, e todas as suas regras de negócio estão nele mesmo, porém o banco de dados é remoto, este Sistema pode também ser considerado Multi-Camada. Ex: O cliente clica em "Novo produto", esta requisição é feita no próprio cliente porém os dados são salvos em um banco remoto (não local a máquina).

Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

15/06/2011

Marco Salles



1 - DataSnap trabalha apenas com aplicações multi-camadas

Não ...  Nem mesmo é necessário ter acesso a Banco de Dados .

2 - O DataSnap é responsável por separar a camada de negócios (que fica no servidor) da camada que solicita as requisições (cliente), através de um protocolo chamado SOAP.

O DataSnap permite a divisão  Físicas da Camadas , onde cada os processos se comunicam . Vc pode ter num
unico computados uma Divisão dessas camadas . Não confundir Camada Fisica com Camada Lógica . Por exemplo
uma aplicação Delphi que possui um DataModulo , há uma separação Lógica de duas Camadas , pois o acesso
a dados fica separado da interface do Usuário , mas na hora de compilar temos um ùnico Exe um ùnico Processo
Nesta mesma pergunta vc condiciona o DataSanap ao protocolo Soap . Mas a partir do Delphi 2010 , ja é disponibilizado a comunicação atráves do protocolo HTML , além é claro do TCP/IP

3 - DataSnap é um Conceito (como expliquei no topico 2), igualmente um padrão de projeto Singleton por exemplo, é um conceito.
Não somente um conceito . È uma tecnologia , e atraves dos Wizards disponivel ficou fácil o desenvolvimento deste tipos de aplicações .. No Delphi Xe temos vários Wizards ( DataSanp Server , DataSanap WebBroker Application , DataSnap REST Application )

4 - Se eu tenho um Sistema onde o Cliente apenas faz as requisições e as regras de negócio ficam em outro local (servidor), este Sistema é multi-camada. Por exemplo: o Cliente clica em "Novo Produto", esta requisição é feita no lado do servidor, que adiciona o produto ao banco de dados.Talves vc esteja querendo falar de Cliente_Servidor . O DataSnap é mais do que isso

5 - Se eu tenho um Sistema instalado no Cliente, e todas as suas regras de negócio estão nele mesmo, porém o banco de dados é remoto, este Sistema pode também ser considerado Multi-Camada. Ex: O cliente clica em "Novo produto", esta requisição é feita no próprio cliente porém os dados são salvos em um banco remoto (não local a máquina).
Esta pergunta parece uma continuação do anterior . O DataSnap permite não somente esta separação , mas muito mais do que isso . Podemos citar rapidamente ,

a) Modularização  , por se tratar de processos independentes que se comunicam ,
b) Independencia do BD , o Cliente não enxerga o BD que pode ate mesmo ser trocado sem causar impacto significativo ,
c) Alta performance ( que ja acessou e gravou um Registro utilizando esta tecnologia percebe o qual rápido é a transação ) ,
d) Economia de licença ( isto é importante ) , no seu exemplo anterior cada cliente deve ter uma licença , no caso do DataSnap é uma so licença
e)Clientes magros , que podem rodar em máquinas sem consumir muito recursos da mesm

enfim uma serie de vantagens quanto comprado a arquitetura Cliente_Servidor






Responder

Gostei + 0

16/06/2011

Marco Salles



Corrigindo , na parte 2 eu comentei

Nesta mesma pergunta vc condiciona o DataSanap ao protocolo Soap . Mas a partir do Delphi 2010 , ja é disponibilizado a comunicação atráves do protocolo HTML , além é claro do TCP/IP

O Protocolo não é HTML e sim HTTP , foi erro de digitação . Mas fica entendido pelo menos para mim o seguinte
Antes do Delphi 2010/ou 2009 era utiliza o Protocolo SOAP que implementando a interface IAppServer conseguia
responder as requisições HTTP . Mas na nova arquitetura DataSnap , os componentes relativos ao SOAP foram
trocados , dando lugar a outros componentes que se comunicam diretamente sobre o protocolo HTTP ou TCP/IP
Fica um restingo de dúvida se esta troca é uma casca fina , onde se usa SOAP indiretamente ou se a depedencia
ficou toda no passado. Particularmente acredito ter ficado no passado e este acesso agora é direto e não depende
mais do SOAP ( assim como não depende mais do COM , isto é notório..)
Responder

Gostei + 0

17/06/2011

Marco Salles

Ja que o autor do tópico não se manifesta eu tomei a iniciativa por se tratar de um tema muito em voga na
atualidade

Sobre esta pequena dúvida que ainda pairava sobre o Protocolo Soap em aplicações DataSnap eu enviei um
email ao amigo escritor Fabrício Kawata que por suas atuações nas ediçoes da Revista Clube Delphi , Active Delphi
tem contribuido e muito para o compartilhamento do conhecimento . Sempre gentil e cordial se mostrando uma pessoa acessível e prestativa eu em publico  o agradeço . Enfim segue um trecho do email recebido


Olá Marcos. Pela sua resposta, vc matou a charada. O SOAP estava atrelado ao DataSnap, até o lançamento do novo DataSnap 2009. Após isso, o DataSnap foi totalmente reestruturado e, por exemplo, para a troca de informações com aplicações heterogêneas, ele faz uso de JSON e chamadas REST, ao invés de utilizar SOAP e envelopando os dados em XML. No entanto, vale lembrar que tudo que era feito no DataSnap “clássico”, ainda é possível ser realizado nas versões recentes do Delphi, porém muito destes recursos já são considerados como deprecated pela Embarcadero. Um abraço.



Responder

Gostei + 0

05/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar