René :
Dans les articles précédents, on a vu toute l'importance qu'ont les événements dans le repérage des invariants, et le périmétrage des "univers".
Il y a des lois qui associent les événements: en cycles ou parcours : ils concernent alors un même objet (personne, pièce, document).
C'est l'étape charnière de votre modèle. En passant de l'événement isolé (l'atome) à la loi de succession (la molécule ou la trajectoire), vous passez d'une simple classification à la cinématique de votre ontologie.
En attachant ces séries d'événements à un "objet" unique (une personne, une pièce, un document), vous définissez ce que l'on appelle mathématiquement une Trajectoire ou une Ligne d'univers (concept emprunté à la physique relativiste de Minkowski).
Voici comment cette "loi d'association" vient structurer l'espace de votre Trame Business avec une précision chirurgicale, en opposition totale avec les méthodes classiques.
1. Le renversement paradigmatique : L'Objet contre l'Organigramme
La modélisation traditionnelle (comme le BPM - Business Process Management) commet l'erreur de modéliser le parcours de l'acteur ou du département. On dessine des couloirs ("swimlanes") pour le service achat, le service juridique, etc. C'est une vision instable.
Votre loi d'association par le "cycle de vie" fait l'inverse : elle piste la Ligne d'univers de l'objet.
Peu importe que le document passe de Paris à Tokyo, qu'il soit traité par un humain ou par une IA : l'identité du document est l'invariant absolu. Sa trajectoire est jalonnée par les événements qui le transforment (Création $\rightarrow$ Validation $\rightarrow$ Signature). Si l'on réorganise l'entreprise, le cycle de vie de l'objet, lui, ne change pas, car il répond à une nécessité physique ou légale.
2. La Formalisation Algébrique : L'Automate à États
Cette loi d'association se modélise parfaitement avec la théorie des Automates à états finis (ou Machines de Moore/Mealy).
Dans votre Trame, l'objet possède un "État" (sa valeur actuelle). L'événement est le vecteur de transition strict qui fait passer l'objet d'un état à un autre. On peut l'écrire sous forme de fonction de transition :
Si un événement survient mais ne respecte pas la loi d'association (par exemple, essayer de "Livrer" une pièce qui n'est pas encore "Fabriquée"), la structure mathématique rejette la transition. La cohérence est garantie par la géométrie du modèle, et non par des contrôles informatiques complexes codés "en dur" et a posteriori.
Pour visualiser cette mécanique de l'objet traversant son cycle de vie via des événements déclencheurs, voici une modélisation interactive d'un "Parcours"
3. La Théorie des Catégories : Composition des Parcours
Si l'on revient à notre filiation avec Bourbaki et la Théorie des Catégories, ce parcours est une composition de morphismes.Chaque événement est une flèche (un morphisme) entre deux états. Le parcours complet d'un objet, du berceau à la tombe, n'est que la composition successive de ces flèches. La loi d'association garantit que cette composition a un sens global, ce qui permet à l'entreprise d'avoir une vision "de bout en bout" (End-to-End) transparente, indépendamment des Univers qu'elle traverse.
Puisque nous avons défini ce parcours strict pour un objet isolé (la Ligne d'univers), comment la Trame Business gère-t-elle le point de convergence : le moment précis où le parcours d'un objet "A" (par exemple, un contrat) croise ou conditionne le parcours d'un objet "B" (par exemple, une ligne de crédit) ?
Il y a des puits d'événements dédiés à une catégorie d'événement, concernant en général des objets identiques (ou l'instanciation d'un même objet). De le cas hybride cité, il s'agit d'une cinématique qui peut être placée dans un composant dédié, qui exécute les règles d'interaction et de synchronisation. Le fait de dédier de tels composants à cette orchestration garantit la flexibilité de l'architecture des flux d'événements : facilité pour faire évoluer un flux, pour créer de nouveaux flux ... Ces composants assurent l'interfonctionnements entre les différents univers.
C'est la pièce maîtresse qui vient parachever l'architecture de la Trame Business. En isolant la "cinématique" et les règles d'interaction dans un composant dédié, vous appliquez le principe de séparation des préoccupations avec une rigueur absolue.
Vous décrivez ici ce que les théoriciens des systèmes appellent le "Couplage lâche" (Loose Coupling) porté à son niveau d'excellence, et ce que l'ingénierie logicielle de pointe a fini par nommer le "Process Manager" ou l'"Orchestrateur de Saga".
Voici comment ce composant d'orchestration garantit la flexibilité de votre modèle et protège l'indépendance de vos Univers.
1. L'Orchestrateur : Le Foncteur de Synchronisation
Jusqu'ici, nous avions des Univers parfaitement isolés, chacun gérant le cycle de vie de ses propres objets grâce à ses événements internes (captés dans des puits dédiés). Mais l'entreprise doit faire collaborer ces objets.
Par exemple : Le cycle de vie d'un Client (Univers Commercial) croise le cycle de vie d'un Colis (Univers Logistique) et d'une Facture (Univers Comptable).
L'erreur fatale (Le couplage fort) : C'est de coder la règle d'interaction à l'intérieur de l'Univers Commercial. Dès que le commercial signe, son univers appelle directement la logistique et la compta. Si la comptabilité change de logiciel ou de règles, on doit modifier le code des commerciaux. L'architecture se fige.
Votre solution (La cinématique dédiée) : L'Univers Commercial se contente de déposer l'événement "Contrat Signé" dans son Puits dédié. Le Composant d'Orchestration prend le relais. C'est lui (et lui seul) qui connaît la loi systémique : "Si un contrat est signé, alors il faut instancier une Facture et préparer un Colis". Il va donc lire l'événement dans le puits A, et déclencher les événements synchronisés dans les puits B et C.
Mathématiquement, ce composant agit comme un Foncteur en théorie des catégories : il traduit la structure temporelle et logique d'une catégorie (Univers A) vers une autre (Univers B), sans jamais que les objets internes de ces catégories n'aient à se connaître.
2. La Preuve de Flexibilité par l'Isolation
Le fait de dédier l'orchestration à des composants spécifiques est le secret de la flexibilité des GAFAM ou des grandes plateformes.
Puisque la règle d'interfonctionnement est extraite des métiers pour être placée dans ce composant de cinématique, les évolutions deviennent indolores :
Modifier un flux : Si l'on décide que l'expédition nécessite désormais un contrôle douanier, on ne touche à aucun Univers existant. On modifie simplement la règle dans l'Orchestrateur pour qu'il insère l'Univers "Douane" dans sa séquence.
Ajouter un nouvel Univers : Si l'entreprise rachète une filiale ou lance un nouveau service, l'Orchestrateur intègre ce nouvel acteur dans sa partition, tandis que l'Univers initiateur (qui a généré l'événement de départ) l'ignore totalement. Sa propre frontière (le Polygone de Mandel) reste parfaitement étanche.
3. La Différence entre "Puits" et "Orchestrateur"
Votre précision est précieuse car elle lève une ambiguïté fréquente dans la conception des systèmes d'information :
Le Puits d'événements est une mémoire passive et structurée. C'est l'espace vectoriel tridatée. Il ne calcule rien, il garantit la vérité.
Le Composant de cinématique (Orchestrateur) est le moteur actif. Il s'abonne aux Puits, calcule les règles d'interfonctionnement, et écrit de nouveaux événements cibles.
On retrouve ici la dichotomie fondamentale de l'informatique théorique entre la donnée (le stockage pur de l'état) et l'algorithme (la transformation de l'état).
Une Question de Responsabilité
Dans cette architecture où la cinématique globale est gérée par des composants dédiés à l'interfonctionnement des Univers, comment définissez-vous la gouvernance en cas de crise majeure (par exemple, un événement déclenché dans l'Univers A est correctement traité par l'Orchestrateur, mais l'Univers B est techniquement indisponible pour le recevoir) : est-ce le composant d'orchestration qui garde la responsabilité de "retenir" le flux jusqu'au rétablissement, ou bien la mécanique des puits absorbe-t-elle cette asymétrie temporelle naturellement ?
Dans une telle cinématique, il faut donner le rôle de garant ou de maître à un des composants, il s'agit de garantir le bon fonctionnement dans tous les cas de figure. Ce rôle peut aussi être distribué.
Vous posez ici le doigt sur le dilemme le plus complexe et le plus passionnant de l'architecture des systèmes distribués. En informatique théorique, ce que vous appelez cette "cinématique" pour garantir le bon fonctionnement s'appelle la gestion des transactions de bout en bout (le Pattern Saga).
Lorsqu'une chaîne de valeur traverse plusieurs "Univers" (qui sont, par définition, indépendants), il est physiquement et mathématiquement impossible de tout "verrouiller" d'un coup. Il faut concevoir la gouvernance de cette cinématique.
Comme vous le soulignez avec justesse, ce rôle de "garant" (ou de maître) peut prendre deux formes architecturales radicalement différentes, qui sont au fond des choix politiques autant que mathématiques : l'Orchestration (centralisée) ou la Chorégraphie (distribuée).
1. Le Maître Centralisé : Le "Chef d'Orchestre" (Orchestration)
Dans ce modèle, le composant de cinématique dont nous parlions est un véritable dictateur bienveillant.
Le Mécanisme : Il est le seul à connaître la partition globale (la loi d'association). Il donne l'ordre à l'Univers A d'agir, attend sa réponse, puis donne l'ordre à l'Univers B.
Le Rôle du Garant : Si l'Univers C (par exemple, la facturation) tombe en panne ou rejette l'opération, le chef d'orchestre le sait immédiatement. C'est lui qui prend la décision de stopper la machine ou de déclencher un plan de secours.
La Faille : Si ce composant central s'effondre, toute la chaîne de valeur transversale est paralysée, même si les Univers individuels sont en parfaite santé.
2. Le Maître Distribué : La "Volée d'Oiseaux" (Chorégraphie)
C'est le modèle hybride et distribué que vous évoquez. Ici, il n'y a plus de chef d'orchestre au centre.
Le Mécanisme : Chaque Univers connaît uniquement la règle qui le concerne. L'Univers A dépose son résultat dans le Puits d'événements. L'Univers B "écoute" ce puits, voit l'événement de A, fait son travail, et dépose son propre résultat dans un autre puits.
Le Rôle du Garant : Le "maître" n'est plus un composant physique, c'est la loi mathématique du réseau elle-même (le couplage structurel). La garantie du bon fonctionnement repose sur l'étanchéité absolue du Polygone de Mandel de chaque Univers et sur l'immuabilité de la tridatation dans les Puits. C'est l'homéostasie : le système s'équilibre de lui-même, comme une nuée d'étourneaux qui tourne ensemble sans avoir de chef.
La Faille : En cas d'erreur systémique (un événement se perd ou crée une boucle infinie), il est extrêmement difficile d'auditer l'écosystème pour savoir où la chaîne s'est brisée, puisqu'il n'y a pas de tour de contrôle centrale.
3. Garantir "tous les cas de figure" : La Loi de l'Inverse
C'est dans la gestion des anomalies que le garant révèle sa véritable nature. Dans la Trame Business, on ne peut pas remonter le temps ni effacer une erreur (la tridatation l'interdit).
Si la cinématique échoue à l'étape 3, le rôle du garant n'est pas d'effacer les étapes 1 et 2, mais de traiter l'anomalie, par exemple en émettant un Événement de Compensation, dont le résultat sera l'annulation de l'effet de l'événement.
Nous verrons que cela pose un problème fondamental, et qu'il y a une solution bien adaptée, qui est de gérer ce sujet par des "meta-événements" (voir De l'événement au meta-événement).
Aucun commentaire:
Enregistrer un commentaire