Índice:


Características do Requisito


Linha de Produto:

RM

Segmento:

FRAMEWORK

Módulo:

EAI 2.0


Descrição

     Efetuar a migração dos dados cadastrados nas tabelas de integração do EAI 1.0 para as tabelas do EAI 2.0.

Definições importantes
     É importante que um backup da base seja feito antes da execução desse processo.

Modelo de Solução


Abaixo será descrito as regras de negócio do conversor.

 Localização

O assistente de conversor deve ser chamado do caminho abaixo: Integração/Mensagem Única/Conversor EAI 2.0


Segurança:

Esse menu somente poderá ser executado após a liberação de um script de segurança para habilitação de um parâmetro interno do EAI.

Esse script deve ser gerado pelas equipes de segmentos.

Mensagens de conversão

Algumas mensagens aparecerão para o usuário nessa página do assistente. O usuário deverá selecionar a opção  "Continuar Conversão" para prosseguir com o processo.

Integrações disponíveis

Todas as integrações, com exceção das integrações inativas, aparecerão na grid.

O usuário deverá selecionar uma ou várias integrações a serem convertidas para o novo modelo de EAI.


Botão "Atualizar SourceApplication manualmente": Ao clicar nesse botão, aparecerá uma janela para o usuário informar o "Sistema Integrado" para ser pesquisado e o "SourceApplication" para ser atualizado dentre as integrações selecionadas.O preenchimento desse campos é obrigatório.


Botão "Atualizar SourceApplication automaticamente": Ao clicar nesse botão, o processo enviará uma mensagem de Whois para cada endereço de webServices cadastrado nas integrações selecionadas. O processo fará uma leitura na resposta dessa mensagem e buscará a informação de "SourceApplication". O valor desse atributo será usado para preencher o campo "SourceApplication" da tabela GEAIApp.


Opção "Importar fila de mensagens": Com essa opção marcada, todas as mensagens (síncronas e assíncronas) serão migradas para as novas tabelas de mensagens (GEAIMensagem / GEAIRotaMensagem / GEAIExecRotaMensagem);


Opção "Data Início das mensagens": Somente as mensagens com data de inclusão maior ou igual que o informado serão migradas.


Caso o usuário selecione uma "data de início de mensagens" maior que um mês (diferente do default), o sistema verificará se a quantidade de mensagens a serem importadas será maior que 1000 mensagens.

Caso positivo, aparecerá uma mensagem de inconsistência.



Na grid de integrações a serem convertidas, o usuário poderá selecionar a opção de alteração de "SourceApplication". Para isso, basta clicar na imagem de um lápis. Essa alteração será por integração.

Mapeamento de Informações (EAI 1.0 / 2.0)


Aplicativos

Tabela/Coluna EAI 1.0

Tabela/Coluna EAI 2.0

Regras


GEAIAPP.IDauto incremento

GEAIAPP.SOURCEAPPLICATION

O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois.

A mensagem de whois será enviada para cada endereço de webServices cadastrado nas integrações a serem convertidas.

HCINTEGRACAO.SISTEMAINTEGRADO

GEAIAPP.CODDPRODUTO



GEAIAPP.NOME

Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION

O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois.


GEAIAPP.DESCRICAO

Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION

O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois

HCINTEGRACAO.WSURL

GEAIAPP.URLWSDLEXTERNO


HCINTEGRACAO.WSUSUARIO

GEAIAPP.USRWSDLEXTERNO


HCINTEGRACAO.WSSENHA

GEAIAPP.PASSWSDLEXTERNO


HCINTEGRACAO.RMCOLIGADAONPROTHEUSGEAIAPP.RMCOLIGADAONPROTHEUS


Não poderá existir mais de um aplicativo com o mesmo "SourceApplication" / "CodProduto".
A partir de agora o RM poderá integrar com mais de um aplicativo "Protheus" desde que os mesmos possuem SourceApplications diferentes.

Transação

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras

GEAITRANSACAO.IDAuto incremento
HCTRANSFORMACAO.TRANSACTIONIDGEAITRANSACAO.TRANSACAO

GEAITRANSACAO.MODOSUPORTADO

1 - Envio
HCTRANSFORMACAO.XSLTSAIDA diferente de vazio
HCTRANSFORMACAO.XSLTENTREDA vazio

2 - Recebimento
HCTRANSFORMACAO.XSLTSAIDA vazio
HCTRANSFORMACAO.XSLTENTREDA diferente de vazio

3 - Ambos
HCTRANSFORMACAO.XSLTSAIDA diferente de vazio
HCTRANSFORMACAO.XSLTENTREDA diferente de vazio


GEAITRANSACAO.SYNCASYNCENVIO

Será gravado o valor "0 - Sincrono".
No EAI 1.0 RM não deve existir mensagens assincronas, pois o mesmo não foi projetadopara enviar
/receber esse tipo de mensagem. Somente mensagens com características de "falso assíncrono" que será detalhado nesse mesmo documento.


GEAITRANSACAO.PERMITERECASYNC

Será gravado o valor "0 - Não permite"
O EAI 1.0 não está preparado para envio/recebimento assíncrono


GEAITRANSACAO.EXECVIAJOB

Esse campo definirá se as mensagens de envio (nas transações em questão) serão executadas via Job ou imediatamente na chamada do método.

Esse campo foi criado para resolver a situação do "falso assíncrono". Algumas mensagens são enviadas para o EAI 1.0 com o tipo de entrega assíncrono. Porém, essas mensagens , no momento de execução pelo Job, são enviadas para outro aplicativo com o tipo entrega "sincrono".

Abaixo serão listadas essas transações com esse comportamento:
DEVICEEQUIPMENTAPPOINTMENT
DEVICETASKSAPPOINTMENT
DEVICETRANSPORTCYCLEAPPOINTMENT
LABORDEVICETASKSAPPOINTMENT

Transação / Versão

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCMAPAINTEGRACAO.VERSAOMENSAGEMGEAITRANSACAOVERSAO.VERSAO
HCMAPAINTEGRACAO.ENTIDADEGEAITRANSACAOVERSAO.IDTRANSACAOO campo identificação da transação será buscado da tabela GEAITransacao

Transação / Aplicativo (rotas)

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras

HCMAPAINTEGRACAO.IDINTEGRACAO
HCINTEGRACAO.SISTEMAINTEGRADO

GEAITRANSACAOAPP.IDAPPO identificador do App será buscado da tabela GEAIApp
HCMAPAINTEGRACAO.ENTIDADEGEAITRANSACAOAPP.IDTRANSACAOO campo identificação da transação será buscado da tabela GEAITransacao
HCMAPAINTEGRACAO.VERSAOMENSAGEMGEAITRANSACAOAPP.IDTRANSACAO

GEAITRANSACAOAPP.IDSOURCECODE Identificador do código fonte (GSourceCode)

GEAITRANSACAOAPP.INCLUIMENSAGEMORIGINALSerá gravado o valor 1. Por default, a mensagem original sempre será incluída na mensagem de resposta

GEAITRANSACAOAPP.MODOHABILITADOO valor será copiado da transação (GEAITRANSACAO.MODOSUPORTADO)

Não será permitido o mapeamento entre um aplicativo e uma transação em versões diferentes.
Ex: A transação "COSTCENTER" poderá ser mapeada para o aplicativo "Protheus/Enviromment" somente na versão 1.000.

Os códigos fontes cadastrados na tabela GSourceCode e mapeados na tabela "HCMapaTransacao.Extensions" não serão migrados para tabela GEAITransacaoApp.IdSourceCode. No EAI 2.0 esse campo será usado exclusivamente para armazenar códigos customizados feitos pelo cliente/customização.

Ex: Transação mapeada para mais de um um aplicativo:
O RM ao enviar uma mensagem dessa transação, a mesma poderá ser enviada somente em caso assíncrono.
O RM ao receber uma mensagem, os atributos "SourceApplication" e "ProductCode" do xml TotvsMessage serão recuperados e usados para localizar o aplicativo correto.

Pacote de instalação


Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCINTEGRACAO.NOMEINTEGRACAOGEAIPACOTEINSTALADO.NOMEPACOTE
HCINTEGRACAO.NOMEREDUZIDOGEAIPACOTEINSTALADO.NOMEREDUZIDO

GEAIPACOTEINSTALADO.IDNovo Guid
HCINTEGRACAO.SISTEMAINTEGRADOGEAIPACOTEINSTALADO.APPIDO valor do campo "SistemaIntegrado" será usado para buscar o AppId da tabela GEAIApp

De/Para

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCINTEGRACAOID.TABELARMGEAIDEPARA.TABELARM
HCINTEGRACAOID.IDNOMERMGEAIDEPARA.CAMPOSRM
HCINTEGRACAOID.IDVALORRMGEAIDEPARA.VALORRM
HCINTEGRACAOID.SISTEMAINTEGRADOGEAIDEPARA.IDAPP
HCINTEGRACAOID.IDENTIDADEGEAIDEPARA.TRANSACAO
HCINTEGRACAOID.IDINTEGRACAOGEAIDEPARA.VALOREXTERNO 

Mensagem

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCFILAMENSAGEM.UUIDGEAIMENSAGEM.UUID
HCFILAMENSAGEM.TIPOENTREGAGEAIMENSAGEM.TIPOENTREGA
HCFILAMENSAGEM.ENTRADASAIDAGEAIMENSAGEM.ENTRADASAIDA
HCFILAMENSAGEM.EVENTOMENSAGEMGEAIMENSAGEM.EVENTO
HCFILAMENSAGEM.TIPOMENSAGEMGEAIMENSAGEM.TIPO
HCFILAMENSAGEM.TRANSACTIONIDGEAIMENSAGEM.IDTRANSACAO
HCFILAMENSAGEM.MENSAGEMORIGINALGEAIMENSAGEM.XMLORIGINAL
HCFILAMENSAGEM.STATUSPROCESSAMENTO
Essa coluna foi descontinuada
HCFILAMENSAGEM.VERSAOMENSAGEM
A versão da mensagem foi criada na tabela de Rotas
HCFILAMENSAGEM.DATAINCLUSAOGEAIMENSAGEM.DATAMSGORIGINAL
HCFILAMENSAGEM.IDINTEGRACAO
Essa coluna foi descontinuada
HCFILAMENSAGEM.CODCOLIGADA
Essa coluna foi descontinuada
HCFILAMENSAGEM.CODFILIAL
Essa coluna foi descontinuada
HCFILAMENSAGEM..CODUSUARIO
Essa coluna foi descontinuada
HCFILAMENSAGEM.MENSAGEMRECIBO
Essa coluna foi descontinuada
HCFILAMENSAGEM.NOMEPRODUTO
Essa coluna foi descontinuada

Rotas da Mensagens

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCFILAMENSAGEM.VERSAOMENSAGEMGEAIROTAMENSAGEM.VERSAO
HCFILAMENSAGEM.IDINTEGRACAOGEAIROTAMENSAGEM.IDAPPNessa coluna será grava não mais o identificador do pacote de integração, mas sim o aplicativo

Execução da rota da Mensagem

Tabela/Coluna EAI 1.0Tabela/Coluna EAI 2.0Regras
HCFILAEXECUCAO.DATAEXECUCAOGEAIEXECROTAMENS.DATAEXECUCAO 
HCFILAEXECUCAO.MENSAGEMTRANSFORAMDAGEAIEXECROTAMENS.XMLMENSTRANSFORMADA
HCFILAEXECUCAO.CODIGOEXECUCAOGEAIEXECROTAMENS.CODIGOEXECUCAO 
HCFILAEXECUCAO.STATUSEXECUCAOGEAIEXECROTAMENS.STATUSEXECUCAO
HCFILAEXECUCAO.MENSAGEMEXECUCAOGEAIEXECROTAMENS.MENSAGEMEXECUCAO
HCFILAEXECUCAO.UUID
Essa coluna foi descontinuada
HCFILAEXECUCAO.SEQUENCIA
Essa coluna foi descontinuada
HCFILAEXECUCAO.MENSAGEMRESPOSTA
Essa coluna foi descontinuada
HCFILAEXECUCAO.TIPOEXECUCAO
Essa coluna foi descontinuada

Migração das mensagens

  • Todas as mensagens executadas com erros, síncronas ou assíncronas, serão migradas para a nova tabela de mensagens;
  • Mensagens assíncronas, com menos de 5 tentativas de execução,  será criado um job responsável em executá-las;
  • Mensagens de envio "assíncronas" serão tratadas como "falso assíncrono", ou seja, elas serão migradas como "síncronas" mais processadas pelo Job;
  • Segue abaixo a lista de transações contempladas pelo recurso de falso assíncrono:

DEVICEEQUIPMENTAPPOINTMENT
DEVICETASKSAPPOINTMENT
DEVICETRANSPORTCYCLEAPPOINTMENT
LABORDEVICETASKSAPPOINTMENT