/
/
Participation à la classe des systèmes intégrés

Février 20, 2019

Participation à la classe des systèmes intégrés

De temps en temps, des défis inattendus apparaissent et il y a deux semaines, alors que j'étais au milieu de la formation API XD, nous avons reçu une demande pour participer à une classe de l'unité de programme Mise en œuvre des systèmes intégrés de la 3e année, 2e semestre de la Master intégré en ingénierie et gestion des systèmes d'information à l'Université du Minho.

Cette UE aborde le thème des systèmes intégrés comme logiciels (ERP, …), comme intégration de systèmes (SOA, …) et fonctionne également comme une UE qui intègre les connaissances acquises au cours des 1er, 2ème et 1er semestre de la 3ème année.

Intégration des systèmes d'information, à savoir les logiciels de gestion, est quelque chose avec lequel nous travaillons très régulièrement chez Samsys donc, même si nous n'avions rien préparé, nous avons pensé qu'il serait intéressant et important de participer à ce cours.

L'idée était d'être une présentation très pratique et c'est dans cet esprit que nous avons essayé de la préparer.
Avant de présenter ces cas, j'ai essayé de donner un cadre de notre vision de la réalité de l'intégration de systèmes, tant dans le monde en général que dans les défis concrets que nous posent nos clients.

Pour aborder initialement le sujet de l'intégration de systèmes, j'ai utilisé une idée qui, à mon avis, capture l'essence de ce concept. Cette image représentait une personne, avec un ensemble de feuilles, passant ces feuilles à une autre personne. Il m'a semblé que c'était une bonne métaphore car, après tout, quand on parle d'intégration de systèmes, on parle de partager quelque chose (une information) qu'un système (l'une des personnes) possède avec un autre système (l'autre personne).

Bien sûr, comme on dit, le diable est dans les détails, et si, conceptuellement, il ne s'agit en réalité que d'un partage d'informations, lorsqu'on commence à détailler le problème, bien d'autres questions se posent.

  • Exigences : Fiabilité ; Cohérence; La rapidité
  • Stratégies : En ligne ; lot; des dossiers; base de données; services Web, …
  • Spécifications : Protocoles ; Systèmes ouverts / fermés
  • Développement : à partir de zéro ; Dans les produits existants

Nous parlons peut-être de réfléchir à la manière dont nous allons surveiller l'ensemble du processus pour voir s'il est fiable… ce que nous allons construire pour que lorsqu'une erreur se produit, nous puissions en être informés à l'avance et être en mesure de le résoudre ;

Soit, comprendre les exigences en termes de rapidité d'intégration, ce qui peut conduire à comprendre si l'on doit penser à un système d'intégration en ligne ou en batch, et être en batch avec quelle fréquence et quel type d'incohérences de données admettons-nous comme possible.

Reste ensuite à définir ou connaître les manières dont on va faire communiquer les deux systèmes, en échangeant des fichiers, en accédant directement aux bases de données de chacun de ces systèmes, via des apis ou des webservices.

Dans le cas de certains systèmes plus spécifiques, il peut encore être obligatoire de savoir quels protocoles de communication doivent être établis, ce qui peut être plus ou moins compliqué s'il s'agit de systèmes ouverts ou fermés.

Et, dans notre cas, dans lequel nous développons ces systèmes, nous devons comprendre si nous allons tout construire à partir de zéro, si nous allons utiliser un composant ou si nous allons utiliser un framework complet qui fait déjà ce type de service disponible, ne faisant que le paramétrage de chacun des systèmes à intégrer.

Ce que nous avons vu comme une tendance générale est une voie de cette industrie vers des microservices avec des API de repos qui peuvent ensuite être programmées directement ou orchestrées afin qu'elles puissent communiquer entre elles.

Cependant, la réalité Samsys la plus courante est celle de l'intégration de systèmes, que l'on pourrait appeler à l'heure actuelle des classiques, de type client/serveur, dans laquelle nous avons une application de bureau Windows qui se connecte à une base de données qui fournit les informations à traiter.

Cela ne veut pas dire que les différents constructeurs avec lesquels nous travaillons ne peuvent pas déjà disposer de solutions 100% web comme DriveFX dans le cas de PHC ou webifié comme PHC cs web (je dis webifié car il a encore besoin de PHC CS Desktop), ou Jasmin dans le cas du printemps (fabricant peu expressif dans le portefeuille Samsys).

Autrement dit, bien que la tendance actuelle soit de connecter les applications Web via des API de repos, dans notre cas, nous devons généralement créer une interface Web qui se connecte au logiciel de gestion, puis interagit avec l'autre système avec lequel nous souhaitons nous intégrer.

Dans ce scénario, nous avons encore un autre problème auquel nous devons généralement faire face et qui concerne la manière dont ces systèmes permettent d'accéder à leurs données et à leur logique. Avant les autres API ou webservices, il y avait le concept d'API. A l'époque où l'on parlait de DLL d'intégration, typiquement vendues comme des modules additionnels au logiciel de base, ces API Windows (appelons-les ainsi) permettent, a minima, de s'abstraire de la logique implémentée dans l'ERP ainsi que de la structure de la base de données.
C'est le scénario pour Sage, XD, Primavera et Wintouch, et s'il n'y a pas d'option pour une API Web, avoir au moins ce type d'API est un bon début.

Ce sont toutes les questions précédentes avec lesquelles nous devons travailler, et c'est aussi un sujet que j'ai essayé de couvrir dans la présentation. Le développement de logiciels et de ce type de systèmes ne vit pas uniquement de la technique. Le contexte dans lequel nous travaillons, c'est-à-dire les entreprises pour lesquelles nous fournissons des services, est très pertinent pour comprendre leurs besoins, leurs attentes et comment nous pouvons mettre en œuvre cette solution.

Ensuite, nous passons à la présentation de cas particuliers. Où nous essayons de donner une idée, parfois peut-être trop exhaustive, de la manière dont nous construisons ces solutions. Présenter du code, parler des enjeux de ces implémentations et répondre à quelques questions qui se sont posées.

Les exemples que nous avons présentés, et qui ont été présentés par mon collègue Telmo Marques, comprenaient des solutions qui utilisaient Sage Extensibility ou des applications qui utilisaient l'API Sage pour intégrer des données, d'autres avec Primavera pour s'intégrer à une boutique en ligne dans WordPress/WooCommerce, notre addon pour la Wintouch Oficinas qui permet d'envoyer des SMS aux clients dont la voiture doit passer au contrôle technique ou quelques exemples que nous avons déjà essayés avec l'API XD.

Dans l'ensemble, j'ai été surpris que nous ayons pu garder un public d'environ 100 étudiants, à la fin de la journée, relativement intéressé et qui posait quelques questions lors des présentations. Donc une bonne expérience.

Partagez l'article !

/
/
Participation à la classe des systèmes intégrés

Assistance Samsys

Nous avons une équipe dédiée à nos clients. Faites une nouvelle demande d'assistance ou si vous souhaitez télécharger l'accès à distance. 

Vous pouvez également nous contacter directement en utilisant les contacts ci-dessous.