Artigo do tipo Exemplos Praticos
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre novidades.
Pronto para Web com DataSnap XE3
É muito comum a situação onde um cliente solicita que alguma informação de seu sistema esteja disponível online, na internet. Muitos desenvolvedores partem para utilização de outras ferramentas, esquecendo que o Delphi oferece suporte ao desenvolvimento de aplicações Web. Nesse artigo serão abordados, de forma sucinta, os recursos oferecidos pelo DataSnap XE3 e que muitas vezes passam despercebidos pelo desenvolvedor na correria de seu dia a dia.


Em que situação o tema é útil

Aproveitar o conhecimento já existente na ferramenta e criar extensões para WEB, de seu aplicativo, de uma rotina específica, possibilitando a integração de negócios.

Embora o Delphi tenha ficado famoso pela sua capacidade RAD de criar aplicações desktop de alto desempenho e com bastante facilidade, não é de hoje que se sabe que ele também é uma poderosa ferramenta para o desenvolvimento de aplicações web completas. O Delphi possibilita diversas formas de criação de aplicações web dinâmicas, através de várias tecnologias, como:

WebBroker: é um modelo de desenvolvimento baseado em WebActions. Para os que usam Servlets e agora o ASP.NET MVC, este não é um termo novo. É um dos primeiros modelos de desenvolvimento web disponíveis no Delphi que respondem a estímulos de Response e Request. É de fácil de aprendizado, mas requer conhecimento em HTML;

WebSnap: similar ao WebBroker que introduz conceitos como Server Side Script, inexistente no outro. Esse modelo serviu de base para os controles de servidor que temos no IntraWeb. Embora o WebSnap ainda esteja disponível no Delphi, ele foi sinalizando em algumas versões como “deprecated” (não mais atualizado). Como alternativa, comece a usar o IntraWeb (VCL for the Web);

IntraWeb (VCL for the Web): surgiu na versão 7 do Delphi trazendo uma metodologia RAD para o desenvolvimento de aplicações Web. Montado sobre a estrutura do WebSnap, possibilitou que programadores de aplicações Desktop com Delphi se sentissem facilmente adaptados ao modelo web, por tornar o desenvolvimento dessas aplicações antes baseado em um modelo de formulários;

Delphi Prism ASP.NET: ganhou vários adeptos dentro do modelo de desenvolvimento web usando o .NET framework. Uma evolução do modelo ASP, seu antecessor, baseado em script de servidor da Microsoft – uma estrutura de páginas HTML e uma estrutura de script code behind para tornar a aplicação dinâmica.

Entretanto, alguns desenvolvedores Delphi ainda não se atentaram ao poder que a nova estrutura do DataSnap tem para o desenvolvimento de aplicações web de alta performance. É sobre esta abordagem de desenvolvimento web que trataremos neste artigo.

REST e JSON

Representational State Transfer (REST) ​​é uma arquitetura para Web Services. Grandes fornecedores como Google, Yahoo, Amazon e Microsoft, têm aderido a este modelo para a maioria dos seus novos serviços web, devido ao seu ótimo desempenho, além da facilidade de implementação e transferência de objetos na notação JSON (JavaScript Object Notation), fazendo com que ela seja facilmente integrada a outros serviços.

Enquanto Web Services usam normalmente o XML como padrão para trocar dados entre aplicações diferentes, o DataSnap REST, no Delphi, utiliza o padrão JSON para a troca de informações.

JSON é uma notação baseada em texto usada para representar objetos JavaScript, de modo que eles possam ser persistidos ou transferidos de um aplicativo para outro. Enquanto há alguns anos atrás era consenso usar o XML como uma notação para representar estruturas complexas de dados, nos últimos anos, JSON ganhou popularidade por ser mais compacto, mais ligado a conceitos de linguagem de programação e muito rápido de ser analisado (parser) por aplicações baseadas em browser com JavaScript. Assim como o XML, ele pode ser usado pela maioria das linguagens de programação, devido a um conjunto crescente de bibliotecas e ferramentas. Veja o comparativo a seguir na ...

Quer ler esse conteúdo completo? Tenha acesso completo