Versões comparadas

Chave

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

Introdução

Este documento descreve o modelo base de mensagem para uso na comunicação entre microsserviços dentro do contexto do aplicativo/solução.

Este modelo não se aplica nos casos onde é necessário interagir com aplicações externas (fora do contexto de execução das aplicações TOTVS).

Descrição do modelo

As mensagens geradas pelos microsserviços devem estar no formato JSON e ser semelhantes ao exemplo abaixo:

Bloco de código
languagejs
{
	"header": {
		"tenantId": "12345678-1234-1234-1234-123456789012",
		"type": "ClientCreated",
		"generatedOn": "2019-07-05T15:00:00.123456-03:00",
		"processInfo": {
			"activityId": "87654321-4321-4321-4321-210987654321",
			"taskId": "11111111-2222-3333-4444-555555555555",
			"roles": ["role1","role2"],
			"assignee": "assignee_name",
			"planItemId": "99999999-8888-7777-6666-555555555555"
		}
	}, 
	"content": {
	}
}

A mensagem deve estar dividida em duas partes. A primeira parte - atributo header - conterá informações de controle da mensagem. Segue descrição dos atributos:

AtributoObrigatório?Descrição
tenantIdSContem a identificação do cliente/instalação. Sugere-se que seja um identificador do tipo GUID e que o tenantID seja gerado pelo responsável pela autenticação dos microsserviços.
typeS

Indica o evento ou comando contido na mensagem.

Para manter a consistência dos valores informados neste atributo, será utilizado o formato UpperCamelCase (ou Pascal Case).

generatedOnSTimestamp (data e hora) de geração da mensagem, seguindo o formato definido no Guia de Implementação de APIs.
processInfoN

Contem atributos que serão usados no contexto de orquestração de serviços. Dependendo do tipo de workflow escolhido, pode-se ter preenchido um dos atributos abaixo:

  • activityId: código da atividade. Sugere-se que seja um GUID.
  • taskId: código da tarefa. Sugere-se que seja um GUID.
  • planItemId: código do item do plano. Recomenda-se que seja um GUID.


Informações
titleAtributos associados ao taskId

Quando for usado um código de tarefa (taskId), será necessário informar também um dos dois atributos abaixo, para uso pelo orquestrador:

  • roles: lista com os papeis que podem executar a tarefa identificada pelo taskId.
  • assignee: código ou nome do responsável pela execução da tarefa identificada pelo taskId.

A segunda parte - atributo content -  será o conteúdo da mensagem propriamente dito. Sua estrutura depende de como o evento ou comando foi modelado pela área de negócio, por isso, sua estrutura não será detalhada neste documento.

Referências

Guia de implementação de API V2.0

Forum do Ryver sobre mensageria (team microsserviços)


Propriedades de página
Elaboração

 

Apresentação

 

Homologação

 

Issue JIRA

Jira
serverTotvs
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDTTALK1-113


Índice