链接到博客系列的第1部分–https://blogs.sap.com/2018/06/19/iot-prototype-with-business-rules-and-workflow-blog-series-14/
链接到博客系列的第2.1部分–https://blogs.sap.com/2018/06/28/iot-prototype-with-business-rules-and-workflow-blog-series-24/
链接到博客系列的第2.2部分– https://blogs.sap.com/2018/07/04/iot-prototype-with-business-rules-and-workflow-blog-series-2.24/
让我们从原型中第二个场景的配置开始。完成物联网原型需要在SCP的各种服务中进行配置。
此场景包括可用于在仓库中设置物料自动重新订购的步骤。市场上有许多传感器可用于跟踪原材料的库存水平。当库存低于某个水平时,淘客系统,传感器可以触发一条消息到物联网平台,而物联网平台又可以根据业务规则中设置的规则来决定行动方案。为了演示这一点,我在Raspberry Pi中设置了几个按钮,当按下这些按钮时(为了简单起见,每个按钮代表不同的物料类型),一条消息会发送到SAP云平台,订单会自动生成或发送给用户,具体取决于发送的物料类型。
步骤1-设备管理:在物联网驾驶舱中设置消息类型、设备类型和设备。=>这一步已经在所有三个场景的博客系列的第一部分中完成了。
下面的3个步骤将在这个博客中介绍。
第2步-业务规则:创建业务规则服务和设置规则。
第3步-工作流:在Web IDE中创建工作流和相关的用户界面。(详见第2.2部分)
第4步-物联网应用程序:创建Java应用程序集成所有这些服务和Python代码,从设备发送传感器数据。
确保在您试用账户下的SAP云平台Neo环境中启用以下服务。
物联网业务规则工作流Web IDE全栈
第2步:业务规则
让我们为此场景配置业务规则。
转到业务规则编辑器–https://bpmruleseditor-s000xxxxxxtrial.dispatcher.hanatril.ondemand.com/index.html
创建一个项目来保存场景的业务规则服务。
创建两个数据对象
输入:一个属性–物料类型
输出:有三个属性
ordermode–表示是否自动下单或确认后通知用户下单
数量–再订货数量
ordertype–订单类型
创建规则
ReorderRule–此规则构造为决策表。根据规则接收到的物料类型和不同的订单模式,订单类型和数量可以作为输出发送。
创建规则集
重新订购集–将规则添加到规则集。
创建规则服务
重新订购服务–此规则服务将数据对象"Input"作为输入,并返回"output"作为结果。
确保此规则服务已分配给规则集。激活在上述步骤中创建的所有对象。不要忘记部署规则服务。
将从物联网应用程序调用规则服务,以验证来自传感器的温度/湿度。
您可以使用Postman测试业务规则服务,如博客系列的第2.1部分所示。
步骤3:工作流和用户界面
用户界面–UI5应用程序重新排序
让我们首先创建一个用户界面,当工作流被触发时,大数据下载,它将显示给用户。
打开SAP Web IDE(完整堆栈)[URL–https://webidecp-sxxxxxxxxxtrial.dispatcher.hanatril.ondemand.com/]
创建一个简单的UI5应用程序,XML视图如下。将页面标题设置为"Reorder Request for{/materialname}",并设计如下所示的屏幕。所有变量的值将由工作流在UI5应用程序的上下文中设置。
下面提到的代码(在组件.js)用于设置UI5应用程序模型中的上下文变量。
此代码还添加了两个操作按钮,可用于完成工作流任务。完成工作流中当前任务的代码行如下。
重新订购工作流
确保在SAP Web IDE中启用工作流编辑器功能。
创建工作流项目"重新订购流程",并使用单个用户任务创建简单工作流-"重新订购物料"。此工作流将从IoT Java应用程序触发。
此用户任务通过下面显示的任务属性链接到在上述步骤中创建的UI5应用程序。从下拉列表中选择HTML5应用程序名称并填充SAP UI5组件ID。
将您的S-ID指定为用户任务的收件人。
与业务规则类似,可以使用以下方法之一测试工作流
请参阅博客系列的第2.2部分了解步骤
步骤4:物联网应用程序
用Raspberry Pi编写的Python代码片段
重新排序传感器使用以下代码将值发送给SCP。请注意,您需要来自IoT驾驶舱的以下值才能将传感器值从设备发送到SCP。
SCP帐户ID、主机名、设备ID、消息类型ID、设备的授权令牌
IoT应用程序
这是集成步骤1、步骤2和步骤3的"粘合"应用程序。应用程序执行以下步骤。
步骤a的代码段(用于重新排序)
来自Raspberry Pi的物料类型数据根据在步骤1结束时完成的服务映射写入表T\u LS\u IOTMESSAGES。
注意:如果尚未完成流程服务映射,然后使用IoT设备创建的默认消息表名称。
步骤b的代码段。
下面的代码行将从步骤a读取的物料类型发送到业务规则引擎,以在规则中运行它,然后下订单或触发工作流。
最后,调用所有这些函数的粘合代码如下。