PDA

View Full Version : [Java] Server Java


tomino87
19-06-2010, 15:26
Ciao a tutti, ho una domanda (forse stupida...) alla quale non ho ancora trovato risposta...

Tempo fa in un corso universitario, ho approfondito l' aspetto client-server di Java: alla fine del corso bisognava portare un progetto che consisteva nello sviluppo di moduli software che dovevano comunicare tra di loro con una logica client-server... e uno di questi si comportava esclusivamente da server.

Ora la mia domanda è: ok, se eseguo sul mio pc il server sviluppato, su una rete privata non c'è nessun problema.... ma se volessi mettere in rete (internet) questo server? Esiste forse qualcosa di analogo ai Web Hosting che permetta di realizzare questa cosa?
Paradossalmente ho approfondito molto bene tutti gli aspetti sul piano della programmazione, ma mi manca proprio quel collegamento che mi permetterebbe di rendere un eventuale server sviluppato raggiungibile in rete.

Ringrazio anticipatamente per le eventuali risposte.

Ciao,
Piero

clockover
19-06-2010, 17:47
Se crei un a semplice socket con
ServerSocket ss = new ServerSocket(....);
e poi
Socket s = ss.accept()
sei già raggiungibile dall'esterno! Ovviamente devi avere un ip pubblico e se sei dietro ad un router devi abilitare il port forwarding (sul router) per la porta che hai scelto per il server!

tomino87
19-06-2010, 17:54
Se crei un a semplice socket con
ServerSocket ss = new ServerSocket(....);
e poi
Socket s = ss.accept()
sei già raggiungibile dall'esterno! Ovviamente devi avere un ip pubblico e se sei dietro ad un router devi abilitare il port forwarding (sul router) per la porta che hai scelto per il server!

Certo, hai ragione... ma in questo modo dovrei avere un pc che sta acceso tutto il giorno, col server in esecuzione 24h/24h.... :D

La mia domanda era per capire se esiste un modo in cui io possa delegare l' esecuzione del server che ho sviluppato a qualcun' altro ;)

clockover
19-06-2010, 18:00
Pagando tutto si può :D :D ... poi se lo fanno anche gratuitamente.... bo...

tomino87
19-06-2010, 18:05
Pagando tutto si può :D :D ...

Grazie.... questo lo so anch' io.... :doh:

Evidentemente la mia domanda forse non era abbastanza chiara: intendevo.... quali sono le possibili soluzioni PRATICHE per realizzare un "hosting" (passami il termine") di un server java in rete...?

khelidan1980
19-06-2010, 18:19
trovare hosting gratuito java è praticamente impossibile, si trova qualcosa per pochi euro al mese, che poi tu abbia la possibilità di deployare una applicazione che fa da server credo che si praticamente impossibile, cmq ci sono n altri modi eventualmente per esporre i servizi

tomino87
19-06-2010, 18:24
non ho mai parlato di hosting gratuito :) cercavo solo di capire quali sono le opportunità generalmente parlando....

ad ogni modo.. cosa intendi per gli altri modi possibili? qualche esempio....?

Grazie..

khelidan1980
19-06-2010, 21:34
non ho mai parlato di hosting gratuito :) cercavo solo di capire quali sono le opportunità generalmente parlando....

ad ogni modo.. cosa intendi per gli altri modi possibili? qualche esempio....?

Grazie..

bhe dipende da quello che vuoi fare, un webservice rest ad esempio, che poi alal fine sempre di paradigma client server parliamo intendiamoci

Mixmar
20-06-2010, 09:49
Certo, hai ragione... ma in questo modo dovrei avere un pc che sta acceso tutto il giorno, col server in esecuzione 24h/24h.... :D

La mia domanda era per capire se esiste un modo in cui io possa delegare l' esecuzione del server che ho sviluppato a qualcun' altro ;)

Grazie.... questo lo so anch' io.... :doh:

Evidentemente la mia domanda forse non era abbastanza chiara: intendevo.... quali sono le possibili soluzioni PRATICHE per realizzare un "hosting" (passami il termine") di un server java in rete...?

Ti affitti una macchina virtuale in un sistema di hosting virtuale, per esempio. Poi ci installi quello che vuoi tu. Per tardi un'idea, uno molto popolare è questo:

Amazon EC2 (http://aws.amazon.com/ec2/)

Nella stessa pagina trovi i prezzi. Comunque, ne esistono molti altri.

Poi, dopo esserti assicurato che le porte del loro firewall siano aperte e facciano il forward verso di te, come suggerito da clockover, ti compri un IP pubblico ed un nome di dominio (a volte l'IP te lo danno i fornitori di macchine virtuali, con un modico sovrapprezzo :sofico: ).

khelidan1980
20-06-2010, 11:18
Ti affitti una macchina virtuale in un sistema di hosting virtuale, per esempio. Poi ci installi quello che vuoi tu. Per tardi un'idea, uno molto popolare è questo:

Amazon EC2 (http://aws.amazon.com/ec2/)

Nella stessa pagina trovi i prezzi. Comunque, ne esistono molti altri.



Bello non conoscevo queste soluzioni, poi all'interno della VM hai mani libere ovunque?

Mixmar
20-06-2010, 12:05
Bello non conoscevo queste soluzioni, poi all'interno della VM hai mani libere ovunque?

Ti riporto voci di seconda mano, comunque sì: ti danno un'accesso con shell di root o un Remote Desktop e hai il pieno controllo della macchina.

L'unico limite semmai è lo storage: esiste finchè la macchina è accesa, quindi se la spegni e la riaccendi (per risparmiare, visto che paghi "a tempo"), perdi il contenuto del disco. O meglio, potresti perdere: le condizioni sono un po' complesse, e non avendo esperienza di prima mano, non ti posso garantire che si perda proprio tutto, forse una parte dei dati rimane (magari il S.O.).

Comunque, è possibile acquistare spazio "permanente" a parte, se lo si desidera.

Se usi Windows, o comunque prodotti che richiedono licenza, se ho capito bene il prezzo maggiorato di affitto che paghi include anche le licenze (e la preinstallazione), per cui non ti devi più preoccupare, per esempio di acquisire le licenze di Oracle o similia. Bisogna ovviamente fare una valutazione se il prezzo sia conveniente, ma credo che in alcuni ambiti ne valga veramente la pena.

Esistono altri fornitori di questo tipo di servizi (mi sembra, per esempio, che Microsoft abbia qualcosa, ma anche altri).

vladix
20-06-2010, 12:27
L'unico limite semmai è lo storage: esiste finchè la macchina è accesa, quindi se la spegni e la riaccendi (per risparmiare, visto che paghi "a tempo"), perdi il contenuto del disco.
non ho mai avuto una virtual host ( ma ho un server dedicato xò ) ma questa affermazione mi sembra una cacchiata spaziale ... in parole povere
dovresti riconfigurare il server ad ogni avvio ?!:fagiano:

FabryHw
20-06-2010, 14:26
non ho mai avuto una virtual host ( ma ho un server dedicato xò ) ma questa affermazione mi sembra una cacchiata spaziale ... in parole povere
dovresti riconfigurare il server ad ogni avvio ?!:fagiano:

No non mi risulta che sia così, ossia il disco è persistente agli spegnimenti (almeno sui VPS).

FabryHw
20-06-2010, 14:28
Ciao a tutti, ho una domanda (forse stupida...) alla quale non ho ancora trovato risposta...

Tempo fa in un corso universitario, ho approfondito l' aspetto client-server di Java: alla fine del corso bisognava portare un progetto che consisteva nello sviluppo di moduli software che dovevano comunicare tra di loro con una logica client-server... e uno di questi si comportava esclusivamente da server.

Ora la mia domanda è: ok, se eseguo sul mio pc il server sviluppato, su una rete privata non c'è nessun problema.... ma se volessi mettere in rete (internet) questo server? Esiste forse qualcosa di analogo ai Web Hosting che permetta di realizzare questa cosa?
Paradossalmente ho approfondito molto bene tutti gli aspetti sul piano della programmazione, ma mi manca proprio quel collegamento che mi permetterebbe di rendere un eventuale server sviluppato raggiungibile in rete.

Ringrazio anticipatamente per le eventuali risposte.

Ciao,
Piero

Ti affitti un VPS (virtual private server) e poi ci puoi fare quasi tutto quello che vuoi dato che la macchina (che è virtuale) è dedicata a te e solo tu la gestisci (quindi ci installi il sw che vuoi, a patto che non sia sw che violi le leggi, la riavvi o spegni quando vuoi, ...ecc).

Puoi scegliere Linux o Windows (ma quelle Win costano di più).
Ed a seconda di cosa paghi al mese, avrai 1 o più Cpu, più o meno RAM, più o meno spazio disco, più o meno banda internet, con limite di traffico al mese o senza limite.

In Italia ci sono sia vari big che li propongono (NGI, Tiscali, Aruba, MCLink, ...ecc) come realtà minori (es. FlareVM) ed il prezzo minimo parte da 8.50E al mese (http://www.flarevm.it/).

All'estero trovi offerte anche più economiche (o che a pari prezzo con l'ITA danno più caratteristiche tipo più Ram o più Disco) e diciamo che si può partire anche da 4E al mese.
Naturalmente se la tua applicazione necessità di bassa latenza (tempi di ping) averla in California o in Romania è sicuramente peggio che averla a Milano :D

Fatti un giro su questo forum italiano http://www.hostingtalk.it/forum/

PS
Dato che la macchina (VPS) è esposta in internet e da SOLO te gestita, prima di prenderne una bisognerebbe essere sicuri di saperla gestire e proteggere da mali intenzionati.
Altrimenti è facile che qualcuno te la violi e la usi per altri scopi (e teoricamente poi legalmente mi sa che rispondi tu)