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 i cui elementi di attività vengono distribuiti da un utente autorizzato. Ogni utente ha il proprio account per accedere e visualizzare i compiti assegnati; è possibile che più utenti abbiano un'unica attività in comune.
Sto cercando di lasciare dettagli del progetto fuori da questo mentre sto affrontando di più il 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 es. attività completata, cancellata, ecc., l'elenco delle attività di tutti gli utenti che hanno questa attività verrà aggiornato. Quali sono i modelli di progettazione che assistono nell'implementazione di questa funzione?
- Alcuni pattern che ho visto sono Observer e Mediator - ci sono altri che dovrebbero essere considerati su questi?
-
Supponiamo che ci siano due utenti che cambiano la stessa attività allo stesso tempo.
-
Innanzitutto, dovrei consentire che si verifichi quella situazione o dovrei bloccarla fino a quando l'una o l'altra persona ha terminato le modifiche?
-
In secondo luogo, se non inserisco un blocco su di esso, come faccio a riconciliare le modifiche da accettare? Ciò implica la situazione in 1 perché l'utente 1 potrebbe inviare i dati e prima che l'utente 2 riceva i dati aggiornati, lui / lei potrebbe essere andato avanti e ha inviato le sue modifiche.
-
Sono davvero alla ricerca di punti guida, consigli o suggerimenti che puoi fornire su come sincronizzare correttamente i dati tra più istanze di questa web app. Lo apprezzerei molto!