O que é?
É um programa cuja finalidade é entregar as mensagens geradas pelo MDM (Carol) para os ERPs de destino, utilizando a técnica de pull.
Como funciona?
O TOTVS Agent executa como um serviço (sem tela), e conecta-se às filas do MDM para as quais foi configurado. Periodicamente, o TOTVS Agent verifica se há alguma mensagem na fila, fazendo a entrega do conteúdo ao ERP designado nas configurações. Para se conectar ao MDM, é necessário que a máquina onde o TOTVS Agent estiver rodando tenha acesso à internet.
Usando a técnica de pull, que basicamente consiste em buscar as mensagens, em vez de recebê-las, tanto o TOTVS Agent quanto os ERPs permanecem protegidos pela infraestrutura de rede do cliente, sem que seja necessário expor servidores para a Internet.
Como instalar?
O TOTVS Agent é composto de um executável Windows (TOTVSAgent.exe) e suas dependências, que cujo pacote pode ser baixados deste link (TOTVS Agent.zip).
O pacote pode ser descompactado em qualquer pasta, mas todos os arquivos nele contidos devem ser mantidos na mesma pasta.
É extremamente recomendável que o TOTVS Agent seja instalado como um serviço do Windows. Para isso, deve-se executar o programa Instalar TOTVSAgent.bat, que se encontra no pacote do programa. O serviço será instalado com nome TOTVS Agent e tipo de inicialização Manual.
Caso seja necessário desinstalar o TOTVS Agent da lista de serviços do Windows, pode-se utilizar o programa Desinstalar TOTVSAgent.bat, também disponível no pacote.
Como configurar?
Para configurar o TOTVS Agent, é necessário editar o arquivo TOTVSAgent.config, que deve estar na mesma pasta do executável. Esse arquivo está organizado no formato JSON, logo sua edição deve respeitar as convenções esperadas para este formato.
A estrutura geral do arquivo é a seguinte:
- StandardMessage:
- Conexão 1
- Conexão 2
- ...
- Conexão N
- Parâmetros
A seguir, detalharemos cada uma das partes:
- StandardMessage: é um array JSON contendo uma ou mais conexões. Para cada conexão, deve-se informar os seguintes atributos:
- Active: indica se a conexão está ativa ou não. É possível ter mais de uma conexão ativa. Os valores aceitos são true ou false.
- ERPApp: é o identificador do aplicativo de EAI configurado no ERP.
- ERPProduct: nome do produto.
- ERPCompany: código da empresa do ERP configurada para integrar com o MDM.
- ERPEndPoint: URL do webservice de recebimento de mensagens padronizadas disponibilizado pelo ERP.
- ERPUsername: usuário para autenticar no webservice de recebimento.
- ERPPassword: senha para autenticar no webservice de recebimento.
- CarolAIEndPointBase: URL base dos serviços REST para consultar e atualizar a fila de mensagens disponibilizado no MDM (Carol).
- CarolAIUsername: usuário para autenticar no serviço de fila de mensagens.
- CarolAIPassword: senha para autenticar no serviço de fila de mensagens.
- Transactions: é um array JSON contendo as transações que serão recuperadas da fila do MDM. Cada transação é composta dos seguintes atributos:
- Active: indica se a transação está ativa, ou seja, se será recuperada do MDM. Os valores aceitos são true ou false.
- TransactionID: Identificador da transação.
- Version: Versão da transação.
- Parâmetros: corresponde aos seguintes atributos:
- StandardMessageFolder: URL ou pasta contendo os arquivos XSD que descrevem a estrutura das transações. O padrão é "http://api.totvs.com.br/MsgUnica/bo/".
- TimeOut: quantidade de tempo, em milissegundos, que o TOTVS Agent aguardará para recuperar uma transação da fila, assim que uma conexão for estabelecida. Após terminado este intervalo de tempo, será gerado erro de timeout.
- CheckInterval: quantidade de tempo, em milissegundos, que o TOTVS Agent aguardará entre uma conexão com o MDM e outra.
Abaixo, segue um exemplo de arquivo de configuração:
{
"StandardMessage":[
{
"Active": false,
"ERPApp":"Protheus",
"ERPProduct":"Protheus",
"ERPCompanyID":"1",
"ERPEndPoint":"http://localhost:8004/ws/EAIService.apw?WSDL",
"ERPUsername":"admin",
"ERPPassword":"",
"CarolAIEndPointBase":"https://abc.carol.ai/api/v1/totvssm/",
"CarolAIUsername":"abc\\protheus\\[email protected]",
"CarolAIPassword":"abc123",
"Transactions":[
{
"Active": true,
"TransactionID":"CustomerVendor",
"Version":"2.003"
},
{
"Active": true,
"TransactionID":"Item",
"Version":"2.001"
},
{
"Active": true,
"TransactionID":"UnitOfMeasure",
"Version":"2.000"
}
]
},
{
"Active": true,
"ERPApp":"RM",
"ERPProduct":"RM",
"ERPEndPoint":"http://localhost:8051/EAIService/IConWSEAIService",
"ERPUsername":"admin",
"ERPPassword":"admin",
"ERPCompanyID":"1",
"CarolAIEndPointBase":"https://abc.carol.ai/api/v1/totvssm/",
"CarolAIUsername":"abc\\rm\\[email protected]",
"CarolAIPassword":"abc123",
"Transactions":[
{
"Active": true,
"TransactionID":"CustomerVendor",
"Version":"2.003"
},
{
"Active": true,
"TransactionID":"CostCenter",
"Version":"2.000"
},
{
"Active": true,
"TransactionID":"Item",
"Version":"2.001"
},
{
"Active": true,
"TransactionID":"UnitOfMeasure",
"Version":"2.000"
}
]
}
],
"StandardMessageFolder":"http://api.totvs.com.br/MsgUnica/bo/",
"TimeOut":600000,
"CheckInterval":120000
}