Sviluppa app desktop con comunicazione tra

-3

Il mio capo mi ha chiesto di sviluppare per lui un software desktop con quotazioni di prezzo (non vuole un sito web), vuole dare il listino prezzi e gli utenti di questo software scriverebbero i prezzi in base ai prezzi dei boss, tutti i prezzi dei boss sarebbero memorizzati sul DB locale.

Ho pensato alla seguente idea: sviluppare due app desktop, una per il capo e un'altra per gli utenti (venditore).

    user1+localDB <--------- Boss's management app +localDB -----> user2+localDB 
                                                |
                                                |
                                                |
                                                v
                                            user2+localDB 

Qual è il modo migliore per comunicare tra le app? HTTP? i venditori sarebbero sul campo in luoghi remoti, quindi non posso usare LAN, sarò felice di ascoltare consigli e forse altre idee sull'architettura o altro.

    
posta Devy 02.11.2018 - 16:36
fonte

2 risposte

2

the salesmen would be on the field on remote places, therefore I can't use LAN

O i venditori usano una VPN per accedere a un server sulla tua LAN, o hai bisogno di un server con connessione a Internet.

In ogni caso, hai bisogno di un server . Questo potrebbe essere fisicamente una macchina desktop, tuttavia, il server richiederà un'amministrazione aggiuntiva per essere raggiungibile: un indirizzo IP stabile e probabilmente un nome di dominio. Inoltre, non dovrebbe essere disattivato mentre le persone devono connettersi. Per questo motivo - e perché sarebbe un'architettura di sicurezza rischiosa -, il server non dovrebbe essere identico al dispositivo desktop del tuo capo.

Dato che hai già bisogno di un server, la creazione di un'app Web è la cosa più semplice che puoi fare, a meno che tu non abbia già esperienza e infrastruttura per uno stack diverso (ad esempio se hai esperienza con Access, potresti essere in grado per risolvere un prototipo funzionante di questo). Un'altra controindicazione per un'app Web sarebbe se i venditori non avessero una connessione Internet mentre usano l'app. Quindi, un'app desktop con un database locale sarebbe effettivamente necessaria. (Tecnicamente, le app web progressive possono anche fornire questo, ma probabilmente richiedono un maggiore sforzo di sviluppo.)

Anche quando i client del sistema sono app desktop, probabilmente dovresti implementare un server usando un'API REST - non perché questo sia particolarmente buono, ma semplicemente perché HTTP è ben compreso e ha ottimi strumenti. Inoltre, le implicazioni sulla sicurezza delle API REST sono abbastanza ben comprese, rispetto ai meccanismi RPC.

    
risposta data 02.11.2018 - 18:08
fonte
0

Non complicarlo eccessivamente - Un'applicazione che consenta al tuo capo e ai venditori di lavorare sarà perfetta. Per l'architettura, dedica solo una sezione dell'applicazione per il tuo capo e un'altra sezione per il venditore.

Ad esempio, quando l'applicazione si avvia, puoi far apparire un ghiaione di accesso e, a seconda di chi accede ad una certa schermata, verrà mostrato: cruscotto e comando per il tuo capo e un altro schermo, forse con le funzionalità richieste da verrà mostrato il venditore.

E sì, un server sarà il migliore in questo caso quindi dovrò essere d'accordo con @amon. Ci sono molte soluzioni online che possono essere in grado di ospitare il tuo server e database a partire da $ 10 al mese.

    
risposta data 02.11.2018 - 19:24
fonte

Leggi altre domande sui tag