Fino ad ora, ho avuto l'esperienza di sviluppo di un'applicazione desktop o di un sito web. Ma con questo sistema di prenotazione alberghiero, sto affrontando un problema che richiede entrambi.
L'applicazione deve soddisfare i seguenti requisiti:
- Manager può effettuare le prenotazioni / checkout dei clienti in arrivo al sistema di sportello reception.
- I clienti dovrebbero essere in grado di prenotare se stessi online.
Come puoi vedere, il secondo requisito indica chiaramente che è necessaria un'app Web, mentre il primo può essere realizzato tramite lo sviluppo del desktop.
Questo tipo di requisito è abbastanza comune. Ad esempio, in caso di prenotazioni di posti al cinema, siamo liberi di prenotare noi stessi online oppure possiamo andare alla biglietteria e acquistarne uno. La domanda è come si soddisfano questi requisiti simultanei e diversi per un singolo progetto. Ci deve essere una sincronizzazione, altrimenti il cliente potrebbe prenotarsi in una stanza già prenotata.
Da quanto ho capito, ci sono due modi per sviluppare questa soluzione.
-
Si sviluppa un'applicazione Web con un back-end (pannello di amministrazione) e la si ospita su un server. I clienti possono prenotarsi sul front-end, mentre il manager (alla reception) può utilizzare il pannello di amministrazione per effettuare le proprie prenotazioni e checkout. Poiché sia front-end che back-end utilizzano un singolo database, non è necessario sincronizzare.
-
Sviluppa un'applicazione desktop da utilizzare in Hotel e un sito Web che i clienti possono prenotare online. Le due applicazioni mantengono un singolo database, quindi entra in gioco la sincronizzazione. Alcuni sviluppi definiti per la sincronizzazione sono obbligatori oppure il sistema fallirà.
Quale delle soluzioni di cui sopra dovrei scegliere? Questo è anche uno scenario comune per le banche. Gestiscono le transazioni nella filiale locale e su Internet. Come ottengono questa cosa. Molto come ho detto sopra o qualcosa di diverso.