DEV Community

Liz Vidotti
Liz Vidotti

Posted on

Introdução ao Business Rules Engine

Este conjunto de componentes, objetos e serviços é utilizado para desenhar regras de negócio que irão compor processos de negócio automatizados em um fluxo de trabalho. O Business Rule Engine (BRE) é capaz de fazer cálculos e pesquisas complexas.

O BRE está disponível para o Flow e o Omnistudio nas nuvens de Industries. Também é possível integrar APIs com fluxos de trabalhos criados a partir de ferramentas de terceiros ou customizadas, como códigos Apex. O fluxo de trabalho criado passa os dados necessários para acionar o BRE e este retorna os dados para o fluxo.

Image description

Os componentes chave do BRE são:

  • Expressions sets;
  • Lookup tables;
    • Decision matrices;
    • Decision tables.

Como o BRE interage com as ferramentas de fluxo de trabalho?

  • Flow Os componentes do BRE (decision matrices, decision tables e expression sets) estão disponíveis através de componentes de ação no Flow. As decision tables podem ser acionadas a partir de um expression set ou diretamente através do Flow.
  • OmniStudio Os Expression Sets e Decision matrices estão disponíveis através de elementos de ação nas Integration Procedures e Omniscripts.
  • Ferramentas customizadas ou de terceiros Podemos utilizar as Connect APIs para acionar as Expression sets e as Lookup tables através dos fluxos de trabalhos criados com estas ferramentas.

Expression Set

Consiste num fluxo lógico, dividido em diversos passos, construído com variáveis, constantes, condições, cálculos, pesquisas, etc.

Os dados de entrada e de saída são em formato JSON. Assim como a ferramenta Flow, podemos criar diversas versões do mesmo Expression Set. Ao criar uma nova versão, devemos informar a data e hora de início e o Rank. Duas versões diferentes podem estar ativas, e o fluxo que será acionado será com o de maior data e hora de início e maior Rank.

  • Variáveis e constantes: são usadas para armazenar valores dinâmicos no fluxo. Ele pode ser usado para armazenar informações dos valores de entrada e saída, além de valores que precisam passar de uma etapa a outra no mesmo fluxo;
  • Variáveis de objeto: para trabalhar com valores dos campos de um objeto Salesforce, devemos configurar aliases para os objetos e os campos. Eles estão disponíveis para criação no menu de configuração e podem ser categorizados;
  • Tipos de dados: os tipos de dados que podem ser utilizados em um expression set podem ser
    • Text;
    • Number;
    • Percent;
    • Currency;
    • Date;
    • Date & Time;
    • Boolean;
  • Operadores e funções: podemos utilizar operadores lógicos, de comparação, matemáticos e de string, além de funções de data e numéricas.

Decision Explainer

Podemos utilizar este serviço para mostrar ao usuário explicações de cada etapa do Expression Set, e para armazenar logs de ação.

As mensagens explicativas devem ser configuradas como templates, no menu de configurações (Explainability templates). Por sua vez, os templates devem ser adicionadas em cada etapa desejada do seu Expression Set.

Quando você utiliza o simulador do Expression Set para os testes, você poderá ver as mensagens na opção Concise View.

Decision Matrix

Com base no(s) valor(es) de entrada, recebemos o valor de saída correspondente da linha da tabela. Ela é útil para implementar regras complexas de uma maneira sistemática e de fácil leitura. Os dados de entrada e saída são no formato JSON.

Decision Table

Com base no(s) valor(es) de entrada, recebemos o(s) valor(es) de saída. Os valores de saída podem ser com base com os valores especificados na tabela, ou com base nos registros do Salesforce.

Na criação de uma decision table, devemos escolher o objeto de origem, e até quatro objetos relacionados ao objeto de origem. Os objetos relacionados devem estar até três níveis adjacentes do objeto de origem.

Fonte: Documentação oficial: Business Rule Engine

Top comments (0)