Sto sviluppando un'applicazione JavaFX desktop che si connette a un server app WildFly locale tramite il protocollo REST. WildFly si descrive come un
application runtime that helps you build amazing applications.
e il modo in cui visualizzo WildFly è solo a scopo di sviluppo, quindi quando alla fine voglio distribuire la mia app al pubblico, dovrò migrare il mio programma su un server delle applicazioni su "the cloud", per così dire, tale come AWS, Google Cloud Engine o un semplice droplet Digital Ocean (sembra la soluzione migliore).
Tuttavia, il post qui dice che WildFly può essere usato commercialmente quindi ora sono totalmente confuso riguardo l'architettura tipica I dovrebbe usare quando si distribuisce un'app java (commerciale) al pubblico. Presumo che Droplet sia solo un server che può assumere ruoli diversi (app server, server DB, ecc.) ... sostituendo efficacemente WildFly. In tal caso, non avrò bisogno di installare del software su Droplet per renderlo efficacemente un app server? Installo WildFly su di esso?
Che cos'è un'architettura comune ed efficace per la seguente configurazione:
Possiedo un dominio, es: www.mysite.com che contiene un collegamento per il download per il mio software Java. Un utente fa clic sul collegamento e scarica il software. Una volta sul PC, il programma può comunicare tramite REST con gli endpoint sul mio server dell'app tramite il protocollo REST. Sia il mio sito che l'app java devono avere accesso al database degli utenti, che presumo sia accessibile da entrambe le richieste REST. Sarà necessario un po 'di caching come Redis.
La mia ipotesi: il dominio del sito Web può essere ospitato ovunque, ad esempio iPage.com, e l'applicazione Java (codice lato client) è ospitata come file da scaricare sul server iPage. Il codice lato server dell'app java deve essere ospitato da Digital Ocean o simile, che fornisce endpoint REST per comunicare con il codice lato client. Il server di database fornirà anche endpoint per il sito Web e l'app. Presumo che Redis dovrebbe essere integrato nel mio codice app-server in qualche modo?
Se l'app server e il server database saranno insieme o separato è in discussione, ma sto cercando un chiarimento su un approccio standard e corretto per le mie esigenze.