Le Puits de données

Le Puits de données est une figure de style d’Architecture, définie par René Mandel en 2011, publiée en 2014.

Un puits de données a pour objectif de partager et synchroniser les flux et interactions occasionnés par un même ensemble d’événements : parcours client, cycle produit, transport logistique, production de services, …

Dans les échanges et interactions, un Puits assure une fonction de médiation et de standardisation, en s’appuyant sur une « couche d’intermédiation » ou « couche d’intégration » (ces fonctions sont décrites plus en détail comme composantes du Data Hub, car elles sont en partie mutualisées avec la gestion des référentiels) :

  • acceptant les divers protocoles des différents mondes techniques,
  • corrigeant les différences de temporalité dues aux modes d’échange (batch, message, service),
  • détectant les erreurs d’identification et de synchronisme,
  • rendant génériques des échanges spécifiques dispersés,
  • instituant les échanges au niveau du grain le plus fin,
  • se chargeant de la publication des flux ou services d’intérêt public,
  • stabilisant les versions en un modèle moins variant.

Le cœur d’un puits de données concentre les informations essentielles sur les événements, afin de les tracer, de les historiser. Ce sont les informations communes  et de référence : identification de l’événement, de l’objet concerné, des acteurs, tri-datation, canaux  concernés, gestion de l’état, de la qualité… Un petit nombre d’informations très structurées et non sémantiquement ambiguës.

Modèle de données d'un Puits
Modèle de données d’un Puits

Un puits est aussi indispensable lors des migrations, car il permet la coexistence, dans le patrimoine, d’anciens composants et de nouveaux composants assurant les mêmes fonctions. Dans ce cas de figure, on étendra le champs des données mémorisées, afin d’accueillir les données élaborées par un composant devant être supprimé. Ces données supplémentaires peuvent être stockées en format XML ou JSON, afin d’éviter de complexifier la base de données du puits.

Un Puits, dans son état de maturité initial, est « passif » : il ne contient que des données provenant des autres systèmes d’information, et ne fait que les répercuter aux systèmes « abonnés ». Pour éviter tout big bang sur les applications existantes, sur les processus, sur les utilisateurs, l’insertion d’un puits est « non-intrusive », et se fait en mode « Janus ». Progressivement un Puits peut devenir plus actif, et maître des interactions et orchestrations. Dans le cas d’un SI neuf, il sera réalisé autour d’un puits totalement actif et métronome des synchronisation et des biorythmes du SI.

La mise en place d’un Puits suppose une clarification de la cinématique, flux, échanges, invocation de services. Une analyse des dates (tri-datation) est aussi préconisée.

Le périmètre d’un Puits est, en général, défini par celui d’un cycle ou parcours : les données, homogènes, sont dédiées à des événements retraçant ce cycle ou parcours. C’est le cas des « Puits primaires » faciles à mettre en évidence.

Identification des puits primaires
Identification des puits primaires, par le polygone de valeur

Il existe aussi des « Puits secondaires » qui associent plusieurs cycles primaires. Ce sont typiquement les Puits dédiés au rapprochement d’un cycle d’offre et d’un cycle de demande :

  • salle de marché, place de marché, affectation de poste
  • déploiement, conciliation de rendez-vous, optimisation de ressource

ident-puits-second

 

 

 

 

 

 

 

 

 

Une telle architecture de puits permet de dissocier les périmètres de Gouvernance entre les différents puits : tel puits (les offres par exemple) est gouverné à un niveau de l’organisation ou de l’écosystème, tel autre (les demandes par exemple) est gouverné à un autre niveau (ouvert à des partenaires par exemple). Le puits de type « marché » peut par exemple être externalisé, ou s’appuyer en option sur des opérateurs de marché.

Les différents puits d’une même organisation utilisent la couche d’intermédiation, ce qui procure des économies d’échelle. Les mêmes fonctions de service (contractualisation, gestion des abonnements, de la confidentialité, gestion de la latence, gestion de la cohérence-qualité, sauvegarde-restauration-reconfiguration, supervision-administration-audit, statistiques,…) sont mutualisées dans le Data Hub.

Le positionnement d’un puits, dans le flux de données et d’interactions, est à placer au plus tôt, à la première confrontation des canaux, afin d’assurer la synchronisation au plus près de la préhension de l’événement. Ce positionnement permet à l’Entreprise de se rendre indépendante des éditeurs de « moteur » (CRM, ERP, …) et de faire migrer les applicatifs lourds.

Le positionnement et la composition d’un puits sont résumés par le schéma suivant :composition puits

Le message « à la découverte des Puits de données » a introduit le concept en 2014, il est reproduit ici.

Un document, disponible sur Slideshare, date de la même époque et reprend les principales idées d’origine.

Voir aussi le concept de Data Hub dans lequel le composant « Puits » a une place clé.

 

Thèmes liés :