在 SAP TechEd Las Vegas 大会上,SAP 首席技术官兼总裁 Bjorn Goerke SAP Cloud平台 在 SAP,他大胆地踏上了企业从未涉足的领域。在以星际迷航为主题的主题演讲中,他宣布 Mendix 与 SAP 合作。SAP Cloud Platform 快速应用程序开发由 Mendix SAP Cloud Platform Core 产品管理负责人 Jana Richter 在主题演讲中介绍了两款使用 SAP Cloud Platform Core 构建的应用程序。 Mendix 平台。但是我们是如何构建这些应用程序的呢?我们使用了哪些服务?在这篇博文中,我们将揭示构建互联物流应用程序所需的条件。
选择合适的用例
在推出前几周 Mendix 和 SAP 合作后,Evangelist 团队的任务是构建一个演示应用程序。该应用程序需要展示两家公司提供的最新技术。
我们决定重复使用之前涉及跟踪货物运输的用例,该用例已在本文中介绍 博客文章运输货物时最关键的问题之一就是正确的储存和运输。在运输过程中,有许多因素会对货物产生不利影响,例如光照、温度升高和降低、移动和湿度。在全球供应链中涉及许多不同的搬运工和承运人的情况下,确保持续满足正确的条件可能具有挑战性。
我们希望使用 SAP 提供的数据和服务来增强此演示。 《福布斯》全球 87 强企业中有 2000% 使用 SAP,这几乎是每个大型企业必不可少的一部分。
在决定我们想要使用的 SAP 服务和数据时,我们确定了四种要使用的关键技术:
- 全面、
- IoT
- S / 4HANA
- SAP 云平台。
在 SAP Sapphire 上,SAP 发布了以 SAP Leonardo 为品牌的全新物联网、机器学习和区块链技术套件。SAP Leonardo 将新技术和服务融为一体,帮助企业推动数字化转型。
我们希望利用这些服务,并用其他 SAP 系统的数据对其进行补充。在跟踪货物运输时,了解货物属于哪个订单非常重要。为了获取这些数据,我们需要集成到我们的 S/4 HANA 系统中来提取销售订单。为了托管和扩展到我们的应用程序,我们选择了 SAP Cloud Platform,使用 SAP 提供的本地集成 Mendix 平台。
使用 SAP Leonardo IoT
为了跟踪货物状况,集装箱内装有传感器。这些传感器不断发出大量数据,需要进行分析和记录。SAP Leonardo IoT 平台允许您管理多个设备和传感器,允许这些传感器将数据发送到 物联网平台。然后安全地存储这些数据,以便您的应用程序读取和分析这些数据。我们与 SAP 团队合作,使用 SAP Leonardo IoT V4(SAP Sapphire 上发布的最新 IoT 平台)建立了 IoT 服务。使用 API 和 Web 界面,我们设置了多个设备和设备证书,以便我们安全地连接到该服务。

可以使用 REST 或 MQTT 协议连接到 SAP IoT 服务。我们决定使用 MQTT,这是一种主要用于 IoT 领域的轻量级协议,因为它允许我们使用一个连接发布和接收数据。通过使用 Mendix App Store,我们能够轻松地将集成构建到 SAP Leonardo IoT 平台中。我们使用了 MQTT 连接器模块,它能够 Mendix 应用程序可以订阅和发布 MQTT 主题。在我们的场景中,我们希望订阅 SAP 发布的 MQTT 主题。
为了使应用程序演示更加简单,并演示 MQTT 发布,我们在应用程序中构建了一个模拟器。模拟器允许我们将温度、湿度、运动和光数据发送到 IoT 服务,并在显示屏上可视化这些数据。模拟器每秒将数据发送到服务。当服务收到数据时,它会存储在 SAP 中, Mendix 然后可以通过 MQTT 订阅接收数据。或者,您可以通过 REST 检索此数据。每次收到消息时,都会使用主题信息和 JSON 格式的消息有效负载执行微流。为了导入数据,我们在 JSON 数据和 Mendix 域模型。

使用区块链
在货物运输之前,组织通常会制定一份冗长的合同,约定货物的运输方式以及违反合同的处罚。在运输过程中,经常会发生影响货物状况和价值的事件。这些事件通常会破坏商定的合同。然而,通常很难确定合同是如何、何时以及由谁违反的。这就是区块链技术与智能合约相结合成为理想解决方案的地方。
智能合约是基于区块链技术的自动执行协议,一旦满足条件,就会触发操作。例如,当我们报告温度过高时,我们希望记录此情况,将其存储在订单合约中并提醒客户。
区块链是此类场景的理想技术,因为它为我们提供了所有事件的不可篡改账本。该账本无法更改或篡改,因此非常适合确保事件无法争议。区块链技术可应用于各种领域,包括物流、医疗保健、银行等。
SAP 就像他们的物联网平台一样,提供了一种可以轻松设置区块链的服务。 SAP区块链 基于 Hyperledger Fabric 开源平台。与其他区块链技术不同,Hyperledger 不运行加密货币。 Hyperledger 区块链运行链代码,这些程序通常用 GoLang 编写。开发人员可以创建自己的代码函数来与区块链交互。
我们使用 GoLang 创建了自己的链代码,如下所示:

该代码包含三个函数,允许链代码的用户写入、读取和搜索链。
一旦编写了链代码,我们就需要在 SAP 区块链服务上运行它。

SAP Blockchain 服务附带一些现成的 REST API,以帮助与链代码交互。该 API 有两个操作:调用和查询。调用用于调用链代码函数,查询用于获取链代码的状态。
为了与这些 API 进行交互,我们使用了 Mendix 构建一个微流程,将一个区块添加到我们的链中,在我们的链中查找一个区块,并查找订单的所有区块。要使用 API,您需要创建一个 API 密钥,该密钥可以在 SAP 服务主控室中创建。


SAP S / 4HANA
当发生不利事件(例如温度升高)时,我们需要知道哪些订单会受到影响。要了解业务影响,必须拥有所有销售订单和采购订单的完整记录。SAP S/4HANA 是云端的实时企业资源管理套件。该服务附带多种开箱即用的 OData 服务,可轻松接收和提交数据。作为 SAP 发布的一部分, Mendix 已将许多 SAP 连接器引入各种 SAP 技术,例如 S/4HANA、SuccessFactors、Leonardo 和 Ariba。这些连接器可在 Mendix App Store 并可免费下载。对于此应用程序,我们使用 S/4Hana 连接器从我们的 S/4 系统添加和查看采购订单。

SAP Cloud平台
为了演示物流应用,我们需要一个地方来托管我们的应用程序。我们决定使用最近发布的 Mendix 集成到 SAP Cloud Platform。SAP Cloud Platform 是一个开源平台即服务 (PaaS),提供独特的内存数据库和业务应用程序服务。该平台利用 Cloud Foundry 技术提供开放、强大且灵活的多云架构。 Mendix 产品无缝集成到 SAP 云平台并通过我们的云门户处理所有通信和更新。 Mendix 处理所有必需服务的创建,包括数据库服务和单点登录服务。
要开始使用 SAP Cloud Platform,您可以通过“创建应用程序”按钮选择支持 SAP 的入门模板。 Mendix Buzz 门户。一些模板基于 Fiori 设计,其他模板基于 Mendix Atlas框架. 选择模板后,平台会要求您通过 SAP Cloud Platform 进行身份验证。身份验证后,您可以选择要部署到的区域、组织和空间。

设置环境后,您只需点击桌面建模器中的运行按钮,应用程序就会暂存并部署到 SAP Cloud Platform 中。可以使用项目常规设置下的云设置将现有应用程序部署到 SAP Cloud Platform。客户现在可以选择部署到 Mendix 云、SAP Cloud 或本地部署 Mendix 门户,使在不同的云环境之间切换更加容易。一旦项目连接到所需的环境,您只需按下 Modeler 中的“运行”按钮即可部署您的应用程序。

当应用程序部署在 SAP Cloud Platform 中时,用户可以配置和绑定其他 SAP 服务。可以轻松添加和绑定区块链、HANA、审计日志和对象存储等服务以扩展应用程序。
最终产品
最终的解决方案展示了结合的力量 Mendix 以及 SAP,以及两大领域的领导者如何携手帮助企业大胆地迈向前所未有的领域。我们使用开箱即用的 SAP 连接器以前所未有的速度构建了该应用程序。
现在您要建造什么?
