预订演示
前页 后页

服务决策服务

本主题的部分内容已逐字使用或自由改编自 DMN 规范,该规范可在以下网址获得: https ://www.omg.org/spec/DMN 。该站点包含对 DMN 及其功能的完整描述。

决策决策A决策模型中的一个或多个决策公开为可重用元素,该元素可能由决策模型决策模型任务在外部调用。

当使用必要的输入数据和输入决策调用决策服务时,它会返回公开决策的输出。

接口服务的决策

决策服务的接口包括:

  • 输入数据 - 封装决策所需的所有输入数据的实例
  • 输入决策 - 所有输入决策结果的实例
  • 输出决策 - 使用提供的输入决策和输入数据评估(至少)所有输出决策的结果
当使用必要的输入数据和输入决策调用决策服务时,它会返回公开决策的输出。

该图显示了一个决策模型,包括六个决策和三个输入数据项。

对于DecisionService1,:

  • 输出决定是{Decision1}
  • 输入决策是 {Decision5},并且
  • 输入数据是 {InputData1}
由于Decision1需要Decision2,而Decision2并不作为输入提供给服务,因此服务也必须封装Decision2;因此封装的决策是{Decision1,Decision2}。

从图中可以明显看出,DecisionService1 的任何决策都不需要 Decision6、Decision3、Decision4 和 InputData3。 InputData2 呢?虽然Decision5 需要,DecisionService1 需要InputData2,但DecisionService1 实际上不需要InputData2。这是因为 Decision5 被定义为输入决策。从决策服务的角度来看,我们忽略了输入决策所需的任何决策或输入决策。

对于DecisionService2,:

  • 输出决定是{Decision3}
  • 输入决策是 {Decision5},并且
  • 输入数据是 {InputData3}
由于Decision3需要Decision4,而Decision4并不作为输入提供给服务,因此服务也必须封装Decision4;因此封装的决策是{Decision3, Decision4}。

为每个决策服务创建单独的图表是一种很好的做法。这样,图将只包含决策的接口元素和封装的决策;不相关的元素不会出现在图表上。

建模决策服务

我们可以从图表工具箱的决策页面创建决策服务元素,并从上下文菜单切换 [输出] 和 [封装] 分区。

当显示 [output] 分区时,您只能显示 [encapsulated] 分区。

将决策和输入数据放入正确的分区后,您必须运行上下文菜单中的“更新决策服务接口”命令来更新模型。

重要提示:为了使 DMN 模拟正常工作,请在以下情况下更新决策服务接口:

  • 显示/隐藏决策服务分区
  • 向决策服务添加决策
  • 从决策服务中删除决策
  • 在分区之间移动决策
  • 添加/删除决策服务输入:输入数据或输入决策

了解更多