Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
NOME

OME DO REQUISITO

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.

1) - Localização 

O assistente de conversor deve ser chamado do caminho abaixo: 

Integração/Mensagem Única/Conversor EAI 2.0

 

Informações
titleSeguranç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.

 

2) - Opções do assistente de conversão 

a) - Tipo de execução

 

Converter para o EAI 2.0:

-Efetua a migração dos dados do EAI 1.0 para as tabelas do EAI 2.0. 

-O EAI 2

.

0 ficará travado até a execução do conversor com a opção "Liberar utilização do EAI 2.0".

-Durante esse período, tanto o EAI 1.0 quanto o EAI 2.0 ficarão fora de operação.

 

Liberar utilização do EAI 2.0

Libera a utilização do EAI 2.0. A partir desse momento todas as mensagens recebidas e enviadas serão processadas pelo EI 2.0.

 

Voltar para o EAI 1.0

 Exclui todas as linhas geradas nas tabelas do EAI 2.0 e volta para o EAI 1.0.

Image Removed

b) -

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.

c) -

Integrações disponíveis

Todas as integrações, com exceção das integrações inativas,  (cadastradas na tabela HCIntegracao) aparecerão na grid.

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

 
Opção "BuscarAtualizar SourceApplication via webServices (whois)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.

 

Image Added
 
Opção "Atualizar SourceApplication automaticamente":

      Com essa opção marcadaAo 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.

Informações

    Caso essa opção não seja marcada, o usuário poderá informar o SourceApplication manualmente, clicando na coluna de edição.

Image Removed

 

 

Opção "Importa mensagens com erro":

    Com essa opção marcada, todas as mensagens (síncronas e ou assíncronas) que não foram executadas com sucesso,  serão migradas para a nova tabela de mensagens (GEAIMensagem / GEAIRotaMensagem);

Opção "Importa mensagens com execução bem sucedida": 

   Com essa opção marcada, mesmo as mensagens com execução bem sucedida serão importadas.

 

Opção "Data Início das mensagens":

Somente as mensagens com data de inclusão maior que o informado serão migradas..

Informações

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.

Caso positivo, aparecerá uma mensagem de erro.

 

Image Added

 

Informações

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.

 Image Removed

3) - 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.0

Tabela/Coluna EAI 2.0

Regras

 GEAITRANSACAO.IDAuto incremento

HCTRANSFORMACAO.TRANSACTIONID

GEAITRANSACAO.TRANSACAO

 

 

HCTRANSFORMACAO.DESCRICAO

GEAITRANSACAO.DESCRICAO

 

 

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.0

Tabela/Coluna EAI 2.0

Regras

HCMAPAINTEGRACAO.VERSAOMENSAGEM

GEAITRANSACAOVERSAO.VERSAO

 

 

HCMAPAINTEGRACAO.ENTIDADE

GEAITRANSACAOVERSAO.IDTRANSACAO

 O campo identificação da transação será buscado da tabela GEAITransacao.

 

 

 

 

Transação / Aplicativo (rotas)

 

Tabela/Coluna EAI 1.0

Tabela/Coluna EAI 2.0

Regras

HCMAPAINTEGRACAO.IDINTEGRACAO

HCINTEGRACAO.SISTEMAINTEGRADO

GEAITRANSACAOAPP.IDAPP

 

O identificador do App será buscado da tabela GEAIApp.

HCMAPAINTEGRACAO.ENTIDADE

GEAITRANSACAOAPP.IDTRANSACAO

 O campo identificação da transação será buscado da tabela GEAITransacao.

HCMAPAINTEGRACAO.VERSAOMENSAGEM

GEAITRANSACAOAPP.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.0

Tabela/Coluna EAI 2.0

Regras

HCINTEGRACAO.NOMEINTEGRACAO

GEAIPACOTEINSTALADO.NOMEPACOTE

 

 

HCINTEGRACAO.NOMEREDUZIDO

GEAIPACOTEINSTALADO.NOMEREDUZIDO

 

 

GEAIPACOTEINSTALADO.ID

Novo Guid

HCINTEGRACAO.SISTEMAINTEGRADO

GEAIPACOTEINSTALADO.APPID

O valor do campo "SistemaIntegrado" será usado para buscar o AppId da tabela GEAIApp.

 

 

 

 

4) - Atualização das informações de DE/PARA

  • A chave primária da tabela "HCINTEGRACAOID" foi removida;
  • Foi criada nessa tabela a coluna "APPID" para armazenar o identificador do aplicativo responsável pela inclusão/atualização do

    De/Para

    ;
    • Ex: O centro de custo do RM 001, no protheus/Produção  possuirá o externalId 1|001 e no Protheus/Homologação o externalId 0007.
  • A coluna "SistemaIntegrado" dessa tabela  não será mais usada. A mesma não será removida para questões de histórico.
  •  

    A coluna AppId será atualizada de acordo com o campo "SistemaIntegrado".

    Tabela/Coluna EAI 1.0

    Tabela/Coluna EAI 2.0

    Regras

    HCINTEGRACAOID.TABELARM

    GEAIDEPARA.TABELARM

     

     

    HCINTEGRACAOID.IDNOMERM

    GEAIDEPARA.CAMPOSRM

     

    HCINTEGRACAOID.IDVALORRM

    GEAIDEPARA.VALORRM

     

    HCINTEGRACAOID.SISTEMAINTEGRADO

    GEAIDEPARA.IDAPP

     

    HCINTEGRACAOID.IDENTIDADEGEAIDEPARA.TRANSACAO 
    HCINTEGRACAOID.IDINTEGRACAOGEAIDEPARA.VALOREXTERNO
     

    5) - Migração das mensagens

    • Todas as mensagens executadas com erros, síncronas ou assíncronas, serão migradas para a nova tabela de mensagens;
    • Em se tratando de mensagens assíncronas, sem execução bem sucedidaMensagens 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" 
      (essas serão processas pelo Job  (da mesma forma que uma mensagem assíncrona) porém serão enviadas para o aplicativo destino como uma mensagem síncrona);
      • Segue abaixo a lista de transações contempladas pelo recurso de falso assíncrono:

        DEVICEEQUIPMENTAPPOINTMENT
        DEVICETASKSAPPOINTMENT
        DEVICETRANSPORTCYCLEAPPOINTMENT
        LABORDEVICETASKSAPPOINTMENT