Direkt zum Inhalt

So erstellen Sie eine Logistik-App mit SAP Leonardo & Mendix Low-Code

Wie wir in weniger als 10 Tagen eine Logistik-App mit SAP Leonardo erstellt haben

SAP-Blogbeitrag

Auf der SAP TechEd Las Vegas sprach Bjorn Goerke, Chief Technology Officer und Präsident von SAP Cloud-Plattform bei SAP, wagte sich dorthin, wo noch kein Unternehmen zuvor war. Während seiner Keynote zum Thema Star Trek kündigte er die Mendix & SAP Partnerschaft. Die SAP Cloud Platform Rapid Application Development von Mendix vereint zwei Spitzentechnologien, um Kunden ein unvergleichliches Erlebnis zu bieten. Während der Keynote präsentierte Jana Richter, Head of Product Management für SAP Cloud Platform Core, zwei Anwendungen, die mit der Mendix Plattform. Aber wie haben wir diese Anwendungen erstellt? Welche Dienste haben wir genutzt? In diesem Blogbeitrag werden wir aufdecken, was nötig war, um die vernetzte Logistik-App zu erstellen.

Auswahl eines geeigneten Anwendungsfalls

Wochen vor dem Start der Mendix und SAP-Partnerschaft wurde das Evangelist-Team mit der Entwicklung einer Demonstrationsanwendung beauftragt. Diese Anwendung sollte die neueste Technologie präsentieren, die beide Unternehmen anbieten.

Wir haben uns entschieden, einen früheren Anwendungsfall wiederzuverwenden, bei dem es um die Verfolgung des Warentransports geht, der in diesem Blog-Post . Eines der kritischsten Probleme beim Transport von Waren ist die richtige Lagerung und Beförderung. Während des Transports gibt es viele Faktoren, die sich nachteilig auf die Fracht auswirken können, wie z. B. Lichteinwirkung, Temperaturanstiege und -abfälle, Bewegung und Feuchtigkeit. Es kann eine Herausforderung sein, sicherzustellen, dass die richtigen Bedingungen kontinuierlich eingehalten werden, während viele verschiedene Abfertiger und Spediteure entlang der globalen Lieferkette beteiligt sind.

Wir wollten diese Demo mithilfe von Daten und Diensten von SAP erweitern. 87 Prozent der Forbes Global 2000-Unternehmen nutzen SAP, was es zu einem nahezu unverzichtbaren Bestandteil jedes großen Unternehmens macht.

Bei der Entscheidung, welche Dienste und Daten wir von SAP nutzen möchten, haben wir uns für vier Schlüsseltechnologien entschieden:

  • Blockchain
  • IoT
  • S / 4HANA
  • SAP Cloud-Plattform.

Auf der SAP Sapphire stellte SAP seine neue Suite von IoT-, Machine-Learning- und Blockchain-Technologien unter der Marke SAP Leonardo vor. SAP Leonardo vereint neue Technologien und Services, um Unternehmen bei der digitalen Transformation zu unterstützen.

Wir wollten diese Dienste nutzen und sie mit Daten aus anderen SAP-Systemen ergänzen. Bei der Verfolgung des Warentransports ist es wichtig zu wissen, zu welchen Aufträgen die Waren gehören. Um diese Daten zu erhalten, mussten wir sie in unser S/4 HANA-System integrieren, um Verkaufsaufträge abzurufen. Zum Hosten und Skalieren unserer Anwendung haben wir uns für die SAP Cloud Platform entschieden und dabei die native Integration verwendet, die in der Mendix Plattform.

Einsatz von SAP Leonardo IoT

Um den Zustand unserer Fracht zu verfolgen, sind die Container mit Sensoren ausgestattet. Diese Sensoren senden kontinuierlich viele Daten aus, die analysiert und aufgezeichnet werden müssen. Die SAP Leonardo IoT-Plattform ermöglicht es Ihnen, mehrere Geräte und Sensoren zu verwalten, sodass diese Sensoren Daten an die IoT-Plattform. Diese Daten werden dann sicher gespeichert, sodass Ihre Anwendungen sie lesen und analysieren können. In Zusammenarbeit mit den SAP-Teams haben wir einen IoT-Dienst mit SAP Leonardo IoT V4 eingerichtet, der neuesten IoT-Plattform, die bei SAP Sapphire angekündigt wurde. Mithilfe der API und der Webschnittstelle haben wir mehrere Geräte und Gerätezertifikate eingerichtet, damit wir eine sichere Verbindung zum Dienst herstellen können.

Beispiel-Screenshot von SAP Leonardo IoT

Die Verbindung zum SAP IoT-Dienst erfolgt entweder über REST- oder MQTT-Protokolle. Wir haben uns für MQTT entschieden, ein leichtes Protokoll, das hauptsächlich im IoT-Bereich verwendet wird, da es uns ermöglicht, Daten über eine einzige Verbindung zu veröffentlichen und zu empfangen. Durch die Verwendung von Modulen aus dem Mendix App Storekonnten wir die Integration in die SAP Leonardo IoT-Plattform problemlos realisieren. Wir haben das MQTT-Connector-Modul verwendet, das Mendix Apps können MQTT-Themen abonnieren und veröffentlichen. In unserem Szenario wollten wir die von SAP veröffentlichten MQTT-Themen abonnieren.

Um die Demo der App zu vereinfachen und die MQTT-Veröffentlichung zu demonstrieren, haben wir einen Simulator in die Anwendung eingebaut. Der Simulator ermöglicht es uns, Temperatur-, Feuchtigkeits-, Bewegungs- und Lichtdaten an den IoT-Dienst zu senden und diese auf unserem Display zu visualisieren. Der Simulator sendet jede Sekunde Daten an den Dienst. Wenn der Dienst Daten empfängt, werden diese in SAP gespeichert, wo Mendix kann die Daten dann per MQTT abonnieren. Alternativ kann man diese Daten auch per REST abrufen. Bei jedem Nachrichtenempfang wird ein Microflow mit Topic-Informationen und einer Nachrichten-Payload im JSON-Format ausgeführt. Zum Importieren der Daten richten wir ein Mapping zwischen den JSON-Daten und den Mendix Domänenmodell.

SAP IoT-Beispiel-Screenshot

Blockchain verwenden

Vor dem Transport von Waren schließen Organisationen oft lange Verträge ab, in denen festgelegt wird, wie die Waren transportiert werden sollen und welche Strafen bei Vertragsbruch drohen. Während des Transports kommt es häufig zu Vorfällen, die den Zustand und den Wert der Waren beeinträchtigen können. Oftmals verstoßen diese Ereignisse gegen den vereinbarten Vertrag. Allerdings ist es oft schwierig festzustellen, wie, wann und von wem dieser Vertrag gebrochen wurde. Hier stellt die Blockchain-Technologie in Kombination mit Smart Contracts eine ideale Lösung dar.

Smart Contracts sind selbstausführende Verträge auf Basis der Blockchain-Technologie, die Aktionen auslösen, sobald eine Bedingung erfüllt ist. Wenn wir beispielsweise eine zu hohe Temperatur melden, möchten wir dies aufzeichnen, im Bestellvertrag speichern und den Kunden benachrichtigen.

Blockchain ist eine ideale Technologie für derartige Szenarien, da sie uns ein unveränderliches Hauptbuch aller Ereignisse liefert. Dieses Hauptbuch kann nicht geändert oder manipuliert werden, sodass es geeignet ist, sicherzustellen, dass es keine Möglichkeit gibt, Ereignisse anzufechten. Die Blockchain-Technologie findet Anwendung in allen möglichen Bereichen, darunter Logistik, Gesundheitswesen, Bankwesen und vieles mehr.

SAP bietet wie seine IoT-Plattform einen Service an, der die Einrichtung einer Blockchain vereinfacht. SAP Blockchain basiert auf der Open-Source-Plattform Hyperledger Fabric. Im Gegensatz zu anderen Blockchain-Technologien betreibt Hyperledger keine Kryptowährung. Hyperledger-Blockchains führen Chaincodes aus, Programme, die normalerweise in GoLang geschrieben sind. Entwickler können ihre eigenen Codefunktionen erstellen, um mit der Blockchain zu interagieren.

Wir haben mit GoLang unseren eigenen Chaincode erstellt, der so aussieht:

Screenshot des Blockchain-Codes

Der Code enthält drei Funktionen, die es dem Benutzer des Chaincodes ermöglichen, die Kette zu schreiben, zu lesen und zu durchsuchen.

Sobald der Chaincode geschrieben ist, müssen wir ihn auf dem SAP Blockchain Service ausführen.

Blockchain-Beispiel-Screenshot

Der SAP Blockchain-Dienst verfügt über einige sofort einsatzbereite REST-APIs, die die Interaktion mit dem Chaincode erleichtern. Die API verfügt über zwei Operationen: Aufrufen und Abfragen. Mit Aufrufen wird eine Chaincode-Funktion aufgerufen und mit Abfragen der Status des Chaincodes abgerufen.

Zur Interaktion mit diesen APIs nutzten wir die nativen REST-Funktionen in Mendix um einen Mikrofluss zu erstellen, um unserer Kette einen Block hinzuzufügen, einen Block in unserer Kette zu finden und alle Blöcke für eine Bestellung zu finden. Um die API zu verwenden, müssen Sie einen API-Schlüssel erstellen, der im SAP-Service-Cockpit erstellt werden kann.

Microflow-Screenshot

Microflow-Beispiel-Screenshot

SAP S/4HANA

Wenn widrige Ereignisse wie erhöhte Temperaturen eintreten, müssen wir wissen, welche Aufträge davon betroffen sind. Um die geschäftlichen Auswirkungen zu verstehen, ist es unerlässlich, eine vollständige Übersicht über alle Verkaufs- und Einkaufsaufträge zu haben. SAP S/4HANA ist eine Echtzeit-Suite für Enterprise-Ressourcenmanagement in der Cloud. Der Service verfügt über mehrere vorkonfigurierte OData-Services, die das Empfangen und Übermitteln von Daten erleichtern. Im Rahmen der SAP-Einführung Mendix hat viele SAP-Konnektoren für verschiedene SAP-Technologien wie S/4HANA, SuccessFactors, Leonardo und Ariba eingeführt. Diese Konnektoren finden Sie im Mendix App Store und können kostenlos heruntergeladen werden. Für diese Anwendung haben wir den S/4Hana-Konnektor verwendet, um Bestellungen aus unserem S/4-System hinzuzufügen und anzuzeigen.

SAP S/4HANA Beispiel-Screenshot

SAP Cloud-Plattform

Um die Logistik-App zu demonstrieren, brauchten wir einen Ort, an dem wir unsere Anwendung hosten konnten. Wir entschieden uns für das kürzlich veröffentlichte Mendix Integration in die SAP Cloud Platform. Die SAP Cloud Platform ist eine Open-Source-Plattform als Service (PaaS), die einzigartige In-Memory-Datenbank- und Business-Anwendungsdienste bietet. Die Plattform nutzt die Cloud Foundry-Technologie, um eine offene, robuste und flexible Multi-Cloud-Architektur bereitzustellen. Die Mendix Das Produkt lässt sich nahtlos in die SAP Cloud Platform integrieren und wickelt die gesamte Kommunikation und Aktualisierung über unser Cloud-Portal ab. Mendix übernimmt die Erstellung aller erforderlichen Dienste, einschließlich eines Datenbankdienstes und eines Single-Sign-On-Dienstes.

Um mit der Nutzung der SAP Cloud Platform zu beginnen, können Sie über die Schaltfläche „App erstellen“ auf der Mendix Buzz-Portal. Einige der Vorlagen basieren auf Fiori-Design und andere auf dem Mendix Atlas-Framework. Sobald Sie eine Vorlage ausgewählt haben, werden Sie von der Plattform aufgefordert, sich bei der SAP Cloud Platform zu authentifizieren. Nach der Authentifizierung können Sie die Region, Organisation und den Bereich auswählen, in dem Sie die Bereitstellung durchführen möchten.

Screenshot der SAP Cloud Platform

Sobald Sie eine Umgebung eingerichtet haben, können Sie einfach auf die Schaltfläche „Ausführen“ im Desktop Modeler klicken. Die App wird dann in die SAP Cloud Platform integriert und bereitgestellt. Die Bereitstellung einer vorhandenen Anwendung auf der SAP Cloud Platform kann über die Cloud-Einstellungen unter den allgemeinen Einstellungen für Ihr Projekt erfolgen. Kunden haben jetzt die Möglichkeit, die Anwendung auf der SAP Cloud Platform bereitzustellen. Mendix Cloud, SAP Cloud oder On Premises aus der Mendix Portal, wodurch der Wechsel zwischen verschiedenen Cloud-Umgebungen erleichtert wird. Sobald das Projekt mit der gewünschten Umgebung verbunden ist, können Sie im Modeler einfach auf die Schaltfläche „Ausführen“ klicken, um Ihre Anwendung bereitzustellen.

Beispiel-Screenshot der SAP Cloud Platform

Wenn die Anwendung in der SAP Cloud Platform bereitgestellt wird, können Benutzer zusätzliche SAP-Dienste konfigurieren und binden. Dienste wie Blockchain, HANA, Prüfprotokolle und Objektspeicher können einfach hinzugefügt und gebunden werden, um eine Anwendung zu erweitern.

Das Endprodukt

Die endgültige Lösung zeigt die Leistungsfähigkeit der Kombination Mendix und SAP, und wie zwei führende Unternehmen in ihren Bereichen zusammenarbeiten können, um Unternehmen dabei zu helfen, mutig dorthin zu gehen, wo sie noch nie zuvor waren. Wir haben die App in beispielloser Geschwindigkeit mithilfe von sofort einsatzbereiten Konnektoren zu SAP entwickelt.

Was wirst du jetzt bauen?

Laden Sie die SAP-Lösungsübersicht herunter

Wählen Sie Ihre Sprache