C'è un progetto a cui sto lavorando che sta cercando di produrre un'applicazione Web che gestirà un elenco di attività tra più utenti. Questo è un elenco di attività principali le cui attività vengono distribuite da un utente autorizzato. Ogni utente ha il proprio account per accedere e visualizzare le attività che gli sono state assegnate; è possibile che più utenti abbiano in comune un'unica attività.
Sto cercando di tralasciare i dettagli del progetto mentre mi sto occupando di più del concetto generale di come gestire le seguenti situazioni, ma se aiuta, sto usando Java, EclipseLink e GWT con RequestFactory implementato. Il database è PostgreSQL.
Quindi i problemi concettuali che sto tentando di conciliare sono i seguenti:
Se una singola attività comune a più utenti cambia in qualsiasi modo, ad esempio attività completata, eliminata, ecc., L'elenco delle attività di tutti gli utenti che hanno questa attività verrà aggiornato. Quali sono i modelli di progettazione che aiutano a implementare questa funzione?
- Alcuni schemi che ho visto sono Observer e Mediator - ce ne sono altri che dovrebbero essere presi in considerazione?
Supponiamo che due utenti cambino la stessa attività contemporaneamente.
Innanzitutto, dovrei consentire che si verifichi tale situazione o dovrei bloccarla fino a quando l'una o l'altra persona non ha apportato modifiche?
Secondo, se non ci metto un lucchetto, come posso riconciliare le modifiche da accettare? Ciò comporta la situazione in 1 perché l'utente 1 potrebbe inviare i dati e prima che l'utente 2 riceva i dati aggiornati, potrebbe essere andato avanti e aver inviato le proprie modifiche.
Sto davvero cercando eventuali punti guida, consigli o suggerimenti che puoi fornire su come sincronizzare correttamente i dati tra più istanze di questa app Web. Lo apprezzerei moltissimo!