Do que trata o artigo

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.

Para que serve

Aplicações em camadas servem quando queremos concentrar nossas regras de negócio em um único lugar, encapsulando a implementação, facilitando a manutenção e aumentando a escalabilidade. Com isso ficamos livres para criar interfaces, sejam elas Web ou Desktop, para consumir estas regras ou mesmo consumi-las via HTTP com o suporte a REST e JSON e permitimos assim que clientes desenvolvidos em diferentes linguagens possam utilizar nossos serviços.

Em que situação o tema é útil

Aplicações em camadas são úteis, pois este tipo de arquitetura nos permite ter um sistema mais escalável e de fácil manutenção. Ao criar um cliente Web estamos na verdade aumentando consideravelmente o nível de escalabilidade e interoperabilidade, permitindo que nossas regras possam ser consumidas de qualquer lugar sem necessidade de instalação ou outro requisito específico.

Resumo do DevMan

O novo Delphi XE está repleto de novos assistentes e funcionalidades para trabalhar com modelos de arquiteturas modernas, baseados em REST, Javascript e AJAX. Além disso, o Delphi XE gera boa parte do código necessário para a comunicação remota. Este artigo apresenta estes novos recursos, além de um exemplo de como criar uma aplicação servidora com métodos personalizados que podem ser consumidos a partir de aplicações clientes.

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.

Nota do DevMan

Para quem não conhece, o Delphi Prism é a ferramenta para desenvolvimento multiplataforma da Embarcadero, incluindo Windows, Linux e Mac, usando .NET e Mono.

...

Quer ler esse conteúdo completo? Tenha acesso completo