Jump to section

Un registre de services, qu'est-ce que c'est ?

Copier l'URL

Un registre de services est une base de données qui sert au stockage des structures de données utilisées pour la communication entre applications. C'est un point central où les développeurs peuvent enregistrer et trouver des schémas utiles pour créer des applications spécifiques.

Voyons comment fonctionne un registre de services, en particulier avec Apache Kafka. Le registre de services est idéal dans ce cas d'utilisation précis. En effet, Kafka ne fournit pas automatiquement la structure des données aux consommateurs et ne propose pas de fonction de vérification des données. Le système Kafka n'analyse pas les données, il ne les lit même pas. Par conséquent, il n'utilise pas de ressources vitales, ce qui lui permet de distribuer les données aux consommateurs de façon directe et très rapide. S'il prenait le temps de vérifier les données, il serait bien moins performant. L'absence de gouvernance des données n'est donc pas gênante, bien au contraire. C'est un gage de performances élevées, l'un des avantages majeurs de Kafka.

Par contre, il est important de mettre en place des règles de gouvernance pour la structure des données afin que les applications consommatrices puissent utiliser les données de façon correcte. Le registre de services est idéal, car il établit des règles et les applique.

Consommateurs et producteurs échangent des données via Kafka et, grâce au registre de services, ils documentent, partagent et valident ensemble les métadonnées de trafic dès le départ, pour éviter plus tard toute erreur liée aux données. Ces métadonnées se présentent sous la forme de schémas stockés dans le registre de services.

Le développeur de l'application productrice enregistre le schéma dans le registre de services, lequel s'assure alors que le producteur respecte bien les caractéristiques de son schéma. Le registre peut même aller jusqu'à rejeter les données qui ne sont pas conformes au schéma enregistré.

Les schémas peuvent être enregistrés par le développeur d'une application productrice, comme dans l'exemple précédent, ou par une entreprise pour un usage général par l'ensemble des membres de l'équipe de développement. Dans ce cas, le registre de services fonctionne comme une bibliothèque pour les applications productrices et consommatrices.

Les développeurs d'applications consommatrices se servent eux aussi du registre de services comme d'une bibliothèque. Ils y récupèrent les schémas nécessaires pour la création des applications qui consommeront les données. En cas de changements apportés au schéma, le registre de services fournit le schéma mis à jour aux consommateurs.

Le registre de services apporte plusieurs avantages aux équipes de développement et métier :

Dissociation de la structure des données et des applications

Il est possible d'utiliser un registre de services pour dissocier la structure des données des applications, puis partager et gérer ces structures et descriptions d'API lors de l'exécution, via une interface REST.

Amélioration de la qualité des données

Le registre de services permet de valider le schéma et de détecter les erreurs potentielles liées aux données afin de garantir leur intégrité. Il peut inclure des règles pour vérifier que le contenu importé est correct sur le plan syntaxique et sémantique et compatible avec les autres versions, antérieures et postérieures. Ainsi, si les données ne respectent pas le schéma, le registre de services empêche le producteur de les envoyer.

Source de vérité unique et documentée

Le registre de services représente une source unique de vérité qui a été vérifiée et validée par toutes les parties concernées.

Amélioration de la productivité des développeurs

Le registre de services permet la réutilisation cohérente des schémas et conceptions d'API, ce qui accélère la création des applications productrices et consommatrices.

Économies

La détection des erreurs liées aux données au début du cycle de développement, plutôt que lors de l'exécution, permet de faire des économies, car elle évite aux développeurs de passer des heures à corriger ces erreurs en aval.

Keep reading

Article

L'intégration, qu'est-ce que c'est ?

Vous souhaitez savoir en quoi consiste l'intégration ? Découvrez ce que c'est, comment l'adopter et pourquoi elle est plus efficace avec des solutions Open Source.

Article

Apache Kafka, qu'est-ce que c'est ?

Apache Kafka est une plateforme distribuée de diffusion de données en continu, capable de publier des flux d'enregistrement en temps réel, de les stocker, de les traiter et d'y souscrire.

Article

Une API, qu'est-ce que c'est ?

Une API, ou interface de programmation d'application, est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications.

En savoir plus sur l'intégration

Produits

Ensemble complet de technologies d'intégration et de messagerie.

Un ensemble de produits, d'outils et de composants qui facilitent le développement et la maintenance des applications cloud-native.

Un ensemble de produits pour automatiser les décisions et processus métiers de manière intelligente. Comprend Red Hat Decision Manager, Red Hat Process Automation Manager et Red Hat Runtimes.

Services gérés et hébergés de plateforme, d'applications et de données qui rationalisent l'expérience dans le cloud hybride, réduisant ainsi les coûts d'exploitation et la complexité liés à la distribution des applications cloud-native.

Ressources

Livre numérique

Créer une infrastructure agile et renforcer la capacité d'adaptation de l'entreprise

Formations

Cours gratuit

L'intégration agile avec Red Hat : présentation technique