Histórico da Página
...
Finalidade
Este documento tem como objetivo apresentar uma visão geral arquitetural abrangente de como funciona o processo de
Integração entre os ambiente envolvidos.
Escopo
Documentar o modelo de integração, suas interfaces e evidencias de homologação.
...
Devido á necessidades de tolerância a falhas, garantia de entrega e suporte a grandes volumes, a integração do PIMS com o Protheus via TOTVS ESB foi projetada utilizando o conceito de mensageria assíncrona, com filas específicas para envio e recebimento de dados. Os dados trocados entre os processos são constituídos de arquivos XML que devem ser integrados, seguindo o formato e padrões necessários de cada processo, provendo a independência evolutiva dos produtos e reduzindo as interfaces de contato entre os processos. Tanto para o envio como para o recebimento, o TOTVS ESB provê a tradução dos arquivos XML usando o padrão XSLT ( XML Stylesheet Transformation ) desenhado num mapa de tradução para cada processo/transação.
Nesse caso a Transação EAI consiste na troca de documentos XML específicos para cada processo dentro dos aplicativos envolvidos.
Âncora | ||||
---|---|---|---|---|
|
Tolerância a Falhas – em caso de interrupção inesperada dos serviços, o ambiente é capaz de restabelecer as comunicações
Modelo Assíncrono de Mensagens – melhor desempenho e desacoplamento, maior complexidade, maior garantia de tolerância a falhas.
Desacoplamento – os aplicativos integrados têm seus documentos padronizados e independentes do ESB, e para cada transação o próprio ESB executa a identificação / transformação específica.
Modelo ACID – as transações de negócio respeitam o modelo ACID para evitar dados inconsistentes.
Âncora | ||||
---|---|---|---|---|
|
...
Nome Lógico ERP | Nome Lógico PIMS | Nome Técnico | Fluxo |
10 – Cargos | Cargos (CARGO) | Position | Protheus → PIMS |
11 – Funcionários | Funcionários (FUNCIONAR) | Employee | Protheus → PIMS |
12 – Disponibilidade Funcionário | Disponibilidade Funcionário (Afastamento e férias) | Situations | Protheus → PIMS |
Âncora | ||||
---|---|---|---|---|
|
Envio do EMS para o PIMS
O Processo no Protheus insere na Fila EAI de Saída ( Protheus EAI ) a mensagem, que é dispara via WS-I para o TOTVS ESB ( Integrator 5.1.X ) usando o componente ProtheusReceiver, que por sua vez identifica a mensagem, traduz usando o XSL específico para o processo do PIMS, e deposita a mensagem XML na fila JMS de Inbound (Entrada) que será consumida pelo MessageReceiver, que por sua vez traduz a mensagem para as tabelas do PIMS.
Nessa situação as mensagens são processadas no sentido Protheus → PIMS, não necessitando de controle de processamento, e em caso de erro podem ser reenviadas novamente, pois, caso o registro já exista no PIMS, ele será atualizado, e caso não exista será inserido.
Em nenhum dos cadastros, foi contemplada a exclusão de dados nesse sentido, pois o PIMS tem severas restrições de integridade de dados.
Diagrama do envio de transação no sentido Protheus → PIMS dos cadastros e retorno da Baixa:
Usamos o IdentifierMensagem que identifica a mensagem e roteia adequadamente para o tradutor específico para o processo do PIMS (veja nomes lógicos), usando o JMSSender para o servidor do PIMS.
Configurações do ESB:
ProtheusReceiver:
PIMSJMSSender:
Envio do PIMS para o Protheus
O Processo no PIMS insere registros na tabela de controle das baixas (BRG_BXMATERIAL_EMS) e gera um XML baseado no modelo XSD:BaixaMaterial.xsd que é depositado numa fila interna JMS de Outbound que será consumida via JMS ( Java Message Service ) pelo TOTVS ESB usando o JMSReceiver, que por sua vez traduz o documento XML usando o XSL específico para a InventoryTransaction, e envia o XML traduzido para o Protheus WS, nesse momento o Agente do ERP consome as mensagens de requisição de baixa de material. Após consumir as mensagens, o processo do Protheus gera o retorno no Protheus EAI que é consumido pelo TOTVS ESB e enviado para o PIMS informado o sucesso ou erro das baixas.
Diagrama do envio de transação no sentido PIMS → Protheus da Baixa de Material:
Configurações do ESB:
ProtheusSender:
PIMSReceiver:
Para o retorno do Protheus para o PIMS da Baixa de Material usamos o mesmo diagrama dos cadastros, pois o Protheus WS usa o mesmo canal de retorno WS Protheus Receiver:
Âncora | ||||
---|---|---|---|---|
|
Usamos o WS-Channel do HTTP Server do ESB configurado na porta 8085 do ESB conforme configuração abaixo:
Configuração do WS-Channel
Âncora | ||||
---|---|---|---|---|
|
...
O BackOffice Protheus deve estar devidamente instalado e Configurado em ambiente de Homologação e Produção, com versão 11.80 ou superior.
Parâmetros
O Sistema Microsiga Protheus utiliza em suas rotinas configurações padronizadas ou específicas, chamadas de parâmetros.
Um parâmetro é uma variável que atua como elemento chave na execução de determinados processamentos. De acordo com seu conteúdo é possível obter diferentes resultados.
Todas as variáveis são iniciadas pelo prefixo MV_ e agem sobre diversas operações no Sistema.
...