Oi Pessoal,
Suponha o seguinte problema:
No meio de um fluxo você precise tomar uma decisão, do tipo que, se um campo enviado em sua interface for '1' você precise seguir para um fluxo A,
e se for '0' você precise seguir para o fluxo B. Isso é um problema???
Para o Broker não, hoje vamos conhecer um novo Node do Broker, o Filter Node, que vai resolver esse problema.
Node

Conhecendo os Terminais
O Node Filter possui 5 terminais, sendo um de entrada e quatro de saída:
Entrada: in;
Saída: Failure, Unknown, False e True.
In: Entrada da mensagem que será processada pelo node.
Failure: Terminal no qual será encaminhada a mensagem em caso de falha no processamento do node.
Unknown: Terminal de saída para o qual a mensagem é encaminhada, se a expressão do filtro é avaliada como desconhecida ou o valor seja nulo.
False: Terminal de saída para qual o resultado da expressão do filtro seja falsa.
True: Terminal de saída para qual o resultado da expressão do filtro seja verdadeira.
Principais Propriedades do Node
Description:
Node Name - Nome do Node.
Short Description - Descrições básicas do node.
Basic:
DataSource - Nome do DataSource que as tabelas e funções desse node estão fazendo referência
Transaction - Automatic (Padrão): Em caso de falha, o fluxo será revertido, ou seja, se você escolher Automático, a capacidade de confirmar ou reverter a ação do nó de Filtro na base de dados depende do sucesso ou fracasso de todo o fluxo de mensagens.
Commit: Caso seu fluxo de algum tipo de falha, as alterações no banco de dados não serão comprometidas
Em caso de sucesso na passagem do node, as opções são indiferentes.
Treat warnings as errors - Caso selecionado, trata os alertas do banco de dados como erros e propaga para a saída de falha do compute. Caso não seja selecionada, o node trata os avisos como código de retorno normal e não gera exceções.
Throw exception on database error - Se Selecionado o Broker vai gerar uma exceção quando um erro de banco for detectado.
Exemplo de Fluxo:
Exemplo de Código ESQL para o Compute Filter:
CREATE FILTER MODULE NotificationResponse
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
IF(UPPER(root.XMLNSC.*:Retorno.*:codigo) = '0') THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END;
END MODULE;
Como mostrado, o Node Filter é muito fácil de ser utilizado e bem útil.
Dúvidas e Sugestões, deixe seu comentário!!
Suponha o seguinte problema:
No meio de um fluxo você precise tomar uma decisão, do tipo que, se um campo enviado em sua interface for '1' você precise seguir para um fluxo A,
e se for '0' você precise seguir para o fluxo B. Isso é um problema???
Para o Broker não, hoje vamos conhecer um novo Node do Broker, o Filter Node, que vai resolver esse problema.
Node

Conhecendo os Terminais
O Node Filter possui 5 terminais, sendo um de entrada e quatro de saída:
Entrada: in;
Saída: Failure, Unknown, False e True.
In: Entrada da mensagem que será processada pelo node.
Failure: Terminal no qual será encaminhada a mensagem em caso de falha no processamento do node.
Unknown: Terminal de saída para o qual a mensagem é encaminhada, se a expressão do filtro é avaliada como desconhecida ou o valor seja nulo.
False: Terminal de saída para qual o resultado da expressão do filtro seja falsa.
True: Terminal de saída para qual o resultado da expressão do filtro seja verdadeira.
Principais Propriedades do Node
Description:
Node Name - Nome do Node.
Short Description - Descrições básicas do node.
Basic:
DataSource - Nome do DataSource que as tabelas e funções desse node estão fazendo referência
Transaction - Automatic (Padrão): Em caso de falha, o fluxo será revertido, ou seja, se você escolher Automático, a capacidade de confirmar ou reverter a ação do nó de Filtro na base de dados depende do sucesso ou fracasso de todo o fluxo de mensagens.
Commit: Caso seu fluxo de algum tipo de falha, as alterações no banco de dados não serão comprometidas
Em caso de sucesso na passagem do node, as opções são indiferentes.
Treat warnings as errors - Caso selecionado, trata os alertas do banco de dados como erros e propaga para a saída de falha do compute. Caso não seja selecionada, o node trata os avisos como código de retorno normal e não gera exceções.
Throw exception on database error - Se Selecionado o Broker vai gerar uma exceção quando um erro de banco for detectado.
Exemplo de Fluxo:
CREATE FILTER MODULE NotificationResponse
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
IF(UPPER(root.XMLNSC.*:Retorno.*:codigo) = '0') THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END;
END MODULE;
Como mostrado, o Node Filter é muito fácil de ser utilizado e bem útil.
Lembrando que o Node Filter não tem o objetivo de transformação de mensagens como o Node Compute, pois o mesmo trata a árvore de maneira diferente.
Dúvidas e Sugestões, deixe seu comentário!!
Nenhum comentário:
Postar um comentário