商业自动化服务的基本模式是使用BPMN和DMN实现低代码业务自动化。通常,每个服务都被建模为一个短期运行的BPMN流程,由服务任务、决策任务和代表其他短期运行流程的调用活动组成。该服务由业务事件触发,由客户端API调用表示。
其第一步是验证业务事件。这通常涉及业务事件的一些决策逻辑和一些检索到的现有数据。如果有效,一个或多个服务任务会检索额外的数据库记录,然后是在DMN中实现专家业务逻辑的决策任务。在这种方法中,DMN用于所有建模者定义的业务逻辑,而不仅仅是与决策相关的业务逻辑。该业务逻辑的结果保存在新的数据库表记录中,其中一些选定的部分可能会在服务响应中返回。这是一个简单的模式,但适用于各种情况。
第一步是建立业务逻辑。流程专家必须能够验证每个业务事件的结果值的正确性。然后,参考BPMN图,标记决策任务。
我们可以将所有业务逻辑放在单个DMN模型中,在结果决策服务中具有多个输出决策,但一些客户更喜欢将其分解为多个决策任务,每个任务调用一个更简单的决策模型。这需要更多的工作,但对流程相关者来说更容易理解。这个DMN模型在某种意义上是项目中最难的部分。尽管在今天,调试DMN比调试BPMN容易得多,因为可以在建模环境中测试DMN模型,但仍然需要确认DMN模型与所有测试用例的结果相匹配。
在BPM平台上,决策任务会同步到其目标的DMN服务上,因此DMN逻辑的任何变化都会自动反映在BPMN中,无需重新编译和部署决策服务。这是一个节省时间的操作。决策任务还会自动将DMN模型中使用的数据类型导入流程,提供便利。
接下来我们回到流程的开头并配置每个步骤。可执行BPMN模型与我们在BPMN Methodand Style中使用的描述性模型之间的主要区别在于数据流。流程变量在BPMN图中被描述为数据对象,使用称为数据关联的虚线连接器映射到各种任务的输入和输出。
数据库操作和与外部数据的交互使用服务任务。在BPM中,服务任务执行REST服务操作,将流程数据映射到操作输入参数,然后将服务输出映射到其他流程变量。BPMN模型的操作库是可用于服务任务的服务操作目录。这听起来很难,但实际上很简单,企业用户可以学着做。