Correr uma webapp Java na Google cloud

Sabia que o Google tem uma cloud para as suas aplicações/sites web? Sabe o que é o Google App Engine e o que pode fazer com ele? Neste artigo pretendo explicar o enquadramento e os primeiros passos desta plataforma.

Enquadramento

O Google App Engine (GAE) é uma plataforma como serviço (PaaS). O GAE percence ao Google Cloud Platform. Este é comparável ao Microsoft Azure e aos Amazon Web Services: os três são soluções de cloud computing. Na prática, este sistema oferece hardware (servidores web, alojamento, etc.) para que os developers desenvolvam e corram web apps (e outros serviços web).

Google Cloud Platform

Este sistema é gratuito até certos limites (freemium).

Podemos, por exemplo, criar um web site e um serviço de backend para servir aplicações mobile. Terá diversos recursos à disposição, tais como bases de dados, API REST, etc.

app_design_numbered[1]

Antes de começar

Vejamos como ter o seu primeiro projeto na cloud do GAE.

Comece por escolher um runtime: o GAE suporta Java, Go, PHP e Python. Aqui vou usar Java para ilustrar os conceitos do GAE. O suporte atual é para a versão 1.7. Estou a assumir que já tem o Java JDK. Confirme que tem a última versão do Maven e configure-a no NetBeans.
Pense no IDE que quer usar. No caso do Java, pode usar o Eclipse, NetBeans, IntelliJ, etc. Todos têm plugins para o GAE, mas por motivos de simplicidade, recomendo o NetBeans sem plugin GAE. É dessa forma que será dado este exemplo.

Lançar um projeto localmente e remotamente

  1. Vamos preparar o projeto na cloud: vá à consola web do Google Developers, clique em “Create Project” e dê um nome.


    (opcionalmente, pode clicar em opções avançadas e escolher a zona geográfica)

  2. Espere um pouco depois de clicar em “Create”. O projeto fica automaticamente selecionado no canto superior direito:

  3. Expanda o primeiro portlet e copie/guarde o “Project ID”. Este identifica o projeto acabado de criar:

  4. Crie um projeto no NetBeans. Usaremos uma aplicação web em Maven para o ilustrar.  Faça: File > New Project > Maven > Web Application. Preencha o nome de projeto e siga o wizard até ao fim (o servidor web não importa muito porque o app engine traz/usa o Jetty).
  5. Abra o pom.xml e adicione o jar do GAE (use a versão mais recente) (na zona das dependencies):
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-1.0-sdk</artifactId>
        <version>1.9.34</version>
    </dependency>
  6. Ainda no pom.xmlna zona buildplugins, adicione o plugin de deploy do GAE. Use a última versão.
    <plugin>
       <groupId>com.google.appengine</groupId>
       <artifactId>appengine-maven-plugin</artifactId>
       <version>1.9.34</version>
    </plugin>
  7. Crie um web.xml:
  8. Dentro de WEB-INF, crie o ficheiro appengine-web.xml, com o conteúdo:
    <?xml version="1.0" encoding="utf-8"?>
       <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
       <application>erudite-canto-110614</application>
       <version>1</version>
       <threadsafe>true</threadsafe>
    </appengine-web-app>
  9. Preencha o campo application com o Project ID obtido no passo 3.
  10. Saque o ficheiro nbactions.xml e coloque-o ao mesmo nível que o pom.xml. Este contém os Maven goals do projeto GAE, tais como deploy local ou para a cloud.
  11. Faça deploy local (isto irá lançar o Jetty na porta 8080, a qual pode ser alterada):
  12. Abra o browser em http://localhost:8080:

    Parabéns.
  13. Tentemos ver a mesma coisa mas na cloud. Faça:

    Um browser irá abrir. Aceite as permissões pedidas.
    Copie o código que lhe foi dado e cole-o na consola do NetBeans.
  14. Todas as apps vão parar ao appspot.com e podem ser lançadas a partir de lá.
    Abra http://O-SEU-PROJECT-ID.appspot.com
    Neste caso seria: http://erudite-canto-110614.appspot.com
    Parabéns!

Saiba mais na documentação oficial GAE para Java.

Anúncios

Uma opinião sobre “Correr uma webapp Java na Google cloud

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

Create your website at WordPress.com
Get started
%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close