Lors de SAP TechEd Las Vegas, Bjorn Goerke, directeur de la technologie et président de Plateforme SAP Cloud chez SAP, il a osé aller là où aucune entreprise n'était allée auparavant. Au cours de son discours sur le thème de Star Trek, il a annoncé la Mendix & Partenariat SAP. La plateforme SAP Cloud Développement rapide d'applications par Mendix réunit deux technologies de pointe pour offrir une expérience inégalée aux clients. Lors de son discours d'ouverture, Jana Richter, responsable de la gestion des produits pour SAP Cloud Platform Core, a présenté deux applications créées à l'aide de la Mendix Plateforme. Mais comment avons-nous créé ces applications ? Quels services avons-nous utilisés ? Dans cet article de blog, nous allons découvrir ce qu'il a fallu pour créer l'application de logistique connectée.
Choisir un cas d'utilisation approprié
Quelques semaines avant le lancement du Mendix et SAP, l'équipe Evangelist a été chargée de créer une application de démonstration. Cette application devait présenter les dernières technologies proposées par les deux entreprises.
Nous avons décidé de réutiliser un cas d'utilisation précédent impliquant le suivi du transport de marchandises, traité dans ce blog récentsL'un des aspects les plus critiques du transport de marchandises est le stockage et le transport appropriés. Pendant le transport, de nombreux facteurs peuvent avoir un effet négatif sur la cargaison, tels que l'exposition à la lumière, les augmentations et diminutions de température, les mouvements et l'humidité. Il peut être difficile de garantir que les bonnes conditions sont constamment respectées alors que de nombreux manutentionnaires et transporteurs différents sont impliqués dans la chaîne d'approvisionnement mondiale.
Nous avons souhaité enrichir cette démo en utilisant des données et des services fournis par SAP. SAP est utilisé par 87 % des entreprises du Forbes Global 2000, ce qui en fait presque un élément essentiel de toute grande entreprise.
Pour déterminer les services et les données que nous souhaitons utiliser auprès de SAP, nous avons identifié quatre technologies clés à utiliser :
- Blockchain
- IoT
- S / 4HANA
- Plateforme SAP Cloud.
Lors du salon SAP Sapphire, SAP a annoncé sa nouvelle suite de technologies IoT, machine learning et blockchain, sous la marque SAP Leonardo. SAP Leonardo rassemble de nouvelles technologies et de nouveaux services pour aider les entreprises à dynamiser leur transformation numérique.
Nous souhaitions exploiter ces services et les compléter avec des données provenant d'autres systèmes SAP. Lors du suivi du transport de marchandises, il est important de savoir à quelles commandes appartiennent les marchandises. Pour obtenir ces données, nous devions intégrer notre système S/4 HANA pour extraire les commandes clients. Pour héberger et faire évoluer notre application, nous avons choisi la plateforme SAP Cloud en utilisant l'intégration native fournie dans le Mendix
Utilisation de SAP Leonardo IoT
Pour suivre l'état de notre cargaison, les conteneurs sont équipés de capteurs. Ces capteurs envoient en permanence de nombreuses données, qui doivent être analysées et enregistrées. La plateforme SAP Leonardo IoT vous permet de gérer plusieurs appareils et capteurs, permettant à ces capteurs d'envoyer des données à l'expéditeur. Plateforme IoT. Ces données sont ensuite stockées de manière sécurisée, ce qui permet à vos applications de les lire et de les analyser. En collaboration avec les équipes SAP, nous avons mis en place un service IoT utilisant SAP Leonardo IoT V4, la dernière plateforme IoT annoncée à SAP Sapphire. À l'aide de l'API et de l'interface Web, nous avons mis en place plusieurs appareils et certificats d'appareils pour nous permettre de nous connecter en toute sécurité au service.

La connexion au service SAP IoT s'effectue via les protocoles REST ou MQTT. Nous avons décidé d'utiliser le MQTT, un protocole léger utilisé principalement dans l'espace IoT, car il nous permettrait à la fois de publier et de recevoir des données à l'aide d'une seule connexion. En utilisant des modules du Mendix App Store, nous avons pu facilement réaliser l'intégration dans la plateforme SAP Leonardo IoT. Nous avons utilisé le module connecteur MQTT, qui permet Mendix applications permettant à la fois de s'abonner et de publier sur des rubriques MQTT. Dans notre scénario, nous souhaitions nous abonner aux rubriques MQTT publiées depuis SAP.
Pour faciliter la démonstration de l'application et démontrer la publication MQTT, nous avons intégré un simulateur dans l'application. Le simulateur nous permet d'envoyer des données de température, d'humidité, de mouvement et de lumière au service IoT et de les visualiser sur notre écran. Le simulateur enverra des données au service toutes les secondes. Lorsque le service reçoit des données, elles sont stockées dans SAP où Mendix peut ensuite recevoir les données via l'abonnement MQTT. Alternativement, vous pouvez récupérer ces données via REST. Chaque fois qu'un message est reçu, un microflow est exécuté avec des informations sur le sujet et une charge utile du message au format JSON. Pour importer les données, nous avons mis en place un mappage entre les données JSON et les Mendix modèle de domaine.

Utilisation de la Blockchain
Avant le transport des marchandises, les organisations établissent souvent de longs contrats qui stipulent comment les marchandises doivent être transportées et les pénalités en cas de rupture de ce contrat. Pendant le transport, des incidents se produisent souvent qui peuvent affecter l'état et la valeur des marchandises. Souvent, ces événements rompent le contrat convenu. Cependant, il est souvent difficile d'identifier comment ce contrat a été rompu, quand et par qui. C'est là que la technologie Blockchain en combinaison avec les contrats intelligents constitue une solution idéale.
Les contrats intelligents sont des accords auto-exécutables basés sur la technologie blockchain, qui déclenchent des actions une fois qu'une condition est remplie. Par exemple, lorsque nous signalons une température trop élevée, nous souhaitons l'enregistrer, la stocker dans le contrat de commande et alerter le client.
La blockchain est une technologie idéale pour ce type de scénarios, car elle nous fournit un registre immuable de tous les événements. Ce registre ne peut pas être modifié ou falsifié, ce qui le rend approprié pour garantir qu'il n'y a aucun moyen de contester les événements. La technologie blockchain a des applications dans toutes sortes de domaines, notamment la logistique, la santé, la banque et bien plus encore.
SAP, comme sa plateforme IoT, fournit un service qui facilite la mise en place d'une blockchain. Chaîne de blocs SAP est basé sur la plateforme open source Hyperledger Fabric. Hyperledger, contrairement à d'autres technologies blockchain, n'exécute pas de crypto-monnaie. Les blockchains Hyperledger exécutent des chaincodes, des programmes écrits généralement en GoLang. Les développeurs peuvent créer leurs propres fonctions de code pour interagir avec la blockchain.
Nous avons créé notre propre code chaîne en utilisant GoLang, qui ressemble à ceci :

Le code contient trois fonctions qui permettent à l'utilisateur du code chaîne d'écrire, de lire et de rechercher la chaîne.
Une fois le code de chaîne écrit, nous devons l’exécuter sur le service SAP Blockchain.

Le service SAP Blockchain est fourni avec des API REST prêtes à l'emploi pour faciliter l'interaction avec le code de chaîne. L'API comporte deux opérations : Invoke et Query. Invoke est utilisé pour appeler une fonction de code de chaîne et Query pour obtenir l'état du code de chaîne.
Pour interagir avec ces API, nous avons utilisé les fonctionnalités REST natives de Mendix pour créer un microflow pour ajouter un bloc à notre chaîne, trouver un bloc dans notre chaîne et trouver tous les blocs d'une commande. Pour utiliser l'API, vous devez créer une clé API qui peut être créée dans le cockpit de service SAP.


SAP S / 4HANA
Lorsque des événements indésirables se produisent, comme une augmentation de la température, nous devons savoir quelles commandes seront affectées. Il est impératif de disposer d'une trace complète de toutes les commandes de vente et d'achat pour comprendre l'impact sur l'entreprise. SAP S/4HANA est une suite de gestion des ressources d'entreprise en temps réel dans le cloud. Le service est fourni avec plusieurs services OData prêts à l'emploi, ce qui facilite la réception et la soumission des données. Dans le cadre du lancement de SAP, Mendix a lancé de nombreux connecteurs SAP dans diverses technologies SAP telles que S/4HANA, SuccessFactors, Leonardo et Ariba. Ces connecteurs sont disponibles dans le Mendix Les applications sont disponibles sur l'App Store et sont téléchargeables gratuitement. Pour cette application, nous avons utilisé le connecteur S/4Hana pour ajouter et afficher les bons de commande depuis notre système S/4.

Plateforme SAP Cloud
Pour présenter l'application Logistics, nous avions besoin d'un endroit pour héberger notre application. Nous avons décidé d'utiliser le récemment publié Mendix intégration dans SAP Cloud Platform. SAP Cloud Platform est une plate-forme en tant que service (PaaS) open source qui fournit des services uniques de base de données en mémoire et d'applications métier. La plate-forme utilise la technologie Cloud Foundry pour fournir une architecture multi-cloud ouverte, robuste et flexible. Mendix le produit s'intègre parfaitement à la plateforme SAP Cloud et gère toutes les communications et mises à jour via notre portail cloud. Mendix gère la création de tous les services requis, y compris un service de base de données et un service d'authentification unique.
Pour commencer à utiliser la plateforme SAP Cloud, vous pouvez choisir un modèle de démarrage compatible SAP via le bouton « Créer une application » sur le Mendix Portail Buzz. Certains modèles sont basés sur le design Fiori et d'autres sur le Mendix Cadre de travail Atlas. Une fois que vous avez choisi un modèle, la plateforme vous demandera de vous authentifier auprès de SAP Cloud Platform. Une fois authentifié, vous pouvez sélectionner la région, l'organisation et l'espace dans lesquels vous souhaitez effectuer le déploiement.

Une fois que vous avez configuré un environnement, vous pouvez simplement cliquer sur le bouton Exécuter dans Desktop Modeler et l'application sera mise en scène et déployée dans SAP Cloud Platform. Le déploiement d'une application existante sur SAP Cloud Platform peut être effectué à l'aide des paramètres cloud sous les paramètres généraux de votre projet. Les clients ont désormais la possibilité de déployer sur le Mendix Cloud, SAP Cloud ou sur site depuis le Mendix portail, facilitant le basculement entre différents environnements cloud. Une fois le projet connecté à l'environnement souhaité, vous pouvez simplement appuyer sur le bouton « Exécuter » dans le Modeler pour déployer votre application.

Lorsque l'application est déployée sur SAP Cloud Platform, les utilisateurs peuvent configurer et lier des services SAP supplémentaires. Des services tels que la blockchain, HANA, les journaux d'audit et les magasins d'objets peuvent être facilement ajoutés et liés pour étendre une application.
Le produit final
La solution finale démontre le pouvoir de la combinaison Mendix et SAP, et comment deux leaders dans leurs domaines peuvent travailler ensemble pour aider les entreprises à aller audacieusement là où elles ne sont jamais allées auparavant. Nous avons développé l'application à une vitesse sans précédent en utilisant des connecteurs prêts à l'emploi vers SAP.
Maintenant, que vas-tu construire ?
