Nella nostra azienda, abbiamo una struttura di dati relativamente grande, con terabyte di informazioni storiche memorizzate e ci sono molte viste, editor e report per tutti i dati. Con gli anni, ci sono state diverse "mani" coinvolte nel codice sottostante per il recupero e l'archiviazione dei dati, che abbiamo scoperto che hanno preso diverse considerazioni tra diverse viste (ad esempio) che portano a report non coerenti, ma questo è anche successo per le GUI di configurazione.
Pensiamo che potremmo implementare la nostra API in cima ai servizi di base, quindi ogni parte del sistema ha un solo punto di interazione con determinati dati, anche se questo può sembrare abbastanza semplice, abbiamo discusso alcune questioni che potrebbero ci turbano in tale implementazione, come ad esempio l'esecuzione di enormi rapporti, in cui devono essere analizzati migliaia di record con un sacco di possibili aggregazioni di dati, filtri e simili.
Ovviamente, possiamo facilmente creare un'API per le operazioni CRUD di base, ma per quanto riguarda le enormi operazioni di visualizzazione dei dati sullo schermo o per la creazione di rapporti Excel? Cosa dovrebbe essere fatto in questi scenari? Qualche buona pratica da considerare? Modelli di design, forse?