Versões comparadas

Chave

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

Conteúdo

  1. O que é TOTVS Connector?
    1. TOTVS Connector Client
      1. Requisitos Mínimos de Instalação
      2. Requisitos de Ambiente / Infraestrutura 
    2. TOTVS Connector Server
  2. Integração com aplicações TOTVS e de terceiros
    1. Entidades 
      1. TOTVS Connector Server
        1. Client Environment 
        2. SchemaDefinition
      2. TOTVS Connector Client
        1. Product Connection (citar que o usuário do banco cadastrado no product connection, precisa de permissão para inserir, alterar e deletar, criar e alterar triggers e tabelas)Connection
        2. Product Connection SchemaProduct Connection Schema (citar que irá criar triggers no momento desse cadastro) 
        3. Modo Standalone
        4. External Event
    2. Mensagens
      1. FluxoEstrutura
      2. Entidade EventData
      3. Como enviar?(rabbit + api do External Event)
  3. Integração com TOTVS Carol
    1. Introdução 
    2. Entidades (explicar um pouco mais sobre a integração com a Carol e pensar em um diagrama para ilustrar)Entidades
    3. Autenticação
    4. Entidades
      1. Client Environment
      2. CarolUser
      3. CarolConnector
      4. CarolStagingTable
      5. EventDataCarol
    5. Mensagens
      1. Fluxo
      2. Entidade EventDataCarolRequest
      3. Como enviar?
  4. Observações
    1. Tempo de envio de dados

...

Para fins explicativos, suponha que existe um produto A, com um ambiente On Premise com banco de dados, TOTVS Connector Client e RabbitMQ instalados.

No modo standalone Com o standalone desabilitado, qualquer alteração de registros no banco de dados do produto A, o TOTVS Connector Client será notificado e enviará esses registros para o TOTVS Connector Server, que está no Cloud.

Com o standalone habilitado, o TOTVS Connector Client também enviará os registros do produto A para a instância do RabbitMQ, que também está no On Premise. Com isso, outros produtos que estão no On Premise, por exemplo os produtos B e C, poderão escutar uma fila na instância do RabbitMQ para receber esses mesmos registros. Além disso, é possível os produtos B e C, publicarem os registros no RabbitMQ. Assim, o TOTVS Connector Client irá ser notificado e processar processará os registros no banco de dados do produto A.

A seguir, é apresentado o diagrama do Modo Standalone:


Image Added


External Event

...

A seguir é apresentado o fluxo de mensagens das aplicações OnPremise On Premise / Nuvem Privada (Private Cloud) e Cloud, através do TOTVS Connector Server e Totvs Connector Client:


image.pngImage RemovedImage Added


Entidade EventData

...

Informações
titleExemplo de estrutura do EventData
{
"originApp"
: "nome_do_produto", "appVersion": "1", "schemaName": "PESSOA", "schemaVersion": "1", "action": "INSERT", "data": { }, "createdAt": "2000-01-01T00:00:00.335846Z", "token": "TOKEN_DO_CLIENTE_QUE_GEROU_O_DADO"

}

Como enviar?

Para enviar os dados via mensageria para o TOTVS Connector Server, deve-se enviar a entidade TOTVSMessage<T>. A entidade TOTVSMessage é uma classe da biblioteca TJF, que encapsula a mensagem a ser enviada por mensageria.

...

Informações
titleExemplo da estrutura final de envio via mensageria
{
"header": {
"type": "atributo_name_do_schemaDefinition",
"generatedOn": "2000-01-01T00:00:00.000000Z",
"locale": "pt_BR"
},
"content": {
      "originApp": "PESSOAS",
      "appVersion": "1",
      "schemaName": "PESSOA",
      "schemaVersion": "1",
      "action": "INSERT",
      "data": {
          "id": {
              "id": 1
          },
          "rg": "10.10.10.10",
          "cpf": "100.100.100/10",
          "nome": "FULANO",
          "originId": "HASH_GERADO_PELO_APP_DE_ORIGEM",
          "tipoSangue": "O-",
          "dataNascimento": "1950-01-01T00:00:00+00:00"
      },
      "createdAt": "2000-01-01T00:00:00.335846Z",
      "token": "TOKEN_DO_CLIENTE_QUE_GEROU_O_DADO"
}
}

03. Integração com TOTVS Carol

...

O diagrama a seguir apresenta o fluxo de dados para enviar à TOTVS Carol:


Image RemovedImage Added


Entidade EventDataCarolRequest

...