Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
DataSnap no Delphi XE - Artigo Clube Delphi 125
O artigo trata do desenvolvimento de servidores de aplicação utilizando a arquitetura DataSnap XE disponível no RAD Studio XE. Veremos como disponibilizar serviços que possam ser consumidos utilizando o conceito REST.
ClubeDelphi 125
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 125
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 125
DataSnap no Delphi XE
Aplicações distribuídas baseadas em REST e JavaScript
O conceito de aplicação em camadas é poder ter em uma aplicação, geralmente chamada de servidor de aplicação, todas as suas regras de negócio e permitir que essas regras sejam consumidas por aplicações clientes. O desenvolvimento de aplicações em camadas sempre foi um capítulo à parte no Delphi. No início a tecnologia era chamada de MIDAS logo depois foi batizada de DataSnap. Quando começou, a tecnologia era dependente de COM, porém com o lançamento do Delphi 2009 ela passou a funcionar sobre o framework DBExpress. A partir do lançamento do Delphi 2010 a arquitetura DataSnap deu um novo salto, agora podemos criar servidores DataSnap REST e trafegar dados com notação JSON, tudo isso nativamente no Delphi. Agora com o lançamento do RAD Studio XE uma série de novidades está disponível no novo DataSnap.
Nota do DevMan
Component Object Model (COM) é uma plataforma da Microsoft para componentes de software lançada em 1993. Ela é usada para permitir a comunicação entre processos e a criação dinâmica de objetos em qualquer linguagem de programação que suporte à tecnologia. O termo COM é frequentemente usado no desenvolvimento de software para se referir a um grupo de tecnologias que incluem OLE, OLE Automation, ActiveX, COM+ e DCOM.
REST é a abreviação de Representational State Transfer ou Transferência de estado representacional. Ele surgiu da tese de doutorado sobre a Web escrita por Roy Fielding, que foi um dos idealizadores do protocolo HTTP. Alguns entendem que o REST é um novo protocolo, outros o chamam de arquitetura e alguns defendem que ele é apenas uma filosofia, uma forma de pensar, um estilo de projetar uma aplicação. O REST é uma boa prática onde o principal objetivo é construir aplicações fracamente acopladas, voltadas principalmente para o ambiente Web.
O Delphi 2009 trouxe uma grande mudança na arquitetura do DataSnap. Nesta versão a tecnologia COM foi abolida, mas algo tinha que substituí-la. O que a equipe de desenvolvimento do Delphi fez foi algo extremante simples. O Delphi já possuía uma tecnologia de acesso a dados muito eficiente, totalmente orientada a objetos e 100% escrita em Delphi, o DBExpress. O que eles fizeram foi criar um novo driver para o DBExpress, mas ao invés deste driver conectar a um banco de dados qualquer, ele iria se conectar a um servidor de aplicação. Assim, a partir do Delphi 2009 a conexão do cliente com o servidor de aplicação passou a ser feita utilizando DBExpress trafegando os dados utilizando o protocolo TCP/IP.
A grande maioria dos sistemas em camadas desenvolvidos com Delphi tem o cenário Delphi to Delphi, ou seja, servidor de aplicação Delphi e cliente desenvolvido em Delphi. Mas você pode ser perguntar: então ficamos restritos a clientes Desktop, correto? Errado, para aqueles que desejassem desenvolver clientes Web podem optar pelo Delphi Prism. Para nossa felicidade o Delphi Prism possui um driver DBExpress específico para trabalhar com DataSnap e podemos facilmente consumir um servidor de aplicação feito com Delphi Win32. Uma ótima solução por exemplo é criar interfaces Web em ASP.NET que consomem servidores de aplicação Win32.
"
Este é um post disponível para assinantes MVP
Aplicações distribuídas baseadas em REST e JavaScript
O conceito de aplicação em camadas é poder ter em uma aplicação, geralmente chamada de servidor de aplicação, todas as suas regras de negócio e permitir que essas regras sejam consumidas por aplicações clientes. O desenvolvimento de aplicações em camadas sempre foi um capítulo à parte no Delphi. No início a tecnologia era chamada de MIDAS logo depois foi batizada de DataSnap. Quando começou, a tecnologia era dependente de COM, porém com o lançamento do Delphi 2009 ela passou a funcionar sobre o framework DBExpress. A partir do lançamento do Delphi 2010 a arquitetura DataSnap deu um novo salto, agora podemos criar servidores DataSnap REST e trafegar dados com notação JSON, tudo isso nativamente no Delphi. Agora com o lançamento do RAD Studio XE uma série de novidades está disponível no novo DataSnap.
Nota do DevMan
Component Object Model (COM) é uma plataforma da Microsoft para componentes de software lançada em 1993. Ela é usada para permitir a comunicação entre processos e a criação dinâmica de objetos em qualquer linguagem de programação que suporte à tecnologia. O termo COM é frequentemente usado no desenvolvimento de software para se referir a um grupo de tecnologias que incluem OLE, OLE Automation, ActiveX, COM+ e DCOM.
REST é a abreviação de Representational State Transfer ou Transferência de estado representacional. Ele surgiu da tese de doutorado sobre a Web escrita por Roy Fielding, que foi um dos idealizadores do protocolo HTTP. Alguns entendem que o REST é um novo protocolo, outros o chamam de arquitetura e alguns defendem que ele é apenas uma filosofia, uma forma de pensar, um estilo de projetar uma aplicação. O REST é uma boa prática onde o principal objetivo é construir aplicações fracamente acopladas, voltadas principalmente para o ambiente Web.
O Delphi 2009 trouxe uma grande mudança na arquitetura do DataSnap. Nesta versão a tecnologia COM foi abolida, mas algo tinha que substituí-la. O que a equipe de desenvolvimento do Delphi fez foi algo extremante simples. O Delphi já possuía uma tecnologia de acesso a dados muito eficiente, totalmente orientada a objetos e 100% escrita em Delphi, o DBExpress. O que eles fizeram foi criar um novo driver para o DBExpress, mas ao invés deste driver conectar a um banco de dados qualquer, ele iria se conectar a um servidor de aplicação. Assim, a partir do Delphi 2009 a conexão do cliente com o servidor de aplicação passou a ser feita utilizando DBExpress trafegando os dados utilizando o protocolo TCP/IP.
A grande maioria dos sistemas em camadas desenvolvidos com Delphi tem o cenário Delphi to Delphi, ou seja, servidor de aplicação Delphi e cliente desenvolvido em Delphi. Mas você pode ser perguntar: então ficamos restritos a clientes Desktop, correto? Errado, para aqueles que desejassem desenvolver clientes Web podem optar pelo Delphi Prism. Para nossa felicidade o Delphi Prism possui um driver DBExpress específico para trabalhar com DataSnap e podemos facilmente consumir um servidor de aplicação feito com Delphi Win32. Uma ótima solução por exemplo é criar interfaces Web em ASP.NET que consomem servidores de aplicação Win32.
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Rodrigo Carreiro Mourão
Gestor de TI com especialização em gerência de projetos (PMI) e Governança de TI (ITIL e COBIT) pelo instituto Infnet. Embarcadero MVP e Instrutor certificado pela Borland. Graduando-se em Gestão de TI focada em negócios. Grande entusiasta do desenvolvimento orientado a objetos, padrões de projetos,...
O que você achou deste post?
2 COMENTÁRIOS
Carlos Alberto Becerra Soto
Caro Rodrigo,
Parabéns e obrigado pelo uso desta rápida aplicação para explicar as características da arquitetura do DataSnap XE que auxiliam na criação de aplicações distribuídas.
Parabéns e obrigado pelo uso desta rápida aplicação para explicar as características da arquitetura do DataSnap XE que auxiliam na criação de aplicações distribuídas.
[há +1 ano] -
Responder
Maurício Vinicius De O. Santos
Amigo...para cada modificação ou criação de um novo método no servidor, eu tenho que fechar minha aplicação servidora(derrubar todos os usuários) para poder fazer a atualização da aplicação servidora?
Há meios de fazer isso sem derrubar o servidor, como bpl ou dll?
Há meios de fazer isso sem derrubar o servidor, como bpl ou dll?
[há +1 ano] -
Responder
Cursos relacionados




