Chiedo scusa per il post lungo ...
Dove lavoro abbiamo un sistema con molti sottosistemi che si trovano in luoghi diversi. Tutti i sottosistemi elaborano alcuni dati e scrivono il risultato sul database A . Nel caso in cui qualsiasi altro sottosistema abbia bisogno dell'output di altri sottosistemi, viene connesso al database e letto da esso. Ed è così che i sottosistemi stanno comunicando insieme. Inoltre c'è una GUI che si connette al DB e mostra le informazioni all'utente finale. L'interazione tra database e sottosistemi è molto alta, e anche se ho sostenuto che questa non è una buona scelta di design, mi è stato detto che a causa di molte ragioni (principalmente "business-saggio" e scadenze brevi) non possiamo cambiare nulla nel sistema per ora.
Ora vogliamo aggiungere una nuova funzionalità in cui l'utente può aggiungere un sistema di notifica delle notifiche, nel caso in cui qualcosa sia accaduto in qualsiasi sottosistema, notifica all'utente tramite GUI. E, naturalmente, dipendono da diversi sottosistemi ci sarebbero diversi elementi che dovrebbero essere considerati. E in base a questi elementi l'utente può specificare una regola per l'avviso. Ad esempio, su server diversi abbiamo un software che ottiene le informazioni sul server come l'utilizzo della CPU e della RAM e così via. Questi potrebbero essere elementi per l'utente per impostare una regola per un avviso di notifica. Come se lo spazio utilizzato dalla memoria superi l'X percento.
L'unico modo in cui posso pensare di risolverlo è creare nuove tabelle nel database. Quando l'utente aggiunge una nuova regola per un sottosistema, inserire la regola nel database. E ogni sottosistema legge il data base per vedere se per esso è stata specificata una regola. Ma questo significa che ogni sottosistema dovrebbe leggere dal database ogni minuto al massimo, e penso che questo potrebbe infrangere il nostro sistema ... E poi i sottosistemi scrivono il risultato sul DB e la GUI legge anche il DB per vedere se deve essere mostrata qualsiasi notifica utente ......
qualche pensiero su come superare questo?