Workbench 7.13.0.Final于10月16日星期二发布,此版本带来了许多有趣的功能和重要的修复程序。 亮点之一是作为技术预览功能的新DMN编辑器,该功能仍在开发中,但您可以开始使用。
在本文中,您将学习如何启用DMN编辑器预览,创建简单的DMN模型以及如何通过REST API执行它。
让我们开始吧 :-)
1)启用预览编辑器
由于该功能可用作技术预览,因此默认情况下处于隐藏状态。 要启用它,请转到Settings -> Roles
,选择您登录的角色(例如“ admin”),然后在“权限”部分中删除“ DMN Designer”异常。 看一下步骤:
2)建立DMN模型
现在启用了DMN编辑器,让我们创建一个新项目:转到“项目”,单击“添加资产”,然后打开“ DMN预览”。 在这里,您可以浏览编辑器并使用自己的规则创建DMN文件,也可以按照此视频提供的步骤操作:
请注意,插入了两个输入节点(“分支数”和“分支分散度”)和一个决策节点(“分支分布”)。 此外,我们在“分支分布”节点中创建了一个决策表,以编写一些规则。
视频中创建的DMN文件可以在此处下载。
3)执行DMN模型
创建并保存DMN文件后,就该部署DMN模型了。 转到Projects -> Your project
,然后单击“部署”以在KIE服务器中部署您的项目。 现在,使用后缀“ / dmn”访问您的实例,在我的情况下,URL为: http:// localhost:8080 / kie-server / services / rest / server / containers / DMNSample_1.0.0 / dmn 。
如果正确执行上述步骤,则会看到类似以下内容的信息:
注意model-namespace
和model-name
值,它们将在下一步中使用。
现在,我们可以请求执行KIE Server实例中的规则。 请参阅以下示例:
curl -u kieserver:kieserver1\! \-H "content-type: application/json" \-H "accept: application/json" \-X POST "http://localhost:8080/kie-server/services/rest/server/containers/DMNSample_1.0.0/dmn" \-d "{ \\"model-namespace\" : \"https://github.com/kiegroup/drools/kie-dmn\", \\"model-name\" : \"dmn-sample\", \\"decision-name\" : [ ], \\"decision-id\" : [ ], \\"dmn-context\" : { \"Branches dispersion\" : \"Province\", \"Number of branches\" : 10 }}"
用您自己的信息替换URL, model-namespace
和model-name
,然后在本地尝试。 规则将由KIE服务器使用您创建的DMN模型执行,并且响应将如下所示:
{"type" : "SUCCESS","msg" : "OK from container 'DMNSample_1.0.0'","result" : {"dmn-evaluation-result" : {"messages" : [ ],"model-namespace" : "https://github.com/kiegroup/drools/kie-dmn","model-name" : "dmn-sample","decision-name" : [ ],"dmn-context" : {"" : "Medium","Branches dispersion" : "Province","Number of branches" : 10},"decision-results" : {"_76E55A36-755D-44B4-95A9-A247A05D6D7C" : {"messages" : [ ],"decision-id" : "_76E55A36-755D-44B4-95A9-A247A05D6D7C","decision-name" : "Branches distribution","result" : "Medium","status" : "SUCCEEDED"}}}}
}
本文介绍了DMN编辑器所有功能的一小部分。 您可以通过应用不同的结构来编写更复杂的规则。 如果您想了解有关DMN规范的更多信息,请参阅DMN Cookbook 。
DMN编辑器仍在开发中。 新功能和增强功能即将到来。 敬请关注 ;-)
新的DMN编辑器预览
翻译自: https://www.javacodegeeks.com/2018/10/new-dmn-editor-preview.html