Hub

Vous êtes ici :

Présentation

Le Hub est un projet qui a permis d’apporter de nouvelles fonctionnalités non couvertes par le spectre applicatif du SI. La motivation première de la mise en place du Hub est sans aucun doute le besoin de disposer d’une API gateway à moindre coût, pour tester et éprouver les applications low code de l’écosystème Microsoft Power Automate.

3 composants fonctionnels sont couverts :

  • Moteur de règles sur les objets métiers (anomalies opérationnelles et détection de bugs applicatifs)
  • Exposition API publique et sécurisée des données du SI
  • Référentiel non couvert par un existant

La mise en place du Hub a permis d’accélérer la mise en place d’applications / traitements low-code en délivrant les briques fonctionnelles sans un délai très réduit.

Réalisé sous le framework PHP Symfony, le Hub bénéficie d’une large souplesse dans les traitements. Depuis des connexions externes, le moteur de calcul permet d’interroger diverses entités métiers et d’en analyser l’état pour détecter des problématiques.

Les premiers calculs d’indicateurs ont été dédiés aux objets métier commerce. Le logiciel de vente étant permissif dans les usages, nous avons mis sous contrôle les commandes réalisées afin de détecter les incohérences des agents opérationnels. Par exemple, je ne peux expédier ma commande client en livraison domicile uniquement si celle-ci est réglée. Ou encore, je ne peux pas réaliser de commande client en retrait sur mon magasin si le dépôt associé à la commande ne concerne pas le magasin.

Au fur et mesure, ces indicateurs opérationnels ont été complétés par des indicateurs logiciels dont l’objectif et de détecter des anomalies logiciels n’étant pas du fait de l’opérateur (bug logiciel).

L’ensemble de ces anomalies émettent des flags associés aux objets métiers qui déclenchent des rapports de traitement. Ceux-ci émettent un signal à destination de la suite Microsoft Power Automate qui prend le relais sur l’interprétation du rapport du traitement et génère des alertes pour nos agents en magasin (alertes email ou Microsoft Teams) ou notre support technique (ticketing).

Moteur de règle

Exposition API

La brique API du Hub a permis d’accélérer la mise en place de nouvelles solutions applicatives via Microsoft Power Automate (Power Apps). Cette exposition API REST rend accessible les données de notre SI vers n’importe quelle autre brique du SI. Avec cette exposition, la suite Microsoft Power Automate externe au SI (cloud) permet de faire partie intégrante de l’architecture du SI puisque l’échange des données est, de fait, complétement fluidifié et en temps réel.

La mise en place des API est réalisée notamment grâce au bundle Symfony Api Platform, complété par des contrôleurs spécifiques. Le hub interroge les différentes briques du SI selon divers moyens (bases de données, fichiers plats, etc) et restitue les données au format JSON, attendu par l’API REST. Une logique est parfois implémentée pour y ajouter des règles métiers.

L’ensemble des règles métiers régies sont développées dans le Hub et ne sont pas administrables par un utilisateur métier. Chaque mise à jour ou nouvelle donnée doit passer par une ressources de développement, ce qui différencie clairement cette brique d’un ETL ou d’une plateforme analytique.

Certaines données utilisées dans le système d’information n’ont pas d’interface métier qui permet de les administrer. Les données partagées entre plusieurs applicatifs n’ont pas nécessairement de maître de la données. Prenons par exemple un référentiel magasin, il est à la fois utilisé par les applicatifs supply  pour piloter les achats de marchandise, par les applicatifs commerces pour gérer les différents points de vente, par les applicatifs RH pour gérer les plannings des ressources humaines, et pourtant aucun outil n’est légitime pour référencer ces informations.

Pour répondre à ce besoin, le Hub a posé un référentiel au centre du système d’information. Il complète la donnée afin de la rendre utile pour les briques applicatives et constitue un référentiel de qualité qui pourra être exposé pour n’importe quel acteur du SI.

L’administration du référentiel est réalisé par le bundle Symfony EasyAdmin qui permet de mettre en place rapidement des interfaces CRUD.

Référentiel

Plus de missions & réalisations