Versões comparadas

Chave

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

...

  • O atributo id é o identificador do registro;
  • O atributo idProductConnection é o id do registro da entidade ProducConnection;
  • O atributo idSchemaDefinition é o id do registro da entidade SchemaDefinition;
  • O atributo versionSchemaDefinition é a versão do SchemaDefinition relacionado. Este atributo não precisa ser passado para criar o relacionamento. Preenchido automaticamente;
  • O atributo nameSchemaDefinition é o nome do SchemaDefinition relacionado. Este atributo não precisa ser passado para criar o relacionamento. Preenchido automaticamente;
  • O atributo enableStandalone será explicado no tópico Modo Standalone;
  • O atributo enablePublishRemote será explicado no tópico Modo Publish Remote;


Informações
titleExemplo da estrutura da entidade ProductConnectionSchema

{
    "id": "39956f0f-341a-48c6-9c80-b5b3498e6899",
    "idProductConnection": "20fbd5a8-8ab4-4a16-8cc2-44702a36b8b1",
    "idSchemaDefinition": "8a14924d-7f93-4e2b-87af-c8622cd68859",

    "enablePublishRemote": "true",
    "enableStandalone": "

true

false",

    "versionSchemaDefinitoin": "não_precisa_de_valor",
    "nameSchemaDefinition": "não_precisa_de_valor"
}

Modo Standalone

Métodos de Publicação de Mensagens

Existem dois métodos de publicação de mensagens no TOTVS Connector Client, a publicação local (Standalone) e a publicação remota (PublishRemote). Esses métodos são configurados em dois níveis: TOTVS Connector Client e Product Connection Schema.

Nível TOTVS Connector Client:

Ao subir um TOTVS Connector Client, temos os dois parâmetros de publicação para definirmos se publicará mensagens localmente, remotamente (TOTVS Connector Server) ou em ambos, ou seja, um é independente do outro. Por padrão temos a publicação remota (PublishRemote) ativa e a publicação local (Standalone) desativa. Em um cenário com apenas um método de publicação ativo, como por exemplo o cenário padrão, o TOTVS Connector Client irá publicar somente de maneira remota, ou seja, mesmo que em nível de Product Connection Schema seja requerido a publicação local, não irá ser publicada a mensagem localmente.

Nível Product Connection Schema:

Tendo um cenário com os dois métodos de publicação ativos, ou seja, o TOTVS Connector Client não irá travar nenhum método de publicação, levamos em consideração outro filtro para fazer a publicação das mensagens. Esse filtro é sobre o relacionamento entre um SchemaDefinition e um Product Connection, sendo nesse ponto a definição de onde os dados gerados serão publicados, sendo feito por meio dos valores do enablePublishRemote e enableStandalone.

Modo Standalone

O Modo Standalone é uma forma de trabalhar apenas no ambiente OnPremise. Por exemplo, integrar dois ou mais produtos que estão em ambientes OnPremise/Nuvem Privada (Private Cloud). Para habilitar o Modo Standalone é preciso inicializar o TOTVS Connector Client O Modo Standalone é uma forma de trabalhar apenas no ambiente OnPremise. Por exemplo, integrar dois ou mais produtos que estão em ambientes OnPremise/Nuvem Privada (Private Cloud). Para habilitar o Modo Standalone é preciso inicializar o TOTVS Connector Client com o standalone ligado. Ao habilitar o standalone, o TOTVS Connector Client exigirá uma conexão com uma instância do RabbitMQ, instalada, por padrão, no mesmo ambiente. Uma vez definido o TOTVS Connector Client como standalone, deve-se habilitar o ProductConnectionSchema como standalone

Para fins explicativos, suponha que exista um produto A, com um ambiente OnPremise com banco de dados, TOTVS Connector Client e RabbitMQ instalados.Com o standalone desabilitado, qualquer alteração de registros no OnPremise com banco de dados do produto A, o TOTVS Connector Client será notificado e enviará estes registros para o TOTVS Connector Server, que está disposta em Cloud e RabbitMQ instalados.

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

Na representação seguinte, é apresentado o diagrama do Modo Standalone:



Publish Remote

Com o publishRemote habilitado, qualquer alteração de registros no banco de dados de um produto, irá notificar o TOTVS Connector Client para que faça o envio destes registros para o TOTVS Connector Server - que está disposta em Cloud - Fazendo com que essas alterações estejam disponíveis por uma fila do RabbitMQ para o algum outro produto que seja interessante tê-las.

External Event

Um ExternalEvent (ou Evento Externo, em Português), é um endpoint no TOTVS Connector Client que aceita mensagens via requisição HTTP POST, sendo possível enviar dados por aplicações que não possuem integração com o RabbitMQ. Este endpoint aceita apenas o envio de mensagens. Importante mencionar que não há um endpoint que seja possível recuperar mensagens. As mensagens somente são disponibilizadas no RabbitMQ (local) via modo standalone.

...