Mensagens em Tempo Real
O sistema suporta o recurso de realizar chamadas de serviço Web, isto é, enviar mensagens em tempo real a um sistema externo.
O sistema é compatível com a funcionalidade especial para o envio de uma mensagem de E-mail em tempo real. Para obter mais informações, consulte Enviando E-Mail.
Para outros tipos de mensagem em tempo real, o sistema também usa o tipo de mensagem de saída e a configuração do sistema externo para formatação e encaminhamento. Na configuração de mensagens em tempo real, uma etapa adicional é necessária para definir o mecanismo de encaminhamento da mensagem por meio de um remetente. O sistema é compatível com o encaminhamento de mensagens via HTTP e via JMS. Note que, no caso do encaminhamento HTTP, o sistema também é compatível com o envio da mensagem em um formato JSON.
Assim como nas mensagens em tempo quase real, o envio de uma mensagem de saída em tempo real também pode ser feito a partir de um script. Quando uma mensagem em tempo real é adicionada, o sistema imediatamente a encaminha ao sistema externo. Se o sistema externo tiver fornecido uma mensagem de retorno, o sistema capturará a resposta na mensagem de saída. Se o tipo de mensagem de saída do sistema externo for associado a um XSL de resposta, ele será aplicado para transformar a resposta. Nesse caso, o sistema capturará a resposta bruta e também a mensagem de saída. Note que o objeto de negócios de mensagem de saída precisa ser configurado para capturar um XML de resposta em seu esquema.
Qualquer erro (que pode ser capturado) faz a mensagem de saída ficar em um estado de Erro. É de responsabilidade do processo de chamada verificar o estado da mensagem de saída e executar uma ação programática. Quando o estado da mensagem de saída for alterado de volta para Pendente, a mensagem será recuperada.
O pacote-base contém dois serviços de negócios: Despachador de Mensagem de Saída (F1-OutmsgDispatcher) e Mediador de Mensagem de Saída (F1-OutmsgMediator) para facilitar ainda mais a realização de chamadas ao serviço Web. Ambos os serviços de negócios são semelhantes e permitem que o script da chamada configure o seguinte comportamento (com as diferenças destacadas):
- Se as exceções encontradas durante o envio da mensagem foram ou não capturadas. A captura de erros permite que o script de chamada interrogue quaisquer erros encontrados e execute alguma outra ação programática.
- Se a mensagem enviada é mantida como um registro de mensagem de saída real.
-
Se uma mensagem persistente for desejada, recomenda-se usar o Despachador da Mensagem de Saída. O serviço de negócios cria a mensagem usando o processamento padrão do Objeto de Negócios, dependendo da lógica da mensagem de saída para rotear a mensagem e armazenar o registro. A mensagem é roteada após o algoritmo de pré-processamento do Objeto de Negócios e depois que o registro for persistido, mas antes do pós-processamento do Objeto de Negócios e da execução dos plug-ins de auditoria. Se você precisar enviar o ID da mensagem de saída como parte da mensagem, consulte Capturando o ID da Mensagem de Saída na Mensagem para obter mais informações.
-
Caso a mensagem não deva ser persistida, recomenda-se utilizar o Mediador de Mensagem de Saída. Conforme mencionado, o Despachador da Mensagem de Saída cria o registro da mensagem de saída, dependendo da lógica da mensagem de saída para rotear a mensagem. Caso ela deva ser persistida, será subsequentemente deletada. Por outro lado, o Mediador da Mensagem de Saída executa os algoritmos de pré-processamento do Objeto de Negócios e depois roteia a mensagem diretamente, sem criar um registro da mensagem. Ele é mais eficiente em cenários que não necessitam de persistência. Observe que o Mediador da Mensagem de Saída também é compatível com a persistência, mas faz isso criando os registros sem utilizar o processamento do Objeto de Negócios. Isso não é recomendável. O Despachador é uma opção melhor caso a persistência seja desejada.
-
Para obter mais informações, consulte as descrições dos dois serviços de negócios.