Jump to content
xDarkLink

Correr .jar num Servidor Dedicado

Recommended Posts

xDarkLink

Boa noite pessoal, eu não tenho muita experiência em servidores dedicados, foi por isso que decidi vir aqui perguntar-vos. Peço desde já desculpa caso não esteja na secção correcta.

Eu tenho uma aplicação java, que trabalha como um servidor (uso classes como, ServerSocket e Socket, etc..), a outra aplicação cliente será disponibilizada por mim a quem eu quiser (cliente).

A questão é: eu gostava de ter a aplicação java (servidor) a correr num servidor dedicado, de modo que não tivesse que ter o meu computador ligado.

Acho que me fiz entender certo?

Que especificações precisa de ter o domínio para correr uma aplicação java? já trazem todas a virtual machine do java?

Facilmente meto a correr um ficheiro .jar num servidor?

Encontrei servidores free que para mim chegam.. com 100mb de espaço no disco (chega perfeitamente..) e alguma banda por mês, é o suficiente!

Só não sei se correm ficheiros .jar :s

Muito obrigado desde já pela vossa atenção!

Share this post


Link to post
Share on other sites
_7_up_

Num servidor dedicado instalas o que tu quiseres. Se for uma versão linux é muito simples instalar o java, depende é da versão. Agora o que eu acho estranho é encontrares sevidores desses "free". Não terás encontrado antes um sítio onde te deixam alojar ficheiros? Ai duvido que corras o teu jar...

Share this post


Link to post
Share on other sites
xDarkLink

Eu não sei se posso falar de servidores aqui :s

Também não sei se é dedicado ou não, foi um nome que me ocorreu de dar.. é um free shared hosting vi agora, de nome awardspace, conheces?

Obrigado :)

Share this post


Link to post
Share on other sites
Knitter

Servidores dedicados são caríssimos, mesmo uma VPS (servidor em máquina virtual) custo cerca de 20€/mês e serão máquinas com uma média de 256MB de RAM e ciclos de CPU limitados.

O que encontraste é uma alojamento partilhado e nesses não tens acesso nenhum à máquina além do FTP para colocar os ficheiros e eventualmente um painel de controlo para coisas básicas como e-mails ou bases de dados. Não te é permitido executar qualquer aplicação ou fazer login na máquina para executares a tua aplicação.

Portanto, de forma simples diria que para puderes executar a aplicação terias de adquirir um VPS ou um servidor dedicado onde pudesses ter controlo da máquina, isso implicará custos elevados. Se tiveres vontade de os suportar, tenta começar com uma VPS que é sempre mais barato (utilizado as VPSs do http://www.slicehost.com/ ).

Quanto a recursos e configurações, um VPS/servidor dedicado terá sempre um IP público associado que podes usar, não precisas de um domínio, mas podes sempre adquirir um domínio se isso for uma vantagem. A quantidade de RAM irá depender do que a tua aplicação faça, a nível de CPU não costuma existir grande problema com as limitações das VPSs.

Terás de ser tu a instalar a distribuição GNU Linux que pretenderes usar (não recomendo MS Windows quer pelo preço quer pelas características do SO), terás de garantir a segurança da máquina e instalar todo o software que precisas.

Não é uma grande resposta mas espero que percebas que a solução depende muito do que queres mesmo fazer e do que estás disposto a pagar.

Share this post


Link to post
Share on other sites
xDarkLink

Foi a resposta que eu já estava a espera de ler, mas ainda bem que me a deste porque assim confirmo qualquer dúvida que persistia.

Isto era apenas uma brincadeira para fazer com uns amigos, e precisava de um host para ter a aplicação sempre UP, sem ter de me preocupar em ter um computador ligado em casa constantemente, entendes?

Por ser uma coisa tão simples, que usa tão pouca memória e processamento pensei que fosse possível encontrar uma solução gratuita para o meu problema.

Confirmas então não haver nenhuma solução não é?

Obrigado mais uma vez pela tua disponibilidade !

Share this post


Link to post
Share on other sites
Knitter

A única coisa que posso confirmar é que não conheço nenhuma solução gratuita, ou melhor, nenhuma que tenha recursos em quantidade suficiente. No entanto, se aplicação consome mesmo poucos recursos poderás tentar o sistema EC2 da Amazon.

O sistema EC2 da Amazon oferece um ano de Cloud Computing (basicamente uma máquina virtual no sistema de cloud deles). A máquina é o mais pequeno que há no sistema EC2, tem limite de execuções que quando atingido bloqueia a tua instância durante uns minutos, e o número de ciclos de e de tráfego é também limitado.

Precisas ter um cartão de crédito para te registares e mesmo que tenhas pouco tráfego é possível que tenhas de pagar algum. Um site/sistema com muito pouco tráfego pode custar-te alguns cêntimos por mês. Resumindo, não sendo uma grande máquina virtual, é uma possibilidade se o que pretendes executar tiver um consumo muito baixo, não esperes grande performance da instância.

Podes ver as condições e registar-te gratuitamente em http://aws.amazon.com/ec2/pricing. Após um ano terás de começar a pagar ou desistir do sistema. Não garanto que sirva, terás de ver as condições das máquinas mas pode ser uma opção.

Não conheço qualquer outro sistema que ofereça gratuitamente acesso a máquinas, quer físicas quer virtuais, e tendo em conta os custos associados duvido que alguém consiga oferecer este tipo de recursos sem ter algo muito bom em troca.

Share this post


Link to post
Share on other sites
xDarkLink

Pois é normal, eu compreendo.

Okay muito obrigado, eu vou explorar isto então.

Abraço.

Share this post


Link to post
Share on other sites
pmg

Ve la se o SDF Public Access UNIX System te serve.

Nao faco ideia se podes por um programa em Java a correr la, ou se podes ter um daemon; e uma questao de leres a documentacao.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
xDarkLink

Obrigado pela sugestão ! Parece ser uma cena muito interessante, não tinha nenhum conhecimento disto . Isto é um vps então, gratuito não é ?

Já me registei e já pus a minha shell account a bombar, já me registei também no fórum deles e perguntei, depois deixo aqui o feedback :)

Muito obrigado mais uma vez, cumprimentos.

Share this post


Link to post
Share on other sites
pmg

Não, não é um vps.

É um sistema Unix onde podes criar (e usar) uma conta de utilizador (sem piratear passwords ou outras coisas de "hacker").

Neste momento estão (aproximadamente) 90 utilizadores com sessão ligada no servidor (executei o comando who).


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
M6

Tens já VPS bastante acessíveis e com bons serviços de suporte (muito longe daquele suporte tipico a que o mercado nacional está habituado).

Dá uma olhadela aqui:

http://www.hetzner.de/en/hosting/produktmatrix_vserver/vserver-produktmatrix

http://www.tilaa.nl/


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
JD557

Outra coisa que podes fazer (Não posso garantir que funcione bem, visto que acho que ainda é demasiado cedo para alguém ter testado isto) é comprares um Raspberry Pi (Rev. B, visto que deves querer a porta Ethernet) e meteres lá a correr a tua aplicação. Em principio o gasto de energia é bastante menor que um PC 24/7 e se é um serviço só para a brincadeira, não deves ter grandes problemas.

Penso que o maior problema agora é mesmo comprar um, visto que estão a esgotar bastante depressa. :D

Alguém pode confirmar se isto é boa ideia? Estava a pensar em vir a fazer algo deste género, mas gostava de uma confirmação.


MIEIC @ FEUP

http://project557.blogspot.com/ --- Development Blog

Proteja a sua pen: http://lastknight.pt.vu

Share this post


Link to post
Share on other sites
xDarkLink

Okay tou a perceber então, obrigado pela sugestão M6, mas a ideia era mesmo a custo zero.. é que de espaço basta-me 10mb.. alias 2mb chegavam.. e trafego internet, nem 1gb seria..

Mais uma vez obrigado, eu estou à espera de resposta no fórum deles, lá do SDF

EDIT: Ahh sim JD, isso seria altamente também, e eu tinha a máquina mesmo ali ao meu lado, e não havia problema em estar sempre a correr, visto o gasto custo de electricidade, resta mesmo saber se funciona.. ?

Share this post


Link to post
Share on other sites
pedrotuga

Outra coisa que podes fazer (Não posso garantir que funcione bem, visto que acho que ainda é demasiado cedo para alguém ter testado isto) é comprares um Raspberry Pi (Rev. B, visto que deves querer a porta Ethernet) e meteres lá a correr a tua aplicação. Em principio o gasto de energia é bastante menor que um PC 24/7 e se é um serviço só para a brincadeira, não deves ter grandes problemas.

Penso que o maior problema agora é mesmo comprar um, visto que estão a esgotar bastante depressa. :D

Alguém pode confirmar se isto é boa ideia? Estava a pensar em vir a fazer algo deste género, mas gostava de uma confirmação.

Pois eu tambem estou um pouquito céptico. Ainda quero ouvir os primeiros relatos de instalações de linux. Que tipo de linux é que lá poes, que distribuição, que tipo de instalação, etc. A JVM correrá lá sem problemas? A espectativa é alta, mas a ver vamos.

VPS baratas são fixes para brincadeiras. Eu tenho uma que comprei por tuta e meia, estou sempre a rebentar com aquilo com testes :)

Tens aqui um blog dedicado a VPSs baratas. Há delas MUITO baratas:

http://www.lowendbox.com/

Mas atenção que a JVM é uma aplicção que tipicamente puxa os requerimentos do servidor para cima. Principalmente ram.

Share this post


Link to post
Share on other sites
mjamado

Pois eu tambem estou um pouquito céptico. Ainda quero ouvir os primeiros relatos de instalações de linux. Que tipo de linux é que lá poes, que distribuição, que tipo de instalação, etc. A JVM correrá lá sem problemas? A espectativa é alta, mas a ver vamos.

On February 19, 2012 the Raspberry Pi Foundation released its first proof of concept SD Card image that can be loaded onto an SD Card to produce a preliminary operating system. The image is based upon Debian 6.0 (Squeeze), with the LXDE desktop and the Midori browser, plus various programming tools. The image can also run on QEMU allowing the Raspberry Pi to be emulated on various other platforms. The Raspberry Pi Foundation plans to release a version of Fedora later.

Negritos meus. Daqui.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
M6

@JD557, esses micro-pcs são giros, e sinceramente tenho as mesmas dúvidas que tu, em especial para algo que é muito goloso ao nível da RAM!...

Mas ando para comprar um brinquedo desses para ter em casa como mini-servidor.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
xDarkLink

Boas pessoal, desculpem estar a desenterrar o tópico, mas encontrei uma coisa há uns dias que talvez me ajude com o que pretendo alcançar.

GAE - Google App Engine, com suporte para Java EE Servlets e gratuito para coisas pequenas. Surgiu em 2008 tendo em conta a wiki.

Porquê é que na altura ninguém fez referência a isso? por alguma razão em especial? não é possível aquilo que pretendo?

Obrigado desde já pessoal ;)

Share this post


Link to post
Share on other sites
Ernest Duarte

Bom dia xDarkLink,

Problema :

Se eu entendo bem você tem uma aplicação Java SE (autónoma ela tem o main(String[] argv) ) que é um servidor implementado com ServerSocket e Socket e embalado em um ficheiro JAR.

E você quer meter essa aplicação JAVA (servidor) a correr numa maquina física, de modo que não tivesse que ter o seu computador ligado.

Resposta :

Para correr uma aplicação Java SE (autónoma com o main(String[] argv) ) ela vai correr numa JVM/JRE.

Você não pode meter essa aplicação autónoma Java SE no software servidor de aplicações Java EE nem no GAE (Google AppEngine) por que ela é autónoma e por outro lado ela tem o seu próprio porto de comunicação definido no ServerSocket. Por outro lado nos servidores de aplicações Java EE e GAE são em geral WAR (Web Application ARchive).

GAE é um Cloud Computing dito Platform as a Service ( PaaS).

Por outro lado Java EE não é como o PHP que tem as maquina de hospedagem gratuitas. JAVA em geral é fonte de rendimento "em todos os sentidos" ao contrario de PHP ...

Portanto JAVA (OpenJDK) é livre e de código aberto (Open Source licence GPL version 2) desde 13 de novembro de 2006.

Em Java EE as melhores suluções actualmente são : Jelastic, OpenShift, CloudBees

Para saber mais sobre Java EE :

http://evento.portugal-a-programar.pt/sessoes/apresentacao-das-novidades-de-java-ee-7/

Mas o seu problema é diferente por que você utilisa uma aplicação Java SE.

Qual é a solução então ?

O Knitter estava na boa pista quando falou de Amazon EC2...

Na minha opinião tem pelo menos duas soluções para meter o seu servidor ServerSocket online.

A primeira é uma alugar uma maquina fisica dedicada na qual instala o que quer.

A segunda é o CLOUD COMPUTING no nivel IaaS. Nesse Cloud você pode ter a sua maquina Virtual falando de virtualisation VMware ou équivalente e não de JVM Java.

O site de OVH resume bem, de um lado dedicado e de outro CLOUD : http://www.ovh.pt/ , OVH é uma empresa multinational francesa.

Em resumo o Cloud tem três niveis :

o primeiro é au nivel rede e sistema gerado pelos adminitradores de redes e sistemas : IaaS (Infrastructure as a Service) : http://www.openstack.org/ ou Google Compute Engine

o segundo é au nivel plataforma é aqui se situa os desenvolvedores : PaaS (Platform as a Service) exemplo : GAE - Google App Engine , Jelastic, OpenShift, CloudBees, ...

o treceiro é au nivel das applicações é aqui que estão os utilisadores : SaaS (Software as a Service) : exemplo : http://www.salesforce.com

Conclusão :

Você tem que ter ou uma maquina fisica dedicada ou um Cloud IaaS de tipo Google Compute Engine ou OpenStack.

Mas vai dificilemente encontrar uma solução gratuita para hospedar a sua aplicação Java SE , servidor ServerSocket.

E por outro lado o seu servidor vai ter um porto de comunicação por exemplo 3333 por que os até 1024 ja estão reservados e os Firewall não vão talvez gustar.

Por isso a melhore solução talvez seja de conectar o seu softawre cliente a uma Servlet hospedada num PaaS gratuito (até um certo ponto ) como GAE.

Mas GAE não implementa todo de Java EE por exemplo não pode fazer EJB. O GAE tem muitas restrições e não se pode fazer a que quer.

Mas daqui uns dias ou meses o GAE vai mudar e vai poder fazer o que quizer no GAE por que ele vai correr diretamente no Google Compute Engine numa virtual machine do Cloud.

E tabem vai haver um systema de Modules ...

Outra solução é o Google Compute Engine (IaaS) mas não é gratuito.

E se não tem uma solução que me parece ser interessante é Microsoft Windows Azure com o seu OpenJDK mas não sei se é gratuito mas penso que não.

http://www.windowsazure.com/en-us/develop/java/

Para saber mais sobre o Cloud Computing fique atente por que estou a preparar um documento que sera disponivel em português em breve.

Cordialmente

Ernest Duarte

Share this post


Link to post
Share on other sites
xDarkLink

Bem Ernest Duarte belo post, muito obrigado por toda a informação.

Parece-me que a minha única boa hipótese é explorar o sistema Amazon EC2. Irei fazer isso :)

Obrigado mais uma vez ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.