Técnicas Avançadas: DataSnap XE - Artigo ClubeDelphi 130

Utilização dos novos recursos encontrados no DataSnap XE como a transferência de objetos, autenticação de usuários, gerenciamento de sessões cliente/servidor, gerenciamento de conexões com qualquer banco de dados e controle de redundância.

De que se trata o artigo

Utilização dos novos recursos encontrados no DataSnap XE como a transferência de objetos, autenticação de usuários, gerenciamento de sessões cliente/servidor, gerenciamento de conexões com qualquer banco de dados e controle de redundância.

Para que serve

Utilizando a tecnologia DataSnap pode-se centralizar toda a regra de negócio dos nossos aplicativos em um único lugar. Após a implementação essas regras/métodos podem ser utilizadas em clientes tanto Web quanto Desktop independente da linguagem, utilizando protocolos comuns.

Em que situação o tema é útil

A escalabilidade, segurança, e claro, a facilidade de manutenção são os principais pontos a serem considerados para quem se interessou pelo DataSnap. Escalabilidade devido ao servidor DataSnap poder ser consumido por qualquer tipo de cliente, segurança pois toda a implementação de métodos e controle de dados é feita em um único local e junto a isso a facilidade de manter um código centralizado.

DataSnap XE

Geralmente quando está se iniciando em uma nova tecnologia é um pouco complicado utilizar todas as funcionalidades da mesma de maneira adequada nos primeiros projetos. Através deste artigo serão apresentadas de maneira simples algumas das diversas funcionalidades e recursos encontrados no DataSnap do RAD Studio XE, como a transferência de objetos JSON, uma forma de transporte muito eficiente, a autenticação de usuários em servidores com protocolo TCP/IP aumentando a segurança de seus servidores, um exemplo de como implementar Failover e fazer com que seu sistema trabalhe de forma mais inteligente sozinho, além é claro de otimizar a velocidade e o processamento de seu servidor, utilizando as conexões com o banco de dados de forma mais inteligente.

Como já exibido há tempos em edições anteriores da revista Clube Delphi, o DataSnap existe muito antes do Delphi XE aparecer. Em 1997 a Borland lançou o Delphi 3 e juntamente integrado a ele estava o MIDAS (Multitier Distributed Application Services), tecnologia que seguiu com esse nome até 2001, com o lançamento do Delphi 6, e foi renomeada para DataSnap. A biblioteca MIDAS muito antes do Delphi XE já era sinônimo de alto desempenho na criação de aplicações distribuídas que até antes do Delphi 2009 eram baseadas nas tecnologias DCOM, COM+ e BSS.

Vale lembrar que todas estas tecnologias derivaram do antigo COM, criado pela Microsoft em 1993 para suportar comunicação entre processos e muito utilizada em controles Active X, OLE, OLE Automation. O principal problema do DCOM (Distributed Component Object Model) foi a problemática da queda de performance conforme a conexão de clientes aumentava.

COM+ (versão melhorada do antigo Component Object Model) em outro caso, apresentava melhor performance em relação a este problema, porém, ainda utilizava o servidor de aplicação baseado em DLL, o que gerava um problema de distribuição e muitas vezes manutenção. Já o BSS (Borland Socket Server) era uma mistura de tudo isso, utilizando DCOM e Sockets, servidor de aplicação baseado em executável (e não mais DLL), porém, até este modelo que persistiu até a versão 2007 do Delphi, ainda havia a dependência com a tecnologia COM+.

A partir da versão do Delphi 2009 o DataSnap começou a ter uma evolução significativa. A dependência da tecnologia COM+ foi eliminada, e tanto o DataSnap quanto o Framework dbExpress sofreram grandes modificações, dando origem ao novo modelo de desenvolvimento multicamadas. O Delphi 2009 certamente foi um divisor de águas em relação à tecnologia multicamadas. A arquitetura de desenvolvimento de aplicações distribuídas possuía muito mais performance e mais simplicidade no desenvolvimento.

A versão 2009 marcou também o início do suporte à linguagem de notação JSON (Java Script Object Notation) que nada mais é que uma estrutura de dados Java Script muito leve e podendo ser dezenas de vezes mais rápida que a mesma representação de dados em XML. Vale lembrar que a maioria das linguagens já suporta JSON.

Na versão 2010 o mesmo suporte a JSON veio como o principal responsável pela volta do Callback, que não estava presente na versão anterior, iniciou-se também o suporte a servidores REST, transportando dados com notação JSON nativamente. Um outro grande marco desta versão caracterizava a disponibilização do código-fonte da então “fórmula mágica”, o MIDAS, que poderia ser facilmente melhorado. 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.

Na versão XE do RAD Studio foram realizadas mais melhorias consideráveis em relação às versões anteriores, lembrando que a compatibilidade entre as versões foi mantida. Na última versão foi possível trafegar, sem problemas, dados suportados tanto pelo dbExpress quanto dados JSON." [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados