{"id":67859,"date":"2020-09-23T08:00:00","date_gmt":"2020-09-23T06:00:00","guid":{"rendered":"http:\/\/e3mag.com\/?p=67859"},"modified":"2020-09-23T13:43:59","modified_gmt":"2020-09-23T11:43:59","slug":"un-guide-de-lintegration-des-donnees-sap","status":"publish","type":"post","link":"https:\/\/e3mag.com\/fr\/ein-leitfaden-zur-sap-datenintegration\/","title":{"rendered":"Un guide de l'int\u00e9gration des donn\u00e9es SAP"},"content":{"rendered":"<p>Aujourd'hui, le SDI est utilis\u00e9 dans toutes les solutions Hana et est devenu une \u00e9vidence pour les clients. Avec l'\u00e9tape suivante de l'\u00e9volution, je voulais r\u00e9unir l'int\u00e9gration des donn\u00e9es et des processus d'une mani\u00e8re in\u00e9dite. La technique \u00e9tait enfin suffisamment avanc\u00e9e pour pouvoir r\u00e9unir les deux cat\u00e9gories de produits. Mais cela s'est heurt\u00e9 \u00e0 la structure organisationnelle de SAP et n'a pas \u00e9t\u00e9 retenu. <\/p>\n\n\n\n<p>Aujourd'hui, le sujet de l'int\u00e9gration est remont\u00e9 jusqu'au conseil d'administration et le r\u00e9sultat n'est pas tr\u00e8s convaincant. Pire encore, je vois de nombreux clients existants de SAP qui r\u00e9solvent ce probl\u00e8me d'int\u00e9gration pour eux-m\u00eames de mani\u00e8re intelligente, c'est-\u00e0-dire qu'ils sont d\u00e9j\u00e0 plus avanc\u00e9s que SAP lui-m\u00eame. La touche finale est apport\u00e9e \u00e0 ces clients par la solution open source que ma soci\u00e9t\u00e9 met \u00e0 leur disposition.<\/p>\n\n\n\n<p>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\u00e9lior\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Syst\u00e8me vs. int\u00e9gration des donn\u00e9es<\/h3>\n\n\n\n<p>Si l'on consid\u00e8re le portefeuille de produits de SAP, il existe une s\u00e9paration nette entre l'int\u00e9gration de processus et l'int\u00e9gration de donn\u00e9es. Dans un cas, on veut relier le syst\u00e8me ERP \u00e0 une autre application, dans l'autre, on veut transf\u00e9rer des contenus de table de A \u00e0 B. Si l'on demande \u00e0 un d\u00e9veloppeur d'applications, il parle d'\"entit\u00e9s\" comme le partenaire commercial. Dans l'int\u00e9gration des donn\u00e9es, on descend d'un niveau, celui des tables. Cette s\u00e9paration n'existe pas dans le monde des Big Data. L\u00e0, tous les produits peuvent traiter des objets profond\u00e9ment imbriqu\u00e9s et une table de base de donn\u00e9es n'est qu'un objet particuli\u00e8rement simple. D'o\u00f9 la premi\u00e8re conclusion : oublions plut\u00f4t les outils de base de donn\u00e9es et regardons plut\u00f4t du c\u00f4t\u00e9 des produits Big Data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Batch vs. temps r\u00e9el<\/h3>\n\n\n\n<p>Ensuite, il y a des outils qui transmettent des donn\u00e9es de masse par lots, et d'autres sont con\u00e7us pour le temps r\u00e9el. Cette s\u00e9paration s'explique par des raisons techniques, mais d'un point de vue purement logique, le temps r\u00e9el est un super-ensemble des deux. Dans le cadre d'un traitement par lots, il n'est jamais possible de transmettre les donn\u00e9es \u00e0 des intervalles aussi courts que l'on veut. Avec un syst\u00e8me en temps r\u00e9el, 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\u00e9es sont soudainement g\u00e9n\u00e9r\u00e9es pour un court intervalle. Mais pour cela, l'outil en temps r\u00e9el doit pouvoir traiter des donn\u00e9es en masse - ce qui nous ram\u00e8ne au portefeuille des Big Data.<\/p>\n\n\n\n<p>Si l'on consid\u00e8re la solution sous l'angle de la question de savoir quels syst\u00e8mes sont coupl\u00e9s \u00e0 quels autres, il s'agissait plut\u00f4t dans le pass\u00e9 d'une relation un \u00e0 un. Les donn\u00e9es SAP ERP vont dans SAP BW. Les donn\u00e9es de la saisie des temps atterrissent sous forme d'\u00e9critures dans le module SAP HCM. Et c'est exactement ainsi que sont construits les outils SAP. Si cette hypoth\u00e8se n'\u00e9tait d\u00e9j\u00e0 pas forc\u00e9ment correcte auparavant, de tr\u00e8s nombreux syst\u00e8mes consommateurs sont aujourd'hui connect\u00e9s \u00e0 chaque syst\u00e8me source - et la tendance est \u00e0 la hausse. Par exemple, les donn\u00e9es ERP vont dans SAP BW, dans un Data Lake, dans Ariba, dans Salesforce et dans d'innombrables autres applications d'entreprise intelligentes.<\/p>\n\n\n\n<p>Ainsi, m\u00eame avec une orchestration des donn\u00e9es, comme c'est le cas avec tous les outils SAP, on ne va pas tr\u00e8s loin. Il est plus logique que chaque consommateur puisse se servir des donn\u00e9es \u00e0 sa guise, c'est-\u00e0-dire une chor\u00e9graphie de donn\u00e9es. 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\u00e8mes peuvent rendre les modifications publiques et d'autres syst\u00e8mes peuvent consommer les modifications \u00e0 leur guise.<\/p>\n\n\n\n<p>Par exemple, \u00e0 chaque modification d'une entr\u00e9e de partenaire commercial, l'ERP publierait la derni\u00e8re version et le BW la consommerait une fois par jour en une seule fois. De son c\u00f4t\u00e9, une autre application \u00e9coute en permanence les modifications apport\u00e9es \u00e0 ce topic et peut les int\u00e9grer dans sa propre application avec une latence de l'ordre de la milliseconde.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn.jpg\" alt=\"Werner-Daehn\" class=\"wp-image-67860\" srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn.jpg 800w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-150x150.jpg 150w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-768x768.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-100x100.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-480x480.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-640x640.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-720x720.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-24x24.jpg 24w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-48x48.jpg 48w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-96x96.jpg 96w, https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/Werner-Daehn-300x300.jpg 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Apache Kafka<\/h3>\n\n\n\n<p>Si l'on rassemble toutes ces id\u00e9es, on arrive in\u00e9vitablement \u00e0 Apache Kafka. Ce n'est pas la seule raison pour laquelle Kafka est d\u00e9sormais utilis\u00e9 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\u00e9es op\u00e9rationnelles, n'est-ce pas ?<\/p>\n\n\n\n<p>Apache Kafka se compose essentiellement de \"topics\", qui repr\u00e9sentent le canal de donn\u00e9es. Chacun de ces topics peut \u00eatre partitionn\u00e9 en lui-m\u00eame afin de permettre la parall\u00e9lisation des donn\u00e9es de masse. Et chaque message de modification a un sch\u00e9ma avec les donn\u00e9es correspondantes. Dans notre exemple, il existe donc un sch\u00e9ma \"partenaire commercial\" avec les donn\u00e9es de base telles que le pr\u00e9nom et le nom et toutes les adresses du client y sont imbriqu\u00e9es. Si l'on consid\u00e8re cela du point de vue de l'int\u00e9gration des donn\u00e9es, il s'agit des tables ERP SAP KNA1 avec les donn\u00e9es d'adresse ADRC correspondantes. Dans l'int\u00e9gration des processus, on utilise la structure imbriqu\u00e9e, par exemple via les IDocs SAP ou Bapis.<\/p>\n\n\n\n<p>Cela implique certes un surcro\u00eet de travail pour le producteur unique ( !), mais la t\u00e2che est beaucoup plus facile pour les nombreux consommateurs. Dans un monde o\u00f9 il y a beaucoup de consommateurs pour chaque domaine, c'est globalement la solution la plus \u00e9conomique.<\/p>\n\n\n\n<p>Mais il ne suffit pas de confier par exemple chaque IDoc \u00e0 Kafka - et derri\u00e8re moi le d\u00e9luge. S'il le faut, il faut mobiliser tout le potentiel. L'une de ces opportunit\u00e9s concerne les changements de structure - la mort de toute solution d'int\u00e9gration actuelle. Il n'est pas possible d'adapter tous les producteurs et consommateurs de mani\u00e8re synchrone, et il n'est pas non plus judicieux de conserver plusieurs versions de la structure en m\u00eame temps. C'est pourquoi j'adh\u00e8re au concept d'\u00e9volution des sch\u00e9mas, c'est-\u00e0-dire \u00e0 la capacit\u00e9 d'\u00e9tendre un sch\u00e9ma sans rien casser. <\/p>\n\n\n\n<p>Le cas le plus simple est facile \u00e0 expliquer : supposons qu'il y ait deux producteurs et dix consommateurs pour les donn\u00e9es de base des partenaires commerciaux. L'un des producteurs, le syst\u00e8me SAP, a re\u00e7u aujourd'hui un champ Z suppl\u00e9mentaire. Le producteur SAP l'ins\u00e8re dans le sch\u00e9ma officiel et lui donne une valeur par d\u00e9faut . D\u00e9sormais, le syst\u00e8me SAP peut \u00e9galement envoyer ce champ. <\/p>\n\n\n\n<p>L'autre producteur continue \u00e0 utiliser la version pr\u00e9c\u00e9dente du sch\u00e9ma pendant les 20 minutes suivantes, jusqu'\u00e0 ce qu'il se resynchronise. Le passage au nouveau sch\u00e9ma ne le d\u00e9sorganise cependant pas, car ce champ n'existe pas pour lui, il ne le remplit donc pas, il reste donc \u00e0 . Il n'y a rien \u00e0 modifier dans ce Producer, il continue simplement \u00e0 fonctionner comme avant.<\/p>\n\n\n\n<p>Si les consommateurs re\u00e7oivent pour la premi\u00e8re fois la nouvelle variante de sch\u00e9ma, celle-ci sera d\u00e9sormais utilis\u00e9e pour lire tous les messages. Ainsi, le champ suppl\u00e9mentaire est toujours pr\u00e9sent. Si un ancien message est lu via le nouveau sch\u00e9ma, le champ Z n'est pas dans les donn\u00e9es et donc . Dans ce cas \u00e9galement, il n'y a donc pas de complications.<\/p>\n\n\n\n<p>Les consommateurs peuvent \u00e0 leur tour d\u00e9cider eux-m\u00eames de la mani\u00e8re dont ils utilisent le nouveau champ. De toute fa\u00e7on, un consommateur d'application n'extrait du sch\u00e9ma que les champs dont il a r\u00e9ellement besoin et le champ Z n'a pour l'instant aucune correspondance dans l'application cible. Un consommateur du Data Lake \u00e9tend probablement automatiquement la structure cible avec ce champ suppl\u00e9mentaire afin de ne jamais perdre d'informations.<\/p>\n\n\n\n<p>L'\u00e9volution des sch\u00e9mas permet donc d'adapter successivement le sch\u00e9ma officiel au fil du temps. Ensuite, il y a les cas o\u00f9 le producteur souhaite envoyer des informations techniques. Pour cela, chaque sch\u00e9ma a une zone d'extension r\u00e9serv\u00e9e.<\/p>\n\n\n\n<p>En fait, le sch\u00e9ma contient encore quelques informations suppl\u00e9mentaires qui peuvent \u00eatre int\u00e9ressantes par la suite : Quel est le syst\u00e8me source du message ? \u00c0 quelles transformations les donn\u00e9es ont-elles \u00e9t\u00e9 soumises ? Comment peut-on \u00e9valuer la qualit\u00e9 des donn\u00e9es de l'enregistrement ?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Message Queue vs. Kafka Transaction Log<\/h3>\n\n\n\n<p>Le cas o\u00f9 un consommateur a vu le champ suppl\u00e9mentaire, mais n'a pas pu l'utiliser, met en \u00e9vidence un autre probl\u00e8me non r\u00e9solu : Comment obtenir \u00e0 nouveau les donn\u00e9es d\u00e9j\u00e0 charg\u00e9es ? Avant l'\u00e9poque de Kafka, on aurait utilis\u00e9 des files de messages et la seule fa\u00e7on de r\u00e9cup\u00e9rer toutes les donn\u00e9es est de les faire produire \u00e0 nouveau par la source. Mais elles passent alors par tous les consommateurs, m\u00eame ceux qui n'y ont aucun int\u00e9r\u00eat. Si le consommateur suivant est adapt\u00e9, toutes les donn\u00e9es doivent \u00e0 nouveau \u00eatre produites. Quelle horreur ! C'est pourquoi les files d'attente de messages ne se sont jamais impos\u00e9es comme on l'attendait au d\u00e9part.<\/p>\n\n\n\n<p>La pr\u00e9misse de notre solution \u00e9tait toutefois que le consommateur puisse d\u00e9cider de ce qu'il lit et quand. Dans ce cas, il devrait \u00e9galement avoir la possibilit\u00e9 de lire \u00e0 nouveau les donn\u00e9es d\u00e9j\u00e0 lues. En pratique, on modifierait ce consommateur comme on le souhaite et, au red\u00e9marrage, on lui dirait de relire les donn\u00e9es des sept derniers jours. Contrairement aux files d'attente de messages, Kafka ne jette pas imm\u00e9diatement les donn\u00e9es, mais est con\u00e7u comme un outil de big data pour conserver les messages de modification pendant un certain temps, voire pour toujours.<\/p>\n\n\n\n<p>Cette option est un immense avantage pour de nombreuses autres situations. Par exemple, le d\u00e9veloppeur peut r\u00e9p\u00e9ter les m\u00eames tests autant de fois qu'il le souhaite et obtenir les m\u00eames donn\u00e9es de modification. Ou encore, un nouveau consommateur ne commence pas sans donn\u00e9es, mais re\u00e7oit d\u00e8s le premier appel une grande quantit\u00e9 de donn\u00e9es.<\/p>\n\n\n\n<p>Si vous \u00eates \u00e9galement \u00e0 la recherche d'une solution avantageuse, ouverte et orient\u00e9e vers l'avenir pour l'int\u00e9gration de vos diff\u00e9rentes applications, vous pouvez vous laisser inspirer sur mon site.<\/p>","protected":false},"excerpt":{"rendered":"<p>Le d\u00e9veloppement de logiciels prend du temps, il faut donc planifier la solution avant m\u00eame que les premiers clients ne la demandent. Lorsque j'ai invent\u00e9 Hana Smart Data Integration (SDI), personne n'avait encore une telle solution sur le radar - les outils ETL \u00e9taient assez bons.<\/p>","protected":false},"author":1891,"featured_media":67861,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","footnotes":""},"categories":[5,37840],"tags":[1268,600,601,73,65,8155,16452],"coauthors":[36006],"class_list":["post-67859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-management","category-mag-2007","tag-datenintegration","tag-digitale-transformation","tag-digitalisierung","tag-erp","tag-hana","tag-realtime","tag-sdi","pmpro-has-access"],"acf":[],"featured_image_urls_v2":{"full":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"thumbnail":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-150x150.jpg",150,150,true],"medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",400,180,false],"medium_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-768x346.jpg",768,346,true],"large":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"image-100":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-100x45.jpg",100,45,true],"image-480":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-480x216.jpg",480,216,true],"image-640":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-640x288.jpg",640,288,true],"image-720":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-720x324.jpg",720,324,true],"image-960":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-960x432.jpg",960,432,true],"image-1168":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"image-1440":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"image-1920":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"1536x1536":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"2048x2048":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"trp-custom-language-flag":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",18,8,false],"bricks_large_16x9":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"bricks_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"bricks_large_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",1000,450,false],"bricks_medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",600,270,false],"bricks_medium_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662.jpg",600,270,false],"profile_24":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-24x24.jpg",24,24,true],"profile_48":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-48x48.jpg",48,48,true],"profile_96":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-96x96.jpg",96,96,true],"profile_150":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-150x150.jpg",150,150,true],"profile_300":["https:\/\/e3mag.com\/wp-content\/uploads\/2020\/08\/shutterstock_1259435662-300x300.jpg",300,300,true]},"post_excerpt_stackable_v2":"<p>Softwareentwicklung kostet Zeit, daher muss man die L\u00f6sung planen, bevor die ersten Kunden \u00fcberhaupt danach fragen. Als ich Hana Smart Data Integration (SDI) erfunden habe, hat noch niemand so eine L\u00f6sung auf dem Radar gehabt \u2013 ETL-Tools waren gut genug.<\/p>\n","category_list_v2":"<a href=\"https:\/\/e3mag.com\/fr\/category\/it-management\/\" rel=\"category tag\">IT-Management<\/a>, <a href=\"https:\/\/e3mag.com\/fr\/category\/mag-2007\/\" rel=\"category tag\">MAG 20-07<\/a>","author_info_v2":{"name":"Werner D\u00e4hn, rtdi.io","url":"https:\/\/e3mag.com\/fr\/author\/werner-daehn\/"},"comments_num_v2":"0 commentaire","_links":{"self":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/posts\/67859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/users\/1891"}],"replies":[{"embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/comments?post=67859"}],"version-history":[{"count":0,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/posts\/67859\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/media\/67861"}],"wp:attachment":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/media?parent=67859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/categories?post=67859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/tags?post=67859"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/coauthors?post=67859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}