Information et éducation par et pour la communauté SAP

Un guide de l'intégration des données SAP

Le développement de logiciels prend du temps, il faut donc planifier la solution avant même que les premiers clients ne la demandent. Lorsque j'ai inventé Hana Smart Data Integration (SDI), personne n'avait encore une telle solution sur le radar - les outils ETL étaient assez bons.
Werner Dähn, rtdi.io
23 septembre 2020
[shutterstock.com : 1259435662, HAKINMHAN]
avatar
Ce texte a été automatiquement traduit en français de l'allemand

Aujourd'hui, le SDI est utilisé dans toutes les solutions Hana et est devenu une évidence pour les clients. Avec l'étape suivante de l'évolution, je voulais réunir l'intégration des données et des processus d'une manière inédite. La technique était enfin suffisamment avancée pour pouvoir réunir les deux catégories de produits. Mais cela s'est heurté à la structure organisationnelle de SAP et n'a pas été retenu.

Aujourd'hui, le sujet de l'intégration est remonté jusqu'au conseil d'administration et le résultat n'est pas très convaincant. Pire encore, je vois de nombreux clients existants de SAP qui résolvent ce problème d'intégration pour eux-mêmes de manière intelligente, c'est-à-dire qu'ils sont déjà plus avancés que SAP lui-même. La touche finale est apportée à ces clients par la solution open source que ma société met à leur disposition.

Par la suite, j'aimerais vous emmener dans un voyage intellectuel sur les connaissances de ces pionniers et sur les points que nous avons encore améliorés.

Système vs. intégration des données

Si l'on considère le portefeuille de produits de SAP, il existe une séparation nette entre l'intégration de processus et l'intégration de données. Dans un cas, on veut relier le système ERP à une autre application, dans l'autre, on veut transférer des contenus de table de A à B. Si l'on demande à un développeur d'applications, il parle d'"entités" comme le partenaire commercial. Dans l'intégration des données, on descend d'un niveau, celui des tables. Cette séparation n'existe pas dans le monde des Big Data. Là, tous les produits peuvent traiter des objets profondément imbriqués et une table de base de données n'est qu'un objet particulièrement simple. D'où la première conclusion : oublions plutôt les outils de base de données et regardons plutôt du côté des produits Big Data.

Batch vs. temps réel

Ensuite, il y a des outils qui transmettent des données de masse par lots, et d'autres sont conçus pour le temps réel. Cette séparation s'explique par des raisons techniques, mais d'un point de vue purement logique, le temps réel est un super-ensemble des deux. Dans le cadre d'un traitement par lots, il n'est jamais possible de transmettre les données à des intervalles aussi courts que l'on veut. Avec un système en temps réel, le traitement par lots est toutefois possible. Cela donne l'impression qu'il ne se passe rien dans une source pendant des heures et qu'un grand nombre de données sont soudainement générées pour un court intervalle. Mais pour cela, l'outil en temps réel doit pouvoir traiter des données en masse - ce qui nous ramène au portefeuille des Big Data.

Si l'on considère la solution sous l'angle de la question de savoir quels systèmes sont couplés à quels autres, il s'agissait plutôt dans le passé d'une relation un à un. Les données SAP ERP vont dans SAP BW. Les données de la saisie des temps atterrissent sous forme d'écritures dans le module SAP HCM. Et c'est exactement ainsi que sont construits les outils SAP. Si cette hypothèse n'était déjà pas forcément correcte auparavant, de très nombreux systèmes consommateurs sont aujourd'hui connectés à chaque système source - et la tendance est à la hausse. Par exemple, les données ERP vont dans SAP BW, dans un Data Lake, dans Ariba, dans Salesforce et dans d'innombrables autres applications d'entreprise intelligentes.

Ainsi, même avec une orchestration des données, comme c'est le cas avec tous les outils SAP, on ne va pas très loin. Il est plus logique que chaque consommateur puisse se servir des données à sa guise, c'est-à-dire une chorégraphie de données. Dans une telle configuration, ce n'est plus le chef d'orchestre qui indique qui doit faire quoi et quand, mais il existe pour chaque objet un canal dans lequel les systèmes peuvent rendre les modifications publiques et d'autres systèmes peuvent consommer les modifications à leur guise.

Par exemple, à chaque modification d'une entrée de partenaire commercial, l'ERP publierait la dernière version et le BW la consommerait une fois par jour en une seule fois. De son côté, une autre application écoute en permanence les modifications apportées à ce topic et peut les intégrer dans sa propre application avec une latence de l'ordre de la milliseconde.

Werner-Daehn

Apache Kafka

Si l'on rassemble toutes ces idées, on arrive inévitablement à Apache Kafka. Ce n'est pas la seule raison pour laquelle Kafka est désormais utilisé par toutes les grandes entreprises et s'impose de plus en plus comme un standard. Si cela fonctionne pour le monde du Big Data, nous pouvons certainement l'utiliser pour les données opérationnelles, n'est-ce pas ?

Apache Kafka se compose essentiellement de "topics", qui représentent le canal de données. Chacun de ces topics peut être partitionné en lui-même afin de permettre la parallélisation des données de masse. Et chaque message de modification a un schéma avec les données correspondantes. Dans notre exemple, il existe donc un schéma "partenaire commercial" avec les données de base telles que le prénom et le nom et toutes les adresses du client y sont imbriquées. Si l'on considère cela du point de vue de l'intégration des données, il s'agit des tables ERP SAP KNA1 avec les données d'adresse ADRC correspondantes. Dans l'intégration des processus, on utilise la structure imbriquée, par exemple via les IDocs SAP ou Bapis.

Cela implique certes un surcroît de travail pour le producteur unique ( !), mais la tâche est beaucoup plus facile pour les nombreux consommateurs. Dans un monde où il y a beaucoup de consommateurs pour chaque domaine, c'est globalement la solution la plus économique.

Mais il ne suffit pas de confier par exemple chaque IDoc à Kafka - et derrière moi le déluge. S'il le faut, il faut mobiliser tout le potentiel. L'une de ces opportunités concerne les changements de structure - la mort de toute solution d'intégration actuelle. Il n'est pas possible d'adapter tous les producteurs et consommateurs de manière synchrone, et il n'est pas non plus judicieux de conserver plusieurs versions de la structure en même temps. C'est pourquoi j'adhère au concept d'évolution des schémas, c'est-à-dire à la capacité d'étendre un schéma sans rien casser.

Le cas le plus simple est facile à expliquer : supposons qu'il y ait deux producteurs et dix consommateurs pour les données de base des partenaires commerciaux. L'un des producteurs, le système SAP, a reçu aujourd'hui un champ Z supplémentaire. Le producteur SAP l'insère dans le schéma officiel et lui donne une valeur par défaut . Désormais, le système SAP peut également envoyer ce champ.

L'autre producteur continue à utiliser la version précédente du schéma pendant les 20 minutes suivantes, jusqu'à ce qu'il se resynchronise. Le passage au nouveau schéma ne le désorganise cependant pas, car ce champ n'existe pas pour lui, il ne le remplit donc pas, il reste donc à . Il n'y a rien à modifier dans ce Producer, il continue simplement à fonctionner comme avant.

Si les consommateurs reçoivent pour la première fois la nouvelle variante de schéma, celle-ci sera désormais utilisée pour lire tous les messages. Ainsi, le champ supplémentaire est toujours présent. Si un ancien message est lu via le nouveau schéma, le champ Z n'est pas dans les données et donc . Dans ce cas également, il n'y a donc pas de complications.

Les consommateurs peuvent à leur tour décider eux-mêmes de la manière dont ils utilisent le nouveau champ. De toute façon, un consommateur d'application n'extrait du schéma que les champs dont il a réellement besoin et le champ Z n'a pour l'instant aucune correspondance dans l'application cible. Un consommateur du Data Lake étend probablement automatiquement la structure cible avec ce champ supplémentaire afin de ne jamais perdre d'informations.

L'évolution des schémas permet donc d'adapter successivement le schéma officiel au fil du temps. Ensuite, il y a les cas où le producteur souhaite envoyer des informations techniques. Pour cela, chaque schéma a une zone d'extension réservée.

En fait, le schéma contient encore quelques informations supplémentaires qui peuvent être intéressantes par la suite : Quel est le système source du message ? À quelles transformations les données ont-elles été soumises ? Comment peut-on évaluer la qualité des données de l'enregistrement ?

Message Queue vs. Kafka Transaction Log

Le cas où un consommateur a vu le champ supplémentaire, mais n'a pas pu l'utiliser, met en évidence un autre problème non résolu : Comment obtenir à nouveau les données déjà chargées ? Avant l'époque de Kafka, on aurait utilisé des files de messages et la seule façon de récupérer toutes les données est de les faire produire à nouveau par la source. Mais elles passent alors par tous les consommateurs, même ceux qui n'y ont aucun intérêt. Si le consommateur suivant est adapté, toutes les données doivent à nouveau être produites. Quelle horreur ! C'est pourquoi les files d'attente de messages ne se sont jamais imposées comme on l'attendait au départ.

La prémisse de notre solution était toutefois que le consommateur puisse décider de ce qu'il lit et quand. Dans ce cas, il devrait également avoir la possibilité de lire à nouveau les données déjà lues. En pratique, on modifierait ce consommateur comme on le souhaite et, au redémarrage, on lui dirait de relire les données des sept derniers jours. Contrairement aux files d'attente de messages, Kafka ne jette pas immédiatement les données, mais est conçu comme un outil de big data pour conserver les messages de modification pendant un certain temps, voire pour toujours.

Cette option est un immense avantage pour de nombreuses autres situations. Par exemple, le développeur peut répéter les mêmes tests autant de fois qu'il le souhaite et obtenir les mêmes données de modification. Ou encore, un nouveau consommateur ne commence pas sans données, mais reçoit dès le premier appel une grande quantité de données.

Si vous êtes également à la recherche d'une solution avantageuse, ouverte et orientée vers l'avenir pour l'intégration de vos différentes applications, vous pouvez vous laisser inspirer sur mon site.

avatar
Werner Dähn, rtdi.io

Werner Dähn est spécialiste de l'intégration des données et directeur de rtdi.io.


Écrire un commentaire

Le travail sur la base SAP est essentiel pour réussir la conversion S/4. 

Ce que l'on appelle le centre de compétences prend ainsi une importance stratégique chez les clients existants de SAP. Indépendamment du modèle d'exploitation d'un S/4 Hana, les thèmes tels que Automatisation, Suivi, Sécurité, Gestion du cycle de vie des applications et Gestion des données la base de l'exploitation opérationnelle de S/4.

Pour la deuxième fois déjà, le magazine E3 organise à Salzbourg un sommet pour la communauté SAP afin de s'informer en détail sur tous les aspects du travail de base de S/4-Hana.

Lieu de la manifestation

FourSide Hôtel Salzbourg,
Trademark Collection by Wyndham
Am Messezentrum 2, 5020 Salzbourg, Autriche
+43-66-24355460

Date de l'événement

mercredi 10 juin, et
Jeudi 11 juin 2026

Billet d'entrée anticipé

Billet régulier

EUR 390 hors TVA
disponible jusqu'au 1.10.2025
EUR 590 hors TVA

Lieu de la manifestation

Hôtel Hilton Heidelberg
Kurfürstenanlage 1
D-69115 Heidelberg

Date de l'événement

mercredi 22 avril et
Jeudi 23 avril 2026

Billets

Billet régulier
EUR 590 hors TVA
Abonnés au magazine E3
à prix réduit avec le Promocode STAbo26
EUR 390 hors TVA
Étudiants*
à prix réduit avec le Promocode STStud26.
Veuillez envoyer votre certificat d'études par e-mail à office@b4bmedia.net.
EUR 290 hors TVA
*Les 10 premiers billets sont gratuits pour les étudiants. Tentez votre chance ! 🍀
L'organisateur est le magazine E3 de la maison d'édition B4Bmedia.net AG. Les conférences seront accompagnées d'une exposition de partenaires SAP sélectionnés. Le prix du billet comprend la participation à toutes les conférences du Steampunk and BTP Summit 2026, la visite de l'espace d'exposition, la participation à la soirée et les repas pendant le programme officiel. Le programme des conférences et la liste des exposants et des sponsors (partenaires SAP) seront publiés en temps utile sur ce site.