DataSnap, de MIDAS a Tiburón
Um pouco de história
Em 1997 a Borland lançou o Delphi 3 e com ele a tecnologia MIDAS, um acrônimo para “Multi-Tier Distributed Application Services”. No mesmo ano, a Microsoft emplacava o Visual Basic 5, cujo maior mérito era poder compilar os programas. A diferença era estrondosa. O Delphi 3 colocava o VB 5 no bolso sem apelação. Como o VB era muito mais popular, os programadores Delphi podiam considerar-se a elite.
No início muito pouca gente conhecia MIDAS. A própria Borland estabeleceu um obstáculo significativo para a sua popularização: um custo absurdo de 5.000 dólares por servidor! Alternativamente, podia-se escolher pagar um valor menor por servidor e uma licença por usuário final da aplicação. Talvez isso fizesse sentido naquela época, quando vislumbravam um mercado de grandes corporações e concorrência com tecnologias de middleware como CORBA. Era a primeira solução RAD para processamento distribuído em aplicações multicamadas.
Em 2000 a Borland caiu na real, viu que não ia chegar a lugar nenhum com aquela estratégia comercial e baixou drasticamente o custo de licenciamento da tecnologia MIDAS do preço corrente de US$5.000 para US$299.
Dan Miser foi um pioneiro e um expert em MIDAS e contribuiu muito para o avanço da tecnologia. Quando em 2001 foi lançado o Delphi 6 e o nome do MIDAS mudou para DataSnap, Dan Miser publicou o seu MIDAS Essentials Pack no SourceForge e aos poucos foi saindo de cena.
DataSnap Hoje
DataSnap hoje está longe de ser um trunfo para a Borland - ops, CodeGear. Tanto é que não progrediu praticamente nada desde o Delphi 6 e somente agora no roadmap do Delphi 2008 (codinome Tiburón) deve receber alguns incrementos significativos.
Várias alternativas a MIDAS/DataSnap já foram criadas nesse período. Umas deram certo e foram aperfeiçoadas, outras caíram no esquecimento. RemObjects / DataAbstract e kbmMW prevaleceram e continuam em ativo desenvolvimento. Ambos são hoje muito superiores ao DataSnap em funcionalidade, mas como são componentes de terceiros ficam em desvantagem pelo custo.
Uma coisa que eu sinceramente não entendo é como ainda hoje, passados 11 anos do lançamento do Delphi 3, no Brasil o DataSnap é tratado como se fosse uma grande novidade e uma meta de progresso a ser alcançada por tantos desenvolvedores. Não me entendam mal, eu sei que ainda tem muitos projetos baseados em BDE rolando por aí…
O meu ponto é que a tecnologia DataSnap está congelada a 7 anos e ninguém protesta, ninguém cobra mais dedicação da CodeGear. Nós, os usuários que permaneceram leais ao Delphi, empregamos esforços de desenvolvimento em nossos negócios e merecemos mais compromisso de aperfeiçoamento das ferramentas que adotamos.
Pessoalmente, já faz 2 anos que troquei o DataSnap pelo kbmMW. Quando veio o anúncio do novo roadmap para 2008 com alguns poucos desenvolvimentos para o DataSnap fiquei muito animado e até cheguei a pensar em migrar de volta.
O que reserva o futuro?
Uma leitura atenta do roadmap “Tiburón” para 2008 e algumas conversas com o pessoal da CodeGear me fizeram concluir que as pretensões a curto e médio prazo de desenvolvimento do DataSnap são muito simplórias e não satisfazem as minhas expectativas. RPC (como RemObjects), cache e interoperabilidade (como kbmMW) é basicamente o que podemos esperar da próxima versão. O roadmap para 2009 (“Commodore”) não dá nenhum detalhe sobre as melhorias previsas para o DataSnap na sequência.
O mínimo que a CodeGear podia fazer é abrir publicamente o código da MIDAS.DLL para permitir que os novos desenvolvedores possam ajudar a criar soluções mais avançadas. Não faz mais sentido conservar fechada essa tecnologia. Ninguém paga mais 5 mil dólares por servidor MIDAS. Aliás, ninguém paga hoje um centavo a mais para usar DataSnap. Por que seria um código tão precioso que não possa ser publicado?
Os tempos são outros. Até a Microsoft já abriu parte do código do Windows e do .NET Framework. Os novos produtos da CG, como 3rdRail e Delphi for PHP, são baseados em código open-source. A própria VCL, que é a razão do sucesso do Delphi, tem código fonte disponível desde o princípio. O que custa liberar uma mísera DLL? Ali está a “caixa preta” do DataSnap, que sempre impediu os usuários de criar novas soluções e solucionar bugs que a CG não tem interesse ou recursos para se dedicar.
Fica aqui o meu pedido público para a CodeGear fornecer aos usuários o código fonte do MIDAS.DLL. Não importa que esteja em C++, desde que esteja completo. Quem sabe os amigos da CodeGear Brasil possam ajudar-nos a defender essa bandeira internamente na companhia?
De minha parte, vou contribuindo ao apresentar aqui idéias do que poderia ser incluído em futuras versões do DataSnap.
Comments
6 Responses to “DataSnap, de MIDAS a Tiburón”
Deixe uma Resposta

Daniel, concordo com sua visão. A abertura do fonte ajudaria a promover a teconologia com certeza.
Daniel, como já disse e também outros “A Borland ou Codegear parou no tempo …”!
Concordo com você.
Observem que eu não disse em momento algum que a CodeGear ou que o Delphi pararam no tempo. Eu disse especificamente que o DataSnap não evoluiu. O Delphi de forma geral progrediu bastante nas últimas versões de 2006 e 2007.
Olá Daniel, não conhecia seu blog, que me indicou foi um outro colega que também se chama Daniel, Mas voltando ao assunto, estive olhano o RoadMap “Tiburón” para 2008 e como vc disse existem itens muito interessante, porem recentemente foi anunciado a venda da CodeGear para a Embarcadero Technologies, vc acha que os plano desse roadmap podem mudar por causa disso ?
Olá Daniel.
Sou usuário do DataSnap há anos e concordo que já estava na hora da CodeGear evoluir o framework. Quanto ao código fonte da Midas.DLL. Bem, não é exatamente a mesma coisa, mas há muitos anos o desenvolvedor Vladimir Gaitanoff - desenvolvedor russo (ou ucraniano?) da biblioteca VG Library I/II - desenvolveu o HiperBase, que é nada mais nada menos que uma implementação independente da Midas.dll, com código fonte 100% em Delphi, e aberto, apesar de não ser gratuito para aplicações comerciais
A página principal do mesmo é:
http://www.vglib.com/link-4.html
Tem muito tempo que não é atualizada.
Eu já usei a sua implementação de Midas e achei confiável, apesar que não a coloquei em produção uma vez que logo depois a Borland deixou de cobrar pelos servidores Midas.
Seria um bom ponto de partida - há alguns anos - para que a comunidade Delphi criasse um novo framework para n-tier, mas infelizmente não ocorreu.
Abraço,
Alexandre
Olá Daniel, desculpe mas eu me enganei. O código fonte do Hyperbase não está de fato totalmente disponível, somente parte dele. O site do Torry me levou a crer que era FWS, mas não é. De qualquer jeito, enviei um e-mail para o autor, para ver o que consigo.
Abraço,
Alexandre