Pubblicare online una applicazione Java full Stack

di il
6 risposte

Pubblicare online una applicazione Java full Stack

Salve ho realizzato una applicazione che utilizza come back-end springboot hibernate e postgresql e mette a disposizione dei servizi REST per il front-end realizzato con REACTJS.. come posso mettere l'applicazione online ?? ho letto di siti di hosting ma non ho trovato una guida.. se qualcuno ha utilizzato le mie stesse tecnologie è puo spiegarmi come fare.. grazie

6 Risposte

  • Re: Pubblicare online una applicazione Java full Stack

    tarzamatto ha scritto:


    Salve ho realizzato una applicazione che utilizza come back-end springboot hibernate e postgresql e mette a disposizione dei servizi REST per il front-end realizzato con REACTJS.. come posso mettere l'applicazione online ?? ho letto di siti di hosting ma non ho trovato una guida.. se qualcuno ha utilizzato le mie stesse tecnologie è puo spiegarmi come fare.. grazie
    Partiamo da una cosa: una applicazione Spring Boot per semplicità parte di base con il classico main() ovvero come normale applicazione "standalone".

    Gli hosting Java che puoi trovare (tipicamente a pagamento ... dubito "a gratis") sono hosting con un servlet container (es. Tomcat) o un application server più completo (es. GlassFish). Quindi richiedono che la applicazione deployata sia una applicazione JavaEE che ha il layout di un WAR (proprio come file .war singolo o un war "spacchettato"). Pertanto devi cambiare la modalità di build del progetto in modo da avere la struttura di un war.
    A meno che ti prendi (scenario estremo, ovviamente) un server in housing o cose di questo tipo, cioè una macchina dedicata a te su cui ci fai sostanzialmente quello che ti pare, pure lanciare una applicazione Java normalmente. Ma è una opzione molto €€€ e ovviamente la sceglie solo chi ci lavora veramente su queste macchine per avere il giusto "ritorno" di €€€.

    Riguardo l'altro aspetto, cioè dove/come disporre il front-end, non ho veramente esperienza diretta a riguardo ma bisogna solo vedere cosa il front-end "sa" del backend in termini di url (e se/quanto questo l'hai reso facilmente configurabile).

    Uno scenario ad esempio è avere su un singolo host sia il front-end che il backend, tipo:

    http://blabla.xyz/...***... ----> va al front-end
    http://blabla.xyz/rest/...***... ----> va al back-end

    Ma questo ovviamente dipende da come scelto di gestire gli url.
  • Re: Pubblicare online una applicazione Java full Stack

    Grazie per la risposta da quello che ho capito quindi mi porto il lato back-end in war per poterlo utilizzare con un application server, quindi i servizi che vado ad utilizzare di tipo REST adesso sono nella forma localhost:8080/servizio e dovrei cambiarli in base all'url che vado a scegliere?
  • Re: Pubblicare online una applicazione Java full Stack

    tarzamatto ha scritto:


    Grazie per la risposta da quello che ho capito quindi mi porto il lato back-end in war per poterlo utilizzare con un application server, quindi i servizi che vado ad utilizzare di tipo REST adesso sono nella forma http:localhost/servizio e dovrei cambiarli in base all'url che vado a scegliere?
    Chiariamo una cosa: avendo una netta separazione tra front-end e back-end, tipica quando in mezzo ci sono solo chiamate in stile REST, se hai/avessi fatto sul front-end le cose per bene, dovresti avere UN solo punto in cui è definito il "base" url da utilizzare per i servizi, es.

    var baseUrl = "http://miosito.xyz/rest";

    e poi tutti gli url degli endpoint li ottieni "appendendo" il resto necessario.
  • Re: Pubblicare online una applicazione Java full Stack

    Sisi esatto aspetto altri pareri per come gestire il front-end o esperienze simili..
  • Re: Pubblicare online una applicazione Java full Stack

    tarzamatto ha scritto:


    aspetto altri pareri per come gestire il front-end o esperienze simili..
    Per il resto, le vere questioni stanno più che altro nell'hosting che sceglierai. Cioè quale hosting, con quale servlet container/application server, quanto controllo avrai sul server, dove/come e con quale procedura dovrai fare il deploy, ecc...
    Quindi non è che si può dire più di tanto .... sono questioni da vedere e valutare sul momento caso per caso.

    Quello che sicuramente potresti fare (SE non l'hai già fatto) è provare bene tutto il giro in locale sulla tua macchina. Ovvero: cambiare il build della applicazione Spring Boot per fare un war (c'è la documentazione ufficiale: 17.1. Create a Deployable War File) e poi mettere es. un Tomcat sulla tua macchina in cui metti la parte front-end e back-end verificando se tutto "quadra". Se già lì avessi dei dubbi/problemi .... allora bisogna vedere ...
  • Re: Pubblicare online una applicazione Java full Stack

    Ciao!

    per la parte front-end react, devi solo fare un bel:
    
    npm run build
    
    verrà creata una directory build dentro alla cartella del progetto react.
    e poi devi caricarla sul server dove devi avere un web server installato (apache, nginx, ecc).
    non deve stare per forza sulla stessa macchina dell'applicazione java, ma devi tener presente l'url a cui punta (come ti ha già detto andbin).
    se non sono sullo stesso server, ricordati delle impostazioni CORS lato server.
Devi accedere o registrarti per scrivere nel forum
6 risposte