有关WSO2 SP业务规则管理器的所有信息

作为我在WSO2实习的第一个项目,我有机会从事WSO2流处理器4的业务规则管理器的工作。

在流处理中,我们遇到了以下场景:从接收数据,通过发送数据,对其进行处理(可选地进行存储),最后将其发送到接收以便发布到端点。

例如,我们将消耗来自外部Kafka来源 的温度传感器的读数 ,对其进行处理以识别温度是否高于20℃,并针对此类事件发送电子邮件警报

使用WSO2流处理器完成流处理后,我们将使用Siddhi处理这些事件。 我们编写Siddhi应用程序并进行部署,以执行它们各自的流处理任务。

什么是业务规则管理器?

对于业务用例,在处理流中的数据时可能涉及一个或有时涉及许多Siddhi应用程序。 当这些业务用例的需求发生变化时,可以通过适当地修改必要的Siddhi应用程序来适应这些变化。 可以由对Siddhi有所了解的任何人(通常是开发人员或数据科学家)来完成此操作。

在某些情况下,此类业务需求更改会频繁发生,而这些频繁的更改只是次要的调整。

作为一个非常基本的示例,让我们考虑监视公司的股票交换价值。 如果公司的股票交易量超过X ,您将收到一封电子邮件。 在此, X的值将随时间调整。

从头开始创建业务规则

  1. 选择选项“从头开始创建业务规则”。 之前的所有步骤都与从模板创建业务规则相同。
  2. 选择我们刚刚保存的templateGroup
  3. 选择ruleTemplate输入类型,然后填写输入部分的值。 我将保留默认值。 看看如何在右边显示exposedStreamFields

4.选择一个输出 ruleTemplate然后为输出零件填写值。

在“ 映射”部分中,您将在输出列下看到输出 ruleTemplate每个exposedStreamField ruleTemplate字段。 每个输出字段都应从输入字段获取数据,因此,我们必须从输入 exposedStreamFields选择一个字段。

5.您可以添加自己的过滤器 ,并在规则逻辑下进行组合。 由于我们正在创建一个方案来过滤“ hillSide分支中的低存款” (请参阅步骤3中的业务规则名称 ,因此我将按以下方式输入过滤器

使用上述过滤器的1 AND 2 AND 3将导致以下过滤条件:

 (transaction == 'deposit') AND 
(amount < 5000) AND (branch == 'hillSide')

6.保存并部署业务规则。 然后,如果您查看目录/wso2/worker/deployment/siddhi-files ,将存在已部署的SiddhiApp,名称为low-deposits-from-hillside-branch.siddhi


这就是我们使用WSO2 SP业务规则管理器创建业务规则的方式! 您可能也有兴趣签出Business Rules Manager的文档。

在我的下一篇博客文章中,我将撰写有关WSO2 SP业务规则模板编辑器的信息 ,您可以在其中创建业务规则模板。