Il s'agit d'un texte à l'intérieur d'un bloc div.
Il s'agit d'un texte à l'intérieur d'un bloc div.
Il s'agit d'un texte à l'intérieur d'un bloc div.
Node.js
GraphQL

Graph de données unifié pour USH

Grandes entreprises
Ingénierie logicielle
Données
USH, qui loge plus de 10 millions de personnes en France, a rationalisé le développement de ses données et de ses applications grâce à une plateforme unifiée construite par code.store. Découvrez comment !

Opportunité

L'USH, qui compte plus de 10 millions de logements en France, était confrontée à un système informatique complexe avec des données fragmentées entre Keycloak, Drupal, CRM et des portails. L'intégration de divers services internes a ralenti le développement de nouvelles applications.

Solution

Nous avons construit une plateforme de données unifiée en utilisant GraphQL et Node.js. Ce hub central relie les sources de données internes et externes, offrant un point d'accès API unique pour USH.

Graph de données unifié pour USH

L'USH, qui compte plus de 10 millions de logements en France, était confrontée à un système informatique complexe avec des données fragmentées entre Keycloak, Drupal, CRM et des portails. L'intégration de divers services internes a ralenti le développement de nouvelles applications.

Quelles étaient les exigences pour le site unifié graphe de données?

  • Accès unifié aux données. Concentrer la logique commerciale et le traitement des préoccupations nécessaires pour se connecter à de multiples fournisseurs de données dans un seul intergiciel GraphQL. Cela a considérablement simplifié la vie des développeurs d'applications.
  • Plus de liberté pour les consommateurs de données. Grâce à GraphQL, les applications qui s'intègrent à la couche API sont désormais capables d'extraire les données dont elles ont besoin sans soliciter les équipes de backend.

Comment avons-nous mis en œuvre une version unifiée de graphe de données avec GraphQL ?

Notre première étape a consisté à comprendre l'architecture et les sources de données du système informatique existant à l'USH. Nous avons identifié Keycloak, Drupal, CRM et divers portails comme étant les principales sources de données.

Deuxièmement, nous avons conçu un schéma GraphQL fédéré. Ce processus a consisté à combiner plusieurs schémas graphiques pour créer une API unifiée. L'architecture fédérée a facilité l'intégration de différentes sources de données, ce qui a facilité la construction d'un site unifié graphe de données .

Enfin, nous avons implémenté le schéma en utilisant TypeScript et Node.js. Ces technologies ont permis de garantir l'évolutivité et la maintenance de notre solution backend, capable de gérer les structures de données étendues d'USH.

Tout au long du processus, nous avons respecté les meilleures pratiques en matière de conception de schémas et utilisé les outils Apollo pour construire le graphe fédéré. Nous avons également tiré parti de la capacité de GraphQL à effectuer plusieurs mutations en une seule requête, optimisant ainsi la récupération et le traitement des données.

Pourquoi GraphQL ?

GraphQL a été choisi pour plusieurs raisons. Tout d'abord, il offre une approche unifiée de l'extraction des données, réduisant ainsi la complexité des interactions client-serveur. Cette caractéristique permet une collaboration transparente entre différents services GraphQL, ce qui simplifie la création d'un site unifié graphe de données.

Deuxièmement, GraphQL permet aux clients de demander leurs propres spécifications de données. En permettant de récupérer des structures de données précises, il réduit l'utilisation de la bande passante et accélère le développement.

Enfin, GraphQL prend en charge les requêtes imbriquées dans une seule demande, ce qui permet d'économiser du temps et de la bande passante en limitant les demandes du serveur. Ce traitement efficace des données est crucial lorsqu'il s'agit de systèmes informatiques complexes tels que celui de l'USH.

Qu'est-ce qu'un graphe de données universel fédéré ?

Un graphe de données universel vise à rationaliser et à simplifier la gestion des données en créant une interface unifiée pour l'accès aux données. Ce graphe est construit sur le concept de GraphQL Federation, une approche architecturale distribuée qui permet aux développeurs d'intégrer des données provenant de sources multiples dans une API unique et cohérente.

Cette API unifiée, ou graphe de données, est le point central par lequel les développeurs peuvent gérer toutes les demandes de données. Elle fusionne effectivement tous les graphes de données des microservices en un seul, éliminant ainsi le besoin de demandes d'API multiples vers différentes sources de données.

Le concept d'un graphique de données universel consiste à s'affranchir des sources de données individuelles et des API GraphQL. Au lieu de cela, toutes les données sont exposées par le biais d'une interface unique et unifiée, ce qui facilite l'accès aux données et leur gestion.

Qu'est-ce que le Keycloak ?

Keycloak est un outil open-source qui offre des fonctions de sécurité complètes, notamment des services d'authentification et d'autorisation pour les applications. Il permet l'émission sécurisée de jetons, tels que les jetons de support, qui sont essentiels pour garantir la sécurité des demandes d'API.

Dans le contexte de GraphQL, Keycloak fonctionne en tandem avec d'autres solutions pour ajouter une couche supplémentaire de sécurité. Par exemple, il peut être utilisé avec le middleware Express ou des adaptateurs JavaScript pour gérer l'authentification dans un backend Node.js. De plus, les rôles et permissions des utilisateurs de Keycloak peuvent être intégrés dans GraphQL, ce qui garantit que seuls les utilisateurs authentifiés disposant des permissions adéquates peuvent exécuter certaines opérations.

Dans le cadre du projet USH, nous avons intégré Keycloak comme solution d'authentification et d'autorisation.

Comment votre produit peut-il bénéficier de GraphQL ?

Chez code.store, nous fournissons une assistance complète pour la mise en œuvre de GraphQL. Nos services comprennent :

  • Conception de schémas fédérés : Nous aidons à concevoir des schémas GraphQL fédérés qui peuvent intégrer des sources de données disparates dans un graphe unifié.
  • Technologies Backend : Nous nous appuyons sur des technologies avancées telles que TypeScript et Node.js pour construire des solutions backend robustes et évolutives.
  • Optimisation de la recherche de données : nous vous aidons à optimiser vos processus de recherche de données, en utilisant les capacités de GraphQL pour les requêtes multi-mutations.
  • Meilleures pratiques : Nous adhérons aux meilleures pratiques en matière de conception de schémas et utilisons des outils de pointe tels qu'Apollo pour construire des graphes fédérés.

Discutons de la manière dont nous pouvons vous aider à exploiter la puissance du développement low-code pour relever les défis de votre organisation en matière de données.

Nous délivrons avec passion

API
Performances
Contenu
SEO
Données
Application pour les consommateurs
Ingénierie logicielle
Sur site
Développement mobile
ERP
E-commerce
Recrutement
Cloud
Migration de contenu
IA
Frontend
CMS
Headless
Backend
Low-code
Applications professionnelles
L'IA conversationnelle
Éducation
Médias et édition
Santé
Services financiers
Grandes entreprises
Start-Up

2024 Low-Code Benchmark : Top 50

Nous vous remercions ! Votre demande a bien été reçue !
Oups ! Un problème s'est produit lors de l'envoi du formulaire.

On vous offre 30 minutes de consultation!

Réservez votre appel