Interação Delphi – Zope/Plone com XML/RPC

Ontem implantei em um cliente um programa desktop feito em Delphi e com alto uso de TClientDataSet (para quem não conhece pense em uma classe para simular tabelas de banco de dados em memória), os dados que alimentavam alguns TClientDataSets vinham através de XML/RPC de um servidor Zope/Plone através da biblioteca dxmlrpc.

Esta biblioteca parece um pouco abandonada, e apesar do protocolo está bem implementado precisou de algumas atualizações:

  • Suporte para Indy 10 (biblioteca que implementa protocolos para internet)
  • Suporte para autenticação (a falta disto praticamente inviabilizava a postagem de dados para o zope)
  • Suporte para especificação do encoding para o XML enviado (sem isto todos os acentos causavam erros)

    Tentarei enviar um patch para o autor nos próximos dias (preciso dar uma polida no código primeiro).

    O programa desktop tinha um objetivo bem definido: Permitir o cadastramento de dados off-line para o seu posterior envio em lote para o servidor Zope.

    Além do ganho de velocidade no cadastramento (sem espera entre a gravação de um registro e uma nova tela para cadastro) deixamos o servidor mais livre para as atividades de consulta e podemos escolher o melhor horário para o envio dos novos dados.

    O interessante aqui é que o Delphi (ambiente usado para geração do programa cliente) não possui suporte nativo a XML/RPC deixando apenas a solução via requests HTTP ou Web Services disponíveis, porém, esta última depende de uma série de bibliotecas externas serem instaladas no servidor.

    Acredito que a solução via XML/RPC (através do dxmlrpc) tenha simplificado e muito todo o processo, tornando mais simples a criação de clientes em Delphi para o servidores Zope.

    Anúncios

    8 Respostas to “Interação Delphi – Zope/Plone com XML/RPC”

    1. Helder Aguiar Says:

      Caro Juracy Filho,
      estou iniciando no desenvolvimento web e estou querendo implementar uma aplicação que rode no servidor web e que seja acessada pelo delphi. Estou começando a utilizar o ruby on rails e sei como gerar xml nesse framework. Queria saber se o componente dxmlrpc seria indicado para fazer esta aplicação? e se for possivel me mandar um tutorial de instalaçao e como utilizar o componente. Agradeço desde já,
      Helder Aguiar

    2. juracy Says:

      Helder, se o ruby implementar o protocolo XML/RPC é possível sim (por este link parece que sim: http://www.ruby-doc.org/stdlib/libdoc/xmlrpc/rdoc/index.html).

      Quanto ao tutorial sobre o componente não posso te ajudar muito, apenas baixei ele do endereço acima, coloquei-o em um diretório aonde coloco outros componentes de terceiros, compilei o DPK e rodei os exemplos até aprender.

      Boa sorte, se tentar instalar e tiver alguma dúvida em especifico fale.

    3. Clovis Says:

      Eu ja desenvolvi um web service utilizando ruby on rails… é muito simples, alem de suportar SOAP e XML-RPC no mesmo service.

      O meu problema agora é achar um componente parrudo pra trabalhar com este webservice no delphi.

      Alguem conhece um bom que trablhe com XML-RPC ??

    4. Fillipe Says:

      Juracy,

      Estou desenvolvendo um módulo de comunicação da minha aplicação com a rede secovi de imóveis. O protocolo é o XML-RPC.
      Gostaria de saber se você tem algum código exemplo de geração e envio de xml no Delphi utilizando esta biblioteca (dxmlrpc) ou outra que tiver conhecimento.

      Ficarei muito agradecido.

      Fillipe

    5. Lindomar Demetrius Says:

      Juracy

      Desenvovi alguns sistemas voltados para a telefonia, que utiliza o XML/RPC.

      Passe-me o endereço(host) e porta para que eu possa fazer um exemplo a você e enviar-lhe o código.

      Abraço
      Ramos

    6. K. Andrade Says:

      Eu sei que esse texto é antigo… Mas eu estou realmente precisando usar autenticação na lib dxmlrpc. A licença da sua atualização é GPL? Vc tem como me passar?

    7. Lindomar Says:

      Fillipe

      Você jah conseguiu fazer o módulo?

      Por coincidência, também iniciei o desenvolvimento de uma aplicação para interagir com a rede secovi.

      Quer trocar figurinhas? Estou a disposição!

      Abraço
      Lindomar

    8. Pedro Quezada Says:

      Achei interessante este fórum pois preciso desenvolver um sistema em Zope (rodando no desktop) que cadastre solicitações individuais, para posteriormente enviar em lote para um servidor webservice de um fornecedor de telecom.

    Deixe um comentário

    Preencha os seus dados abaixo ou clique em um ícone para log in:

    Logotipo do WordPress.com

    Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

    Imagem do Twitter

    Você está comentando utilizando sua conta Twitter. Sair / Alterar )

    Foto do Facebook

    Você está comentando utilizando sua conta Facebook. Sair / Alterar )

    Foto do Google+

    Você está comentando utilizando sua conta Google+. Sair / Alterar )

    Conectando a %s


    %d blogueiros gostam disto: