Vai al contenuto
Torna ai lavori

Glide — Motore di Adaptive Case Management

Una pratica che attraversa più sistemi. I connettori osservano e agiscono, un motore puro decide, e niente viene mai confermato da una risposta API.

Lavoro su commessa — sorgente non pubblico

Tipo
Piattaforma
Periodo
2025 — oggi
Stato
In corso
Ruolo
Architetto e sviluppatore principale

Il problema

Una carrozzeria prende in carico un’auto danneggiata. Nelle sei settimane successive la pratica tocca un preventivo, il perito dell’assicurazione, un ordine ricambi, la lavorazione, la riconsegna, una fattura elettronica e un bonifico che arriva — o non arriva. Due di questi passaggi vivono in un gestionale di fatturazione, altri due in contabilità, il resto nella testa di qualcuno.

Chiedi a che punto è la pratica e non c’è risposta, perché non esiste un posto solo dove la risposta stia. Ogni sistema tiene un frammento; nessuno tiene il caso.

Cosa ho costruito

Glide è il motore che tiene il caso: un record solo che attraversa tutti i sistemi coinvolti, con uno stato che chiunque può leggere. Un flusso si descrive come dato — cosa può succedere e cosa deve essere vero per chiudere — non come una sequenza numerata. Un’azienda che fattura prima della consegna è un cambio di configurazione, non una riscrittura.

I connettori osservano i sistemi che esistono già e riferiscono cosa è successo. Il motore decide, e nulla è considerato fatto perché un’API ha risposto bene: solo perché il cambiamento è stato visto nell’altro sistema. Lo stato che l’utente legge è dedotto da quello che è successo davvero, così non resta un campo che possa smentire la realtà.

A che punto è

Costruito e testato da capo a fondo: un flusso importato e pubblicato, due sistemi collegati, un caso portato fino alla chiusura. Le regole che non devono mai rompersi sono scritte accanto al codice che le fa rispettare.

Cosa ho fatto

  • Definito il paradigma: la definizione descrive cosa può accadere e cosa deve essere vero per chiudere, non una sequenza di passi
  • Costruito un linguaggio di condizioni e un motore di valutazione come progetti puri, senza I/O e senza accesso all'orologio
  • Progettato il contratto bidirezionale dei connettori: i sistemi emettono fatti, il motore emette comandi, la conferma arriva dalla riosservazione
  • Implementato il journal append-only della pratica, l'outbox e la coda di risoluzione manuale per i fatti non correlati
  • Scritto il modello di overlay per il cliente, che può regolare un flusso senza forkare la definizione

Impatto

  • Processi che attraversano più strumenti diventano una pratica sola con uno stato leggibile
  • Cambiare l'ordine di un flusso di business è una modifica ai dati, non al codice

Stack

  • .NET 10
  • PostgreSQL
  • React
  • TypeScript
  • Docker
  • Adaptive Case Management
  • Rules engine
  • Outbox

Screenshot

Riconosci uno di questi problemi?

Se qualcosa di tutto ciò somiglia al sistema con cui convivi, di solito è un buon punto da cui partire.