{"id":61259,"date":"2015-12-03T14:05:34","date_gmt":"2015-12-03T13:05:34","guid":{"rendered":"http:\/\/e3mag.com\/?p=61259"},"modified":"2019-07-18T09:16:23","modified_gmt":"2019-07-18T07:16:23","slug":"alternatives-a-fiori","status":"publish","type":"post","link":"https:\/\/e3mag.com\/fr\/alternatives-a-fiori\/","title":{"rendered":"Alternatives \u00e0 Fiori"},"content":{"rendered":"<p>Ce sera tout de suite un peu technique, car nous voulons examiner d'un \u0153il critique la technologie Fiori et la comparer \u00e0 l'architecture de notre propre produit \"CIS mobile\".<\/p>\n<p>Il est donc utile pour la compr\u00e9hension d'essayer quelques applications Fiori et notre CIS mobile avant. Voici les liens \u00e0 ce sujet :<\/p>\n<ul>\n<li><a href=\"https:\/\/sapfioritrial.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/sapfioritrial.com<\/a> pour les applications Fiori<\/li>\n<li><a href=\"https:\/\/s10mobile.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/s10mobile.com<\/a> pour CIS mobile<\/li>\n<\/ul>\n<p>Chaque application Fiori repr\u00e9sente une petite fonction d'application standard isol\u00e9e, impl\u00e9ment\u00e9e comme une application web avec HTML5 comme front-end. Elle peut \u00eatre ex\u00e9cut\u00e9e sur n'importe quel appareil compatible avec le web (ordinateur de bureau, tablette, smartphone).<\/p>\n<p>Au niveau de l'interface utilisateur, toutes les applications Fiori se ressemblent, car elles suivent des normes strictes, notamment l'\"interface utilisateur Fiori 1-1-3\" : un r\u00f4le d'utilisateur, un sc\u00e9nario, trois clics. Chaque application Fiori entre dans l'une des cat\u00e9gories \"Transactional app\", \"Fact sheet\" ou \"Analytical app\", seule \"Transactional\" se passe de base de donn\u00e9es Hana.<\/p>\n<p>Sur le plan technologique, les applications Fiori utilisent plusieurs frameworks complexes : l'application fonctionne comme un code JavaScript dans le navigateur. Elle g\u00e9n\u00e8re l'interface HTML5 de mani\u00e8re dynamique avec SAP UI5, n\u00e9cessite le framework JQuery et communique avec le FES (Fiori Frontend Server) via le protocole OData, SAP Web Dispatcher et SAP Gateway.<\/p>\n<p>Le FES contacte finalement SAP Business Suite, qui fournit l'acc\u00e8s aux donn\u00e9es et les fonctions de mise \u00e0 jour sous forme de services sans \u00e9tat dans Abap. Pour notre produit CIS mobile, une application web mobile compl\u00e8te pour les commerciaux bas\u00e9e sur SAP SD, Fiori n'est pas suffisant, tant en ce qui concerne l'interface utilisateur 1-1-3 que l'infrastructure technologique.<\/p>\n<p>Cela est d\u00fb en premier lieu aux exigences l\u00e9gitimes des utilisateurs : un commercial souhaite une vue int\u00e9gr\u00e9e de tous les aspects des clients dont il s'occupe, par exemple les offres, les commandes, les livraisons, la planification des rendez-vous, les rapports de visite, les contrats, les accords de bonus, les documents relatifs au client.<\/p>\n<p>Il attend des diagrammes et des chiffres cl\u00e9s et souhaite renvoyer les informations clients au syst\u00e8me SAP central de mani\u00e8re mobile. Les trois types d'applications, \"transactionnelle\", \"fact sheet\" et \"analytical app\", sont donc n\u00e9cessaires, ainsi qu'une transition transparente de tous les composants.<\/p>\n<p>Les efforts de vente peuvent \u00eatre d'autant plus fructueux que l'on conna\u00eet bien la situation du client. Cela comprend non seulement les offres et les commandes, mais aussi les r\u00e9clamations des clients et les factures impay\u00e9es, par exemple. Avec une telle quantit\u00e9 d'informations, Fiori serait d\u00e9pass\u00e9 par son interface utilisateur 1-1-3.<\/p>\n<p>M\u00eame si l'on parvenait \u00e0 faire entrer l'application dans le sch\u00e9ma Fiori, l'utilisation deviendrait tr\u00e8s laborieuse, car le sch\u00e9ma ma\u00eetre-d\u00e9taill\u00e9 utilis\u00e9 dans Fiori impose des changements de contexte constants avec des vues \u00e0 chaque fois uniquement particuli\u00e8res.<\/p>\n<p>En revanche, l'interface utilisateur de CIS mobile est g\u00e9n\u00e9ralement con\u00e7ue de mani\u00e8re \u00e0 ce que vous puissiez consulter successivement des informations d\u00e9taill\u00e9es qui sont ensuite ins\u00e9r\u00e9es de mani\u00e8re dynamique dans la page affich\u00e9e. Par exemple, pour une commande, vous pouvez afficher les postes de la commande, puis les conditions pour le poste.<\/p>\n<p>Faites de m\u00eame pour un autre poste de commande. Il suffit maintenant de faire d\u00e9filer la page pour comparer les deux positions en d\u00e9tail, ce qui est plus confortable et moins p\u00e9nible qu'une navigation continue en avant\/arri\u00e8re avec la m\u00e9morisation des informations affich\u00e9es.<\/p>\n<h3>IU et technologie<\/h3>\n<p>Mais la technologie Fiori ne pourrait-elle pas \u00eatre utilis\u00e9e pour impl\u00e9menter des mod\u00e8les d'interface utilisateur tr\u00e8s diff\u00e9rents et plus complexes ? C'est apparemment ce que pr\u00e9voit SAP, puisque Fiori doit progressivement remplacer SAP GUI comme frontal pour S\/4 Hana.<\/p>\n<p>Cela va-t-il fonctionner ? Si l'on regarde de plus pr\u00e8s l'impl\u00e9mentation des applications Fiori, il faut beaucoup de JavaScript malgr\u00e9 la petite taille des applications. Si l'on r\u00e9alise une fonction d'application comparable \u00e0 l'application Fiori de mani\u00e8re classique avec Abap-Dynpro, il suffit d'un effort de codage beaucoup moins important. Cela ne rend pas tr\u00e8s optimiste quant aux futures applications complexes.<\/p>\n<h3>Technologie CIS-mobile<\/h3>\n<p>Il y a quelques points communs entre notre technologie CIS-mobile et Fiori, mais des diff\u00e9rences tr\u00e8s importantes. Comme Fiori, nous utilisons HTML5 comme frontal afin de prendre en charge tous les terminaux compatibles avec le web.<\/p>\n<p>Dans le navigateur, le CIS mobile n'ex\u00e9cute pas l'ensemble de l'application, mais uniquement la partie UI sous la forme de masques HTML5 pr\u00e9d\u00e9finis et d'un JavaScript utilis\u00e9 avec parcimonie pour des fonctions UI sp\u00e9cifiques.<\/p>\n<p>Le HTML statique a l'avantage de permettre l'utilisation de n'importe quel \u00e9diteur HTML normal pour d\u00e9velopper et personnaliser en WYSIWYG l'interface, ce qui n'est pas le cas avec UI5.<\/p>\n<p>L'application CIS-mobile elle-m\u00eame se trouve sur un serveur Windows central avec Microsoft IIS (Internet Information Services). Elle est impl\u00e9ment\u00e9e en VB.NET, ce qui offre l'avantage d'un environnement de d\u00e9veloppement sophistiqu\u00e9 et confortable (Visual Studio) dans lequel, contrairement \u00e0 JavaScript, nous disposons de toutes les possibilit\u00e9s de Windows, par exemple l'utilisation de fichiers temporaires ou la cr\u00e9ation de diagrammes avec des paquets graphiques.<\/p>\n<p>CIS mobile communique avec le syst\u00e8me SAP via des interfaces perfomantes sur le r\u00e9seau local, bas\u00e9es sur SAP RFC et SAP GUI. SAP Gateway et OData sont \u00e9galement possibles, mais ne sont pas utilis\u00e9s dans CIS mobile, car nous prenons \u00e9galement en charge les syst\u00e8mes ERP plus anciens et \u00e9galement les syst\u00e8mes non Unicode.<\/p>\n<p>L'acquisition des donn\u00e9es est r\u00e9alis\u00e9e dans des modules fonctionnels Abap, la mise \u00e0 jour des donn\u00e9es SAP (par ex. dates, interlocuteurs, offres) via des transactions SAP GUI (scripting), afin de garantir tous les contr\u00f4les et mises \u00e0 jour standard SAP.<\/p>\n<p>Tous les composants de l'architecture CIS-mobile sont des technologies standard (HTML5, VB.NET, IIS, Abap, RFC et SAP GUI), chacune d'entre elles offrant d\u00e9j\u00e0 une fonctionnalit\u00e9 robuste et riche.<\/p>\n<p>D'une mani\u00e8re relativement simple et \u00e9vidente, ces \u00e9l\u00e9ments sont assembl\u00e9s en une architecture qui permet le d\u00e9veloppement d'applications web sophistiqu\u00e9es dans l'environnement SAP.<\/p>\n<h3>Application c\u00f4t\u00e9 serveur<\/h3>\n<p>L'application c\u00f4t\u00e9 serveur pr\u00e9sente de nombreux avantages : Premi\u00e8rement, la s\u00e9curit\u00e9, car une application JavaScript dans le navigateur peut \u00eatre manipul\u00e9e en appelant le d\u00e9bogage JavaScript.<\/p>\n<p>Deuxi\u00e8mement, nous pouvons conserver sur le serveur, dans un cache d'application distinct accessible par tous les processus utilisateur, des donn\u00e9es en lecture seule fr\u00e9quemment utilis\u00e9es, auxquelles l'application peut acc\u00e9der en quelques microsecondes.<\/p>\n<p>Troisi\u00e8mement, il est plus facile de garantir un d\u00e9veloppement confortable, un d\u00e9pannage et un fonctionnement stable en continu sur un seul serveur que dans une architecture o\u00f9 de grandes parties de l'application s'ex\u00e9cutent sur une multitude d'appareils et de versions de logiciels. Pour un grand nombre d'utilisateurs, il est possible de r\u00e9partir les applications sur plusieurs serveurs.<\/p>\n<p>La connexion entre l'interface utilisateur HTML et VB.NET se fait par action de l'utilisateur en un seul roundtrip entre le front-end et le serveur. Plusieurs requ\u00eates peuvent ensuite avoir lieu entre le serveur et le syst\u00e8me SAP.<\/p>\n<p>Comme le temps de r\u00e9ponse d'une requ\u00eate web est en moyenne plus de dix fois sup\u00e9rieur au temps de r\u00e9ponse du r\u00e9seau local, il s'agit d'une strat\u00e9gie raisonnable qui nous permet d'obtenir de tr\u00e8s bons temps de r\u00e9ponse.<\/p>\n<p>En revanche, dans le cas d'une application c\u00f4t\u00e9 navigateur, il faut s'efforcer de ne pas d\u00e9clencher trop de roundtrips vers le serveur par action de l'utilisateur, ce qui signifie en g\u00e9n\u00e9ral que l'interface de donn\u00e9es des services appel\u00e9s devient de plus en plus volumineuse et doit \u00eatre adapt\u00e9e \u00e0 chaque information suppl\u00e9mentaire.<\/p>\n<p>La r\u00e9utilisation de services par d'autres apps devient difficile, soit parce que l'on se procure trop d'informations et que le syst\u00e8me SAP est inutilement surcharg\u00e9, soit parce que l'on dispose de nombreux services sp\u00e9cialis\u00e9s, mais que l'on a alors besoin de plus de roundtrips.<\/p>\n<h3>UI et application<\/h3>\n<p>Le lien logique entre l'interface utilisateur HTML et VB.NET consiste en un mappage de la hi\u00e9rarchie HTML sur la hi\u00e9rarchie d'objets dans VB.NET. Au total, l'application CIS-mobile est r\u00e9alis\u00e9e sous la forme d'environ 200 classes VB.NET, dont le nom et le contenu s'inspirent g\u00e9n\u00e9ralement des objets de gestion SAP, par exemple les postes de vente VBAP ou les divisions T001W.<\/p>\n<p>Les attributs des classes sont abord\u00e9s dans l'interface HTML par leur nom, qui est collect\u00e9 par l'interpr\u00e9tation du DOM et envoy\u00e9 au serveur.<\/p>\n<p>L'\u00e9valuation des attributs de classe et la navigation au sein de la hi\u00e9rarchie d'objets sur le serveur se font alors de mani\u00e8re dynamique. Chaque classe VB.NET peut fournir ses propres parties d'interface utilisateur sous forme d'images HTML.<\/p>\n<p>Nous obtenons ainsi une certaine ind\u00e9pendance de l'interface utilisateur par rapport \u00e0 l'application. Si, par exemple, le point d'exp\u00e9dition est affich\u00e9 sous forme de code \"1000\" dans la position de commande (\"VSTEL\") et que le texte correspondant \"Point d'exp\u00e9dition Zurich\" est souhait\u00e9, il suffit d'utiliser l'attribut \"VSTEL.VTEXT\" en HTML.<\/p>\n<p>Sur le serveur, l'acc\u00e8s au texte se fait alors automatiquement via la table SAP TVSTT, ce qui ne repr\u00e9sente en g\u00e9n\u00e9ral qu'un acc\u00e8s au cache de quelques microsecondes.<\/p>\n<p>Aucun codage suppl\u00e9mentaire n'est ici n\u00e9cessaire, ni en HTML\/JavaScript, ni en VB.NET, puisque le lien entre le code du point d'exp\u00e9dition et le texte est connu via le mod\u00e8le de donn\u00e9es. D\u00e8s que nous rempla\u00e7ons \u00e0 nouveau \"VSTEL.VTEXT\" par \"VSTEL\", l'acc\u00e8s \u00e0 la table de texte n'est plus n\u00e9cessaire sur le serveur.<\/p>\n<p>Voil\u00e0 pour cette petite incursion dans un d\u00e9tail de l'architecture, qui montre que la mod\u00e9lisation et l'interpr\u00e9tation du mod\u00e8le au moment de l'ex\u00e9cution permettent d'\u00e9conomiser beaucoup de code d'application.<\/p>\n<h3>S\u00e9paration des pr\u00e9occupations<\/h3>\n<p>La s\u00e9paration de l'IU (HTML), du codage de l'application (VB.NET) et des acc\u00e8s SAP (Abap) facilite un processus de d\u00e9veloppement robuste et bien structur\u00e9. Dans Fiori, comme l'IU et l'application sont impl\u00e9ment\u00e9es conjointement en JavaScript, cette s\u00e9paration ne peut \u00eatre obtenue qu'au prix d'une discipline appropri\u00e9e.<\/p>\n<h3>Conclusion<\/h3>\n<p>De par son architecture, la force de Fiori r\u00e9side dans les petites applications isol\u00e9es. CIS mobile est optimis\u00e9 pour mettre \u00e0 disposition de l'utilisateur professionnel la SAP Business Suite de mani\u00e8re ad\u00e9quate, m\u00eame dans une interface web mobile : rapide, claire et compl\u00e8te.<\/p>","protected":false},"excerpt":{"rendered":"<p>Fiori 2.0 comprend des centaines d'applications web. De plus, de nombreux partenaires SAP proposent des solutions bas\u00e9es sur Fiori et chaque client SAP peut d\u00e9velopper ses propres applications Fiori. Mais l'architecture Fiori porte-t-elle aussi pour des interfaces \u00e9tendues et des utilisateurs professionnels, ou faut-il ici d'autres approches ? <\/p>","protected":false},"author":1834,"featured_media":61274,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","footnotes":""},"categories":[4,1591],"tags":[453,1507,65,296,4192],"coauthors":[33788],"class_list":["post-61259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-management","category-1591","tag-abap","tag-fiori","tag-hana","tag-html5","tag-sap-gui","pmpro-has-access"],"acf":[],"featured_image_urls_v2":{"full":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"thumbnail":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-150x150.jpg",150,150,true],"medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",400,155,false],"medium_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-768x297.jpg",768,297,true],"large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"image-100":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-100x39.jpg",100,39,true],"image-480":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-480x186.jpg",480,186,true],"image-640":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-640x248.jpg",640,248,true],"image-720":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-720x279.jpg",720,279,true],"image-960":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-960x372.jpg",960,372,true],"image-1168":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"image-1440":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"image-1920":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"1536x1536":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"2048x2048":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"trp-custom-language-flag":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",18,7,false],"bricks_large_16x9":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"bricks_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"bricks_large_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",1000,387,false],"bricks_medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",600,232,false],"bricks_medium_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015.jpg",600,232,false],"profile_24":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-24x24.jpg",24,24,true],"profile_48":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-48x48.jpg",48,48,true],"profile_96":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-96x96.jpg",96,96,true],"profile_150":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-150x150.jpg",150,150,true],"profile_300":["https:\/\/e3mag.com\/wp-content\/uploads\/2019\/07\/2015-300x300.jpg",300,300,true]},"post_excerpt_stackable_v2":"<p>Fiori 2.0 umfasst Hunderte Web-Applikationen. Zus\u00e4tzlich bieten viele SAP-Partner L\u00f6sungen auf Fiori-Basis an, und jeder SAP-Kunde kann eigene Fiori-Apps entwickeln. Aber tr\u00e4gt die Fiori-Architektur auch f\u00fcr umfangreiche Oberfl\u00e4chen und professionelle Benutzer, oder braucht es hier andere Ans\u00e4tze? <\/p>\n","category_list_v2":"<a href=\"https:\/\/e3mag.com\/fr\/categorie\/gestion\/\" rel=\"category tag\">Business-Management<\/a>, <a href=\"https:\/\/e3mag.com\/fr\/categorie\/1512\/\" rel=\"category tag\">MAG 15-12<\/a>","author_info_v2":{"name":"Gerhard Rod\u00e9, Synactive","url":"https:\/\/e3mag.com\/fr\/author\/gerhard-rode\/"},"comments_num_v2":"0 commentaire","_links":{"self":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/posts\/61259","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\/1834"}],"replies":[{"embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/comments?post=61259"}],"version-history":[{"count":0,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/posts\/61259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/media\/61274"}],"wp:attachment":[{"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/media?parent=61259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/categories?post=61259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/tags?post=61259"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/e3mag.com\/fr\/wp-json\/wp\/v2\/coauthors?post=61259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}