Integração Drupal com ERP via Web Services

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Anonymous's picture

Ora viva comunidade Portuguesa Drupal!

Estou neste momento a pensar como vou desenvolver um projecto em que o objectivo é pegar num site feito em Drupal utilizando o componente Ubbercart (e futuramente outros modulos) e integrar esse sistema com outro(s), neste caso específico, trata-se de um ERP - o Primavera ERP.

A questão é que não sei até que ponto isto será viável considerando que estou actualmente sozinho no projecto o que prevejo que implicará uns meses... estamos a falar em integrar Produtos, Clientes, (idealmente) Encomendas, Marcas e Taxas.

Não sei até que ponto deverei segurar-me ao Drupal considerando a complexidade desta integração, pelo que me parece mais fácil optar por outras vias (desenvolver um site de raíz, sem recurso a Web Services ou recurso apenas a alguns Web Services). O que me deixa de pé atrás é que depois perco a modularidade que a plataforma Drupal/CMS oferece.

Gostaria de saber se há alguém que já tenha feito uma integração do género, para trocar impressões e, quem sabe, poderemos desenvolver em conjunto uma solução.

Um abraço,
Diogo Moura

Comments

Exportar/importar dados com o

PedroMiguel's picture

Exportar/importar dados com o drupal é uma das coisas mais fáceis do mundo. Por isso se a tua preocupação é a integridade/segurança dos dados podes ficar descansado.

Quando falo em exportar é na maioria dos formatos:

Exemplo em um dos meus sites, exportação XML: http://www.bonsempregos.com/jobsxml (e para isto nem precisei de instalar o web services, bastou um modulozito para o views)

Não sei que género de implementação/Integração queres fazer com o primavera, mas posso te já garantir que consegues no drupal gerar acções em qualquer processo de uma encomenda, logo podes comunicar bastante bem de/para o primavera (ou outro software).

Ps: Não sei que funções o primavera tem (json, etc) para comunicar, sei que no drupal podes estar á vontade.

Deves tambem pensar se queres usar drupal 6 ou drupal 7 e se queres usar ubercart ou o commerce.

Tudo depende do que queiras fazer, como costumo dizer o drupal só não tira cafés.

Viva Pedro,Desde já agradeço

dmoura's picture

Viva Pedro,

Desde já agradeço a tua resposta.
Também tenho essa ideia que é bastante fácil exportar dados e colocá-los disponíveis para outras aplicações mas aqui o objectivo seria que o Drupal fizesse uso de informação externa (consumisse os Web Services). Se calhar dou um exemplo para perceberes um pouco melhor o que pretendo:

  • Ao dar uma entrada de stock do 'produto A' com 5 unidades no Primavera, se o visitante do site feito em Drupal abrisse a ficha do 'produto A', constaria lá a informação de 5 unidades ou de stock disponível/limitado.
  • Ao criar um produto no Primavera, se o visitante do site feito em Drupal procurasse pelo código ou descrição do artigo, este passava a estar acessível ao Drupal em tempo real.
    (Logo isto obriga que o módulo de Comércio Electrónico (Ubercart ou Commerce) acedam não à Base de Dados do Drupal, mas antes utilizem os métodos disponibilizados pelos Web Services instalados no servidor Primavera/IIS.

Não me interessa ter qualquer replicação/duplicação de dados mas sim dados centralizados, em que os mesmos são acessíveis pelo Drupal, por uma aplicação feita para PDA's, tablet's, androids ou qualquer outra plataforma que interesse interligar. Para estes dois pontos acontecerem penso que será inevitável o recurso de Web Services.

E não é obrigatório que seja Ubercart, pode ser o Drupal Commerce, no fundo e o objectivo central é criar uma página Web que sirva de interface para o Primavera, dando a flexibilidade que o Drupal oferece ao poder instalar módulos de Mailing/Newsletter, gestão de conteúdo (notícias, páginas estáticas e dinâmicas), utilização de API's como Facebook Connect e por aí adiante. Só não tenho conhecimento qual dos dois permitirá uma integração mais fácil para aquilo que pretendo.

Estando a começar o projecto de raíz pretendo utilizar as tecnologias mais recentes e estáveis disponíveis, para minimizar as dificuldades que irei ter em futuras actualizações portanto o Drupal 7 será a escolha a fazer.

Relativamente à especificação do protocolo irei utilizar SOAP.

Se alguém tiver experiência neste campo em que me possa ou indicar documentação que eu deva seguir ou que queira colaborar comigo na elaboração do projecto por favor, diga algo.

Um abraço,
Diogo Moura

Nesse caso ainda é mais fácil

PedroMiguel's picture

Nesse caso ainda é mais fácil e se o objectivo é apenas a consulta (e não encomendas) nem precisas de modulos de comércio electrónico. Basta usares o modulo feeds e importares a cada X tempo (pode ser por exemplo 5 minutos) os dados que pretendes.

Nesse modulo tens imensos parsers que te podem ajudar a tratar os dados. (é possivel os dados serem actualizados por um unique id, por isso podes fazer update de preços, características, o que quiseres.

Eu uso uma coisa parecida neste site http://apostas.org.pt todos os jogos que ves ai estão num server externo e o drupal processa-os e coloca-os em "nodes" (no teu caso basta criares um tipo de conteudo "produtos").

É muito simples.

Podes ainda usar o aggregator (do core do drupal 7), que neste caso não guarda os dados na db, mas mostra-os nas páginas. Até podes usar um cache por razões de performance.

Em relação ao facebook connect se o site for para estar pronto "agora" usa o D6 porque o modulo ainda não funciona muito bem com o d7.

Em resumo, um site como queres (a parte da importação demora umas horas a "programar") o resto tambem fazes em dias. Pelo que em 2/3 semanas consegues ter isso pronto.

Obrigado pelas dicas Pedro,

dmoura's picture

Obrigado pelas dicas Pedro, como não sou muito conhecedor do Drupal ainda ando a perceber como o mesmo funciona e ao dares-me essas referências já tenho algo por onde começar e explorar!

Conto pegar no projecto no início da próxima semana, entretanto darei feedback.

Mais uma coisa

PedroMiguel's picture

Tive a ver a pouco este modulo: http://drupal.org/project/wsclient ainda não o testei pelo que não te posso dar feedback do mesmo, no entanto o mesmo "alega" :

"WSClient comes with a user interface that allows site administrators to create REST and SOAP service descriptions with their respective operations and data types. Those service descriptions can be edited, cloned and deleted as well as imported/exported for sharing with other sites."

Com o drupal tens várias formas de fazer o que queres, é só decidires como queres fazer e antecipar cenários.

A vantagem do feeds é que como os dados ficam como nodes (ou entitys no drupal 7) depois podes os manipular com o views e todos os modulos que manipulam os conteúdos.

Este wsclient não o testei, como tal não sei como integra, mas podes fazer umas instalações de drupal de teste.

Uma sugestão que te dou é não instalares todos os modulos ao mesmo tempo, usa um, testa, ve o que faz, depois instala outro, e assim sucessivamente.

Alguma dúvida pergunta aqui ou envia mensagem.

Abraço

Relativamente a esse módulo

dmoura's picture

Relativamente a esse módulo já o instalei e já o tentei utilizar mas sem grande sucesso. Quer dizer, eu consigo referir o Web Service e ele carrega o Web Service para o Drupal direitinho, mas ao dar o passo seguinte e ao querer fazer uso do web service, fico encravado!

Vou seguir as tuas dicas e fazer testes, para ver se chego a algum lado. Como eu costumo dizer, só custa o início, depois é sempre a mesma coisa.

Obrigado mais uma vez!

Já agora, parabéns pelos teus projectos, vejo que estás a apostar forte neste gestor de conteúdos, muito bem, força!

Um abraço,
Diogo Moura

Recomendo um arranque

lpalgarvio's picture

Recomendo um arranque exclusivamente com Drupal Commerce, um remake do Ubercart. para Drupal 7.
Não percam tempo com Ubercart.

http://drupal.org/project/commerce

http://www.drupalcommerce.org

por falar nisso, a tão aguardada 1.0, primeira release estável, foi lançada à 3 dias =)

Luís Pedro Algarvio
Drupal and DevOps Developer, Evangelist & Trainer
lp.algarvio.org

LP, Cheguei a instalar o

dmoura's picture

LP,

Cheguei a instalar o Ubercart e também fiquei com essa impressão, o Commerce parece mais "limadinho", e deverá ser nesse componente que irei apostar.

Um abraço,
Diogo Moura

Pois... eu comecei agora uma

semisse's picture

Pois... eu comecei agora uma loja on-line com Ubercart e Drupal 7 e já me arrependi. Vários módulos importantes (particularmente o Ubercart Price Per Role http://drupal.org/project/uc_price_per_role) ainda não estão disponíveis para a versão 7...

Esse é um dos problemas de

dmoura's picture

Esse é um dos problemas de utilizarmos as últimas versões, por isso eu opto sempre por tentar encontrar o equilíbrio entre o último e o funcional, que nem sempre é fácil. Mas tendo em conta a comunidade forte do Ubercart, dá-lhe uns dias para teres esse componente disponível para o Drupal 7!

Um abraço,
Diogo Moura

Portugal

Group categories

Classificação

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week