Un saluto a tutti.
Sto studiando il pattern MVC e Observer e vorrei sapere se è possibile sincronizzare il model con i dati del
database in maniera da informare le View che i dati nel db sono cambiati.
Mi spiego. Attualmente ho un database con varie tabelle che vengono aggiornate da diversi programmi
in Visual Basic sparsi su alcuni pc. Quindi, ognuno di questi programmi, scrive sul db e, a tempo, fa delle
query per aggiornare le proprie View con i dati più recenti.
Vorrei migrare a Java ed implementare il pattern MVC e Observer ma vorrei alcuni consigli ed informazioni.
La classe Model dovrebbe avere i metodi per interagire col db. E fin qui è chiaro.
Ma come fa il Model a sapere se qualche dato nel db è stato cambiato da un altra applicazione?
La prima cosa che mi viene in mente è quella che il Model ha una copia degli ultimi dati del db e, a tempo,
rilegge il db e lo confronta con i dati che ha per vedere se ci sono variazioni. In caso positivo, le View
verrebbero notificate e leggerebbero i dati direttamente dal Model e non dal db, limitando così gli accessi.
Ci sono altre soluzioni a riguardo?
Se il programma fosse uno solo, nel momento in cui un metodo del Model scrive nel db, saprei anche che
qualcosa è cambiato. Ma con diverse applicazioni ci dovrebbe essere un unico Model 'centralizzato' che scrive nel db
in maniera che dovrebbe essere lui stesso ad avere la situazione aggiornata. Ed in questo caso mi viene
in mente un'altra soluzione. Utilizzare RMI. Una applicazione server che fa da Model e gli altri client utilizzano
il metodo del server per aggiornare il db. Ma poi come fa il server ad informare i client di aggiornarsi?
L'RMI non l'ho ancora studiato e non mi sembra il momento visto che sono ancora agli inizi.
Non ho trovato nulla in rete. Qualche consiglio, link o altro ?
Grazie

Rispondi quotando
)