Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Conceito:
Deck of Cards
effectDuration0.5
idIntegração Mensagem única
effectTypefade
Card
defaulttrue
effectDuration0.5
idTestes de Integrações via XML
labelConceito Mensagem única

Durante o processo de consolidação de marcas, iniciado pela TOTVS, várias empresas diferentes foram adquiridas e com elas vários produtos passaram a compor o portfólio de ofertas disponível aos clientes. Esta expansão de ofertas permitiu que clientes de uma marca, antes limitados pelas opções com aquela “etiqueta”, pudesse agora compor o seu ambiente de TI utilizando produtos de origens diferentes (Ex.: BackOffice Protheus + TOTVS Obras e Projetos).

Com o objetivo de padronizar a integrações com

os

outros produtos

TOTVS

, foi definida uma nova diretriz para os projetos de integração:

todos

os produtos

TOTVS devem

podem se comunicar com uma mensagem XML ou Json única, evitando desta forma o processo de transformação de mensagens.
Neste cenário, teríamos o seguinte quadro:

 

  Image Removed

Image Added

Neste cenário, qualquer produto

TOTVS

parceiro trabalhará com o mesmo XML, para uma mesma entidade, ou seja, supondo que tenhamos um

XML

Xml/Json correspondente à mensagem de Cadastro de

CLIENTES

Clientes, ela poderá ser enviada para qualquer um dos produtos que suporte o recebimento desta entidade.

Uma vez que os vários produtos

TOTVS

terão um “idioma” em comum

(o XML Único)

, o Xml/Json único, as integrações entre estes produtos não exigirão mais que as mensagens sejam transformadas de um formato para outro

. Com isto, será possível conectar diretamente dois produtos, sem a necessidade do TOTVS ESB, como no diagrama abaixo:Image Removed

.



Deck of Cards
effectDuration0.5
idIntegração Mensagem única
effectTypefade

Ferramenta Soap: 

É uma ferramenta de mercado onde conseguimos realizar testes de Web Service. Utilizamos o Soap para integrar o XML gerado por um ERP(RM/Logix) e enviar para o Protheus.

Link para baixar o Soap: https://www.soapui.org/downloads/latest-release/

Integração WS protheus X Soap Ui:

No Ini do Appserver, busque o caminho do WS.

WEBSERVICELOCATION=http://localhost:92/ws

Acesse o WS via browser

Busque o EAISERVICE , e clique sobre.

Clique sobre a descrição do serviço;

Image Removed

Copie o endereço do Image Removed.

Image Removed

Abra o Soap UI - Clique em File - New SOAP Project

Image Removed

Cole o endereço do WSDL no campo Initial WSDL, clique em OK.

Pronto o Soap está integrado com o Web Service do Protheus. 

 Image Removed

Cole o XML entre as seguintes Tags:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:RECEIVEMESSAGE>
<tot:INMSG>
<![CDATA[

Cole aqui o XML

]]>

</tot:INMSG>
</tot:RECEIVEMESSAGE>
</soapenv:Body>
</soapenv:Envelope>

  • A seguinte Tag tem que ser acrescentada:

<![CDATA[

]]>

  • Não esqueça de salvar o Novo Projeto, caso feche o sistema perde inclusive a integração.

Parâmetros: 

  • MV_EAIMETH (não deve ser alterado)
  • MV_EAIUSER
  • MV_EAIPASS
  • MV_EAIURL2 (Endereço do WS para comunicação) - Podemos informar a Rota da integração neste parâmetro ou através da rotina CFGA020.  Saiba mais:  Roteamento EAI Protheus (CFGA020 - SIGACFG)
  • MV_EAIWS(Não Precisa ser alterado). 

Principais parâmetros da Integração RM TOP X Protheus:

A integração do Top RM com o Protheus envolve o módulo Gestão de Projetos (SIGAPMS), neste módulo não é necessário realizar alguns cadastros de De/Para na XXF e sim configurar alguns parâmetros. 

Segue a baixo a lista dos parâmetros que envolve as integrações deste módulo:

Link: Parâmetros da Integração

Card
effectDuration0.5
idIntegração via Mensagem única
labelPrincipais tabelasInformações Gerais
Expandir
titleTabelas

Tabelas utilizadas na Integração EAI:

  • De/Para de Empresas/Filiais Mensagem única (XXD)

Tabelas:

XXF
  • De/Para
no banco de dados 
XX3Transações EAI
XX4Adapters EAI
Card
defaulttrue
idIntegração Via Mensagem única
labelAdapters
  • de Conteúdos Mensagem Única (XXF)
  • Transações E.A.I. (XX3)
  • Adapters E.A.I. (XX4)
Expandir
titleParâmetros

Parâmetros utilizados na Integração EAI:

  • MV_EAIMETH: Não deve ser alterado
  • MV_EAIUSER
  • MV_EAIPASS
  • MV_EAIURL2: Endereço do WS para comunicação. Podemos informar a Rota da integração neste parâmetro ou através da rotina CFGA020.  Saiba mais: Roteamento E.A.I. Protheus (CFGA020 - SIGACFG)
  • MV_EAIWS: Não precisa ser alterado 

Dica
titleIntegração RM TOP x Protheus

A integração do Top RM com o Protheus envolve o módulo Gestão de Projetos (SIGAPMS), neste módulo não é necessário realizar alguns cadastros de De/Para na tabela XXF e sim configurar alguns parâmetros. 

Lista dos parâmetros que envolve as integrações deste módulo: Parâmetros da Integração

Expandir
titleAdapters

Os Adapters são

Adapters: 

O cadastro de Adapters são rotinas

responsáveis por realizar o processamento das mensagens enviadas e recebidas, possibilitando a inclusão, alteração e exclusão

do Adapter no Protheus.Abaixo segue link completo com as lista dos Adapters utilizado na integração  EAI  

de dados.
Veja a Lista Completa dos Adapters utilizados na integração E.A.I (Enterprise Application Integration)

Link: http://tdn.totvs.com/download/attachments/254607629/Mensagens_Protheus.xlsx?api=v2

Caminho para cadastrar os Adapters: Configurador Protheus - Schedule - Adapter E.a.i (CFGA020)

Image Removed

Modelos de mensagens Síncronas e Assíncronas 

 As integrações via Mensageria

.

Dica
titleEXEMPLO

Veja o vídeo do processo de cadastro do Adapter em: 01. Cadastro do Adapter

As integrações via Mensagem Única

 propõem dois modelos de envio e recebimento de mensagens

. O modelo Síncrono e o Assíncrono.

  • Síncronas:
  No modelo de mensagens Síncronas a
  • A mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor
.
  • ;
  • Assíncronas:
   Já no modelo Assíncrono a mensagem Observações: 
  • A mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.


Aviso
titleAtenção

O modelo de mensagem que será utilizado na integração deve ser avaliado com muito cuidado. Apesar do

modelo síncrono 

modelo síncrono parecer o mais adequado para uma integração, isto não é de todo verdade. Em um

modelo síncrono 

modelo síncrono deve ser levado em consideração o tempo de processamento: O processamento do sistema que envia, a velocidade do trânsito de dados da rede e o tempo de processamento e resposta do receptor.
Isto pode acarretar um tempo de resposta ao usuário muito maior do que o normal, o que pode transformar a integração de solução ao problema. Já o modelo

 

assíncrono, por não aguardar o retorno do processamento do receptor torna o processo mais rápido, porém, neste modelo de mensagem deve-se levar em consideração que o dado será gravado no sistema que envia a mensagem e que o processamento no receptor ocorrerá posteriormente.

Desta maneira, em algumas situações os dados irão existir no sistema de envio, mas enquanto não forem processados no receptor eles não existirão lá.

Card
defaulttrue
effectDuration0.5
idIntegração Via Mensagem única
labelDe / Para de empresas
Expandir
titleDe/Para de Empresas/Filiais

O Cadastro de De/Para de

empresa note

empresas/filiais irá definir quais empresas e filiais serão integradas entre os dois sistemas.

Dica
title
Importante:

Deve ser informado a referencia a outra marca. 

O cadastro está localizado: Configurador/Ambiente/Schedule/Emp. Fil. Msg. única

Image Removed

No XML para identificar qual a empresa e qual a filias, avalie as seguintes Tags <CompanyId>e <BranchId>.

<CompanyId>= Empresa

<BranchId> = Filial

<CompanyId>15</CompanyId>
<BranchId>1</BranchId>

Card
defaulttrue
effectDuration0.5
idIntegração Mensagem única
labelDe/Para XXF
EXEMPLO

Veja o vídeo do processo de cadastro do De/Para de Empresas/Filiais: 02. De Para de Empresas Filiais

No XML é necessário identificar a Aplicação de Origem, a Empresa e a Filial para cadastrar o De/Para. As tags a serem verificadas são:

  • SourceApplication = Aplicação de Origem (XXD_REFER)
  • CompanyId = Empresa (XXD_COMPA)
  • BranchId = Filial (XXD_BRANCH)

De/Para XXF: 

A
Expandir
titleDe/Para de Mensagem Única

Na maioria das vezes, os códigos dos registros utilizados nos sistemas que se comunicam via Mensagem Única não são os mesmos, a

XXF é a tabela que ira guardar os códigos

da mensagem

para

os casos onde os códigos são diferentes nas marcas

relacionar os registros, por exemplo um cliente pode

ser

possuir o

00001/01

código no Protheus, e no RM

C0100001. Para que consigamos efetuar a integração é necessário efetuar o De/Para do cadastro. 

Image Removed

O cadastro está localizado: configurador/Ambiente/DE/PARA Msg. única

Card
defaulttrue
idIntegração Mensagem única
labelSoap UI
Nota
titleImportante:
Card
idIntegração Mensagem única
labelParâmetros

esse mesmo cliente possui o código C0100001. Por isso o sistema realiza o cadastro de um "De/Para de Mensagem Única"

Ao realizar a inclusão de um cadastro, o sistema verifica se já existe um "De/Para de Mensagem Única", caso já exista, o sistema entende que trata-se de uma alteração, caso não exista, trata-se de uma inclusão, então ele cria automaticamente o "De/Para de Mensagem Única" (XXF).

Dica
titleEXEMPLO

Veja o vídeo do processo de cadastro do De/Para de Mensagem Única (XXF): De Para de Mensagem Única

O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

Caso trate-se de uma inclusão que referencia códigos de outros cadastros, esses códigos necessitam de um "De/Para de Mensagem Única", por exemplo, ao incluir um Pedido de Vendas você precisa referenciar um código de Produto e um código de cliente, mas, nesse momento, você não está incluindo o cliente ou o produto, você está incluindo o Pedido, portanto o cliente e o produto precisam ter um "De/Para de Mensagem Única" (XXF) cadastrado. 

Card
idIntegração Mensagem única
labelFontes de Integração

Fontes de Integração:

Expandir
titleFontes de Integração

Todos os fontes de integração contém a letra "I"

, exemplos:

Cadastro de cliente MATI030

No TFS os fontes do módulo Faturamento estão localizados na pasta Materiais - Mensagem única:

Image Removed

Card
idIntegração Mensagem única
labelComo extrair XML do Protheus

no final do nome da rotina, fontes com processamento a parte em JSON possuem a letra "O" ou "Json" no final.

Exemplos:

  • A rotina de Pedidos de Venda tem seu fonte com nome "MATA410";
  • Na integração de Pedido de Venda via XML, o fonte que trata a integração chama-se "MATI410";
  • Na integração de Pedido de venda via JSON o fonte que trata a integração chama-se  "MATI410O"

  • A movimentação do Estoque tem seu fonte com nome "MATA240";
  • Na integração da Movimentação via XML, o fonte que trata a integração chama-se "MATI241"
  • Na integração da Movimentação via JSON o fonte que trata a integração chama-se "MATI241JSON"
Expandir
titleExtrair Xml-Json Envio e Resposta

Para realizar os testes e analises de ocorrências envolvendo integração EAI, é necessário validar o Xml/Json de envio e de resposta, para extrair os arquivos para análise, realise os passos abaixo

Extraindo o XML do Protheus

:

  • Acesse o ambiente SIGACFG
, Menu
  • : Ambiente
-
  • > Schedule
- opção
Image Removed

Na integração do Software com o Protheus, são criados os arquivos de transações

:

.

  • Selecione o arquivo que integrou e para extrair clique na lupa Image Modified
 , ira apresentar as opções Image Removed escolha qual XML deseja extrair.

Visualizar mensagem Origem: XML que o Software envia para o Protheus.

  • . Será exibido as opções para extrair
    • ENVIO: Visualizar mensagem original: Xml/Json com os dados que o sistema tentou integrar;
    • RESPOSTA: Visualizar mensagem de resposta: Xml/Json com a resposta da tentativa de integração
Visualizar mensagem de Resposta: XML que o Protheus envia para o SoftwareImportante
    • .

Nota
title
Identificando o XML:

Através da

tag

Tag <Product> consegue visualizar o Software que esta recebendo ou enviando. Exemplo:

XML de envio (original): <Product version="12.1.18.0" name="RM"/>

XML de recebimento (resposta): <Product version="12" name="PROTHEUS"/>

Expandir
titleLog de Integração

Durante a análise de ocorrências no processo de integração, pode ser necessário gerar o Profile para analise das funções executadas ou do tempo de processamento.

Para gerar o Profiler no processo de integração é necessário:

  • Em seu appserver.ini na chave/bloco que carrega o nome do JOB do WebServices [JOB_WS_XXXX]
  • Inclua uma linha: "PROFILE=1" e depois salve o arquivo (Atalho: CTRL + S)

Bloco de código
titleProfile
[JOB_WS_9901]
TYPE=WEBEX
ENVIRONMENT=12.1.2310
INSTANCES=1,1
SIGAWEB=WS
INSTANCENAME=ws
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT
PREPAREIN=99,01
PROFILE=1            <-------- Insira essa chave
SECURITY=0
Aviso
titleImportante
  • Para desabilitar a geração do log, basta alterar para "PROFILE=0"


Ao integrar/tentar integrar, será gerado um arquivo .txt de log na pasta protheus > protheus_data > wsprofiler:

Image Added

Card
idIntegração Mensagem única
labelOutras Documentações
defaulttrue
effectDuration0.5
idTestes de Integrações via XML
labelConfiguração Web Services

Configurando Web Services

A configuração inicia-se habilitando o serviço HTTP e configurando a porta que todos os outros serviços dependentes deste irão utilizar para a publicação das informações:

  • Acesse o Wizard de configuração dos Serviços;
  • Em Servidor Internet (HTTP/FTP), verifique se o serviço de HTTP já existe, confirme se está habilitado e para qual porta está configurada. Pois estas são informações indispensáveis para o correto funcionamento dos WebServices e Portais.
  • Caso não tenha o Servidor Internet <HTTP> criado, é necessário seguir o procedimento abaixo:

Expandir
titleConfigurando HTTP/FTP
  • Realize o Download dos Arquivos de Portais (web_files) do Portal do Cliente
  • Inclua uma pasta web dentro da Protheus Data do Sistema e insira os web_files
  • Selecionar a opção: <HTTP> e clicar na barra superior <Editar> conforme exemplo
  • O sistema apresentará a tela para Configuração da Seçãoonde os principais campos são:
    1. Flag para Habilitar o Protocolo
    2. Path de Arquivos = Caminho da Pasta Web
    3. Ambiente = Nome do Ambiente
    4. Porta de Conexão = Porta de configuração dos Serviços

Dica
titleImportante

Na configuração da Seção, inserimos como exemplo a porta 92, porém ela pode ser alterada caso prefira.

Caso definida a porta padrão do serviço HTTP que é a 80, não é necessário especificá-la na configuração do WS e Portais.


Basta confirmar e gravar as configurações


Expandir
titleWS TOTVS Linha Protheus Web Services
  • Realize as configurações básicas, campos importantes:
    1. Módulo Web = WS - TOTVS Linha Protheus Web Services
    2. Nome da Instância = ws
    3. Diretório Raiz das Imagens (Web Path) = Diretório da Pasta Web onde o sistema irá criar a pasta "ws"
    4. Selecione o Environment = Nome do Ambiente
    5. Flag para habilitar processos na inicialização do Servidor

  • Realize a Configuração de Host x Empresas/Filiais, campos importantes:
    1. Host = Server e porta dos Web Services (Deve ser informada a porta informada na Configuração HTTP/FTP)
    2. Selecione a Empresa/Filial = Empresa e Filial de acesso (Para configuração Multifilial, consulte a respectiva aba)
    3. Clique em "Relacionar" e em "Avançar"

  •  Realize a Configuração de Usuários, onde irá definir o número mínimo e máximo de usuários para acesso

Finalizar e confirmar a configuração.


Após as configurações acima, o sistema irá inserir as informações de acesso aos Web Services no arquivo AppServer.ini do Protheus, verifique se as informações estão de acordo com o exemplo abaixo, caso não estejam realize ajustes (Lembrando que a Porta e o Nome do Ambiente serão os que preencheu durante a configuração):

Expandir
titleAppServer.ini

[HTTP]

ENABLE=1

PORT=81


[localhost:92/ws]

ENABLE=1

PATH=c:\seuambiente\Protheus_Data\web\ws

ENVIRONMENT=12.1.025

INSTANCENAME=ws

RESPONSEJOB=JOB_WS_9901

DEFAULTPAGE=wsindex.apw


[JOB_WS_9901]

TYPE=WEBEX

ENVIRONMENT=12.1.025                                         

INSTANCES=1,1

SIGAWEB=WS

INSTANCENAME=ws

ONSTART=__WSSTART

ONCONNECT=__WSCONNECT

LOGPROFILE = 0

PREPAREIN=99,01

SECURITY=0

Documentações para apoio:

EAI Protheus (framework)EAI Protheus
Treinamento Mensagem únicaTST0005 - Treinamento de Mensagem Única
Integrações Como realizar testes de Integrações (Mensagem Única)
Configuração WS
Dica
titleEXEMPLO

Veja o vídeo do processo de configuração dos Web Services: Configurando os Web Services

O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no Navegador do Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo e a qualidade será bem melhor.

A partir da release 12.1.33, torna-se obrigatório o uso da chave SECURITY = 0 na configuração dos WebServices no appserver.ini do AppServer:

https://tdn.totvs.com/

display/public/PROT/Configurar+Portais+e+Webservices
Framework - Configuração WSComo iniciar um servidor de Webservices no Protheus

x/aiErI

Aviso
titleAlerta de risco

Fique atento ao utilizar o parâmetro de configuração com a chave Security=0, pois isso fará com que as integrações (APIs) não exijam autenticação, consequentemente dados do seu ambiente poderão ser consultados sem qualquer controle de autorização.

Card
labelConfiguração do REST

Para realizar a integração EAI utilizando arquivos Json, é necessário ter um REST funcionando no ambiente.

Para configurar o REST siga as orientações do vídeo: Configuração do REST

Exemplo de configuração do REST: Exemplo de REST

card

Exemplo de XML para testes:

XML_TASKPROJECT
Card
defaulttrue
idIntegração Mensagem única
labelExemplos de XML
AdapterRotina Protheus/ IntegraçãoArquivo
CUSTOMERVENDORMATA030 / MATI030XML_CLIENTE
PROJECPMSA200 / PMSI200XML_PROJECT
SUBPROJECTPMSA201/ PMSI201XML_SUBPROJECT
STEPPROJECTPMSA201A/PMSI201AXML_STEPPROJECT
TASKPROJECTPMSA203/PMSI203
Configuração do SoapUI

SoapUI

O SOAPUI é uma ferramenta de mercado onde conseguimos simular o envio do Xml/Json na integração via Mensagem Única, simulando o envio de outros sistemas para o Protheus.
Ou seja, ao invés de termos que instalar o outro sistema e aprender como fazer o processo neles, nós pegamos um Xml/Json de modelo enviamos para o Protheus usando esta ferramenta.

Link para baixar o Soaphttps://www.soapui.org/downloads/latest-release/

Dica
titleEXEMPLO

Veja o vídeo do processo de configuração do SOAPUI: Configurando a ferramenta SoapUI

O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

Nota
titleImportante:

Caso a integração seja via arquivo Xml, a seguinte Tag deve ser acrescentada:

Bloco de código
titleTags SOAPUI
<![CDATA[

(XML Conteúdo que irá dentro da TAG)

]]>
Card
labelComo realizar testes?
Deck of Cards
idTestes
Card
labelTestes EAI (Xml)


Image Added

Deck of Cards
idTestes 2
Card
labelTeste de Recebimento (Xml)

Este teste permite testar o recebimento da Mensagem Única de outro sistema para o Protheus.

Para iniciar os testes é necessário que tenha realizado as etapas:

  1. Cadastro do Adapter
  2. De/Para de Empresas e Filiais
  3. De/Para de Mensagem Única (Se for o teste da rotina MATA410)
  4. Configurando os Web Services
  5. Configurando o SOAPUI


Simulação da integração:


Aviso
titleExemplos de XML

Exemplos de XML para testes de integração EAI:

Card
labelTeste de Envio (Xml)

Integração EAI Protheus (SIGAFAT) com destino à outros sistemas




Card
idIntegração Mensagem única
labelTestes EAI (JSON)

Image Added

Deck of Cards
idEAI Json
Card
labelTeste de Recebimento (Json)

Este teste permite testar o recebimento da Mensagem Única de outro sistema para o Protheus.

Para iniciar os testes é necessário que tenha realizado as etapas:

  1. Cadastro do Adapter
  2. De/Para de Empresas e Filiais
  3. Exemplo de REST
  4. Configuração do REST
  5. Configurando o SOAPUI


Dica
titleObservação
  • Caso seja necessário a utilização de um Json enviado pelo cliente no teste, é necessário criar um De/Para de Mensagem única para os códigos referenciados no cadastro
    Exemplo: Código de Vendedor no campo A1_VEND, é necessário criar um de/para de mensagem única usando o " VendorInformationInternalID" como "Valor Externo" e no "Valor interno" é preciso informar a empresa, a filial e o código do vendedor como neste exemplo.
Aviso
titleImportante
Card
idIntegração Mensagem única
labelTeste de Envio (Json)

Este teste permite testar o envio da Mensagem única do Protheus para outro sistema.

Para iniciar os testes é necessário que tenha realizado as etapas:

  1. Cadastro de Rotas EAI
  2. Cadastro do Adapter
  3. Cadastro do Schedule
  4. Cadastro do Agent
  5. Teste de Envio
Dica
titleSaiba mais