A nova arquitetura DataSnap quebrou fronteiras no que diz respeito à integração de aplicações. O conceito de multicamadas com Delphi foi estendido. Até o Delphi 7 por exemplo a maneira mais simples de fazer uma interface Web para consumir um servidor de aplicação feito em Delphi Win32 era criar uma aplicação IntraWeb. Com o DataSnap no Delphi 2009 a barreira do COM para Win32 foi quebrada, adicionando transporte via TCP/IP, o que abriu novas possibilidades no lado cliente. O DataSnap 2009 tinha o framework dbExpress como base e podíamos agora utilizar Delphi Prism para criar clientes e consumir um servidor de aplicação feito em Delphi Win32.
Ainda tínhamos duas limitações. Primeiro a restrição de só trafegar tipos compatíveis com DBX, ou seja, ainda não poderíamos trafegar nossos objetos de negócio. Outra limitação é que, para criar uma Interface Web, ficávamos limitados à aplicações .NET feitas com Delphi Prism utilizando provider DBX. Qual o problema disso?
Quando pensamos em Delphi consumindo Delphi então não temos problemas, porém a realidade hoje nas empresas é outra. Cada dia que passa aumenta a necessidade de se criar aplicações para integração entre plataformas. Um distribuidor de medicamentos e produtos farmacêuticos, por exemplo, pode ser impelido a permitir que seus clientes integrem seus sistemas com o ERP da empresa. Mas o ERP da empresa farmacêutica é em Delphi e seus clientes possuem PHP, ASP.NET - C#, Java etc. Como permitir isso de uma forma transparente, ou seja, aproveitando tudo o que tenho hoje, minhas regras, meus objetos, minhas rotinas? E mais, como fazer a comunicação entre cliente e servidor de forma otimizada? É neste contexto que o DataSnap 2010 entra.
...