Contexto de Negócio 

O PIMSConnector é um esforço para componentizar e modularizar o desenvolvimento de novas integrações entre as aplicações PIMS e ERP's, como Protheus e Datasul, por exemplo. O PIMSConnector surgiu com o objetivo de criar um ambiente único, ou seja, padronizar as formas de interação entre o segmento Agroindustrial com outros segmentos. Com isto, conseguimos facilitar os meios de comunicação entre as aplicações de nossos clientes e tornar o processo de integração mais simples, ágil, conectado, cloud e essencial. Outro ponto de vista é que este projeto tem como objetivo viabilizar a independência na comunicação entre diferentes tecnologias de integração permitindo, por exemplo, que uma aplicação envie dados para a integração através de acesso direto à base de dados enquanto outra aplicação, que receberá os dados, poderá fazê-lo através de uma Web Service.

Sistemas Envolvidos

Abaixo estão descrito os sistemas envolvidos no processo de integração:

  • Sistema/Módulo Vertical - O PIMS Multicultivos é um software que atende todas as demandas de gestão da cadeia produtiva de culturas anuais como: milho, soja, trigo e algodão além dos subsegmentos de biocombustíveis, citros, fruticultura e florestas.
  • BackOffice(s) – Protheus é um sistema que contempla todos os principais processos da empresa através de seus módulos onde cada módulo corresponde a uma área específica de gestão, como por exemplo, o módulo FAT (Vendas e Faturamento) que contempla a área de Vendas, fazendo a integração das informações com as demais áreas da empresa. Cada módulo é responsável por dezenas de processos de negócios baseado em práticas do dia a dia de diversos segmentos de negócio.

InternalID

É uma ferramenta utilizada para converter campos de chaves primárias de aplicativos externos para a chave primária do aplicativo interno. Pode ser referenciada como EAI de – para ou depara.

Durante a troca de mensagens, o aplicativo externo pode ter mais, menos ou diferentes campos correspondentes à chave primária. Assim, fica impossível identificar qual registro corresponde aos valores recebidos na mensagem. Isso pode ocorrer com vários aplicativos externos ao mesmo tempo e para a mesma mensagem. Para resolver essa situação, tornando-a invisível para o Helper e o Adapter durante a extração dos dados recebidos, foram criadas as funções do InternalId.

Foi adicionado um código interno (InternalId) no XML da mensagem para identificar os campos chaves do aplicativo externo. Chegando ao destino, os campos são convertidos para os valores locais no corpo da estrutura.