Ciao a tutti!
Sto studiando
CloudKVS.
L'esempio di Erel dà al Client la possibilità di scegliere un numero e un colore; questi vengono memorizzati in locale e inviati al server. Il server memorizza in un unico database ciò che gli viene inviato.
Nell'esempio il server riceve dal client ma non invia nulla al client (o almeno così mi sembra). Mi sono chiesto, quindi, come fare?
Faccio un esempio (del tutto scolastico - serve solo a capire come funziona): con un'app "Prenotazioni" lato client, l'utente chiede ad un ristorante posto per 4 persone. Il server riceve e memorizza tutte le richieste di prenotazione in un database "Richieste.db" nella tabella "Richieste". Lato ristorante c'è un "client manager" che affida a ciascun client(e) il numero di tavolo.
A questo punto, l'app "Prenotazioni" dovrebbe periodicamente interrogare il server per mezzo di un "GET" per sapere il numero di tavolo.
Cosa farei io:
- una volta assegnati tavolo e giorno/ora, questi vengono trasmessi al server, che li immagazzina in una tabella "Assegnazioni" - ipotizzo in un database diverso da "Richieste.db";
- per evitare problemi con il GDPR, il database "Assegnazioni.db" (che contiene tutte le assegnazioni tavoli) non può essere scaricata sul client in locale;
Affinché il client sappia che tavolo gli è stato assegnato, il client dovrà interrogare il server. Ma come?
- per ciascun user, faccio creare al server un database dedicato (es. "[Username].db") con la tabella "Assegnazioni" popolato con l'estrazione dal database "Assegnazioni.db" e il client scarica solo questo? oppure
- c'è un modo con cui il server, interrogato tramite GET, esegua una query e invii il risultato al client, che memorizza su locale ma senza scaricare alcun file?
- [soluzione differente che non mi è venuta in mente]?
Quale è più sicuro?
Grazie mille e auguri di buone feste!
PS: il tutto da creare in solo B4X, ovviamente!