Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

O artigo traz uma rápida introdução à computação em nuvem (Cloud Computing) e as possibilidades de desenvolvimento neste modelo utilizando o Google App Engine. Posteriormente, o leitor será guiado na criação de um aplicativo Java na “nuvem” utilizando esta plataforma.

Em que situação o tema útil:

A computação em nuvem não é somente um novo modelo de desenvolvimento e distribuição de aplicações – ela também vai de encontro ao desejo do usuário de ter seus dados e informações disponíveis em qualquer lugar. Dessa forma, o desenvolvedor deve conhecer o assunto e ter conhecimento suficiente para dar início a implementações práticas.

Resumo DevMan:

Uma aplicação tradicional está geralmente “presa” a um determinado computador ou dispositivo. A ampla disponibilidade do acesso à Internet, aliada a diversificação dos equipamentos conectados à rede, trouxe ao usuário a necessidade de ter seus dados e aplicativos disponíveis em todo lugar, a qualquer momento. A computação em nuvem, ou Cloud Computing, estabelece um modelo de desenvolvimento de aplicações que atendam a estas necessidades. Este artigo apresenta a plataforma de computação em nuvem Google App Engine como uma forma do desenvolvedor Java criar seus aplicativos dentro deste novo paradigma.

Muito tem sido comentado recentemente sobre a computação em nuvem, ou “cloud computing”. Uma de suas principais características é fazer com que um software, ou recurso, seja disponibilizado pela Internet e utilizado como um serviço, e não simplesmente como um produto (no sentido tradicional – o de comprar um software em uma “caixinha” e utilizá-lo por tempo indeterminado). Dentro deste modelo, se encaixam aplicativos tradicionais e outros tipos de serviços, como armazenamento de dados, fornecimento de conteúdo, mídia, ferramentas de colaboração e comunicação, entre outros.

A forma de acesso a estes aplicativos e recursos é geralmente feita por meio do navegador, mas também pode envolver o uso de uma aplicação cliente simplificada, criada para esta finalidade. Os softwares e dados são armazenados em servidores remotos, e a conexão a estes é feita pela Internet. Dessa maneira, o usuário tem a sensação de estar utilizando estes softwares e recursos localmente, sem ter necessariamente que conhecer detalhes sobre a localização e forma de acesso a eles.

Na Figura 1 pode ser observado que, aquilo que é chamado de “nuvem”, nada mais é que um conjunto de recursos disponibilizados por servidores espalhados pela Internet. Aliás, o termo nuvem é empregado como uma referência simbólica à Internet antes mesmo do estabelecimento do conceito de “Cloud Computing”.

Diagrama simplificado de um modelo de computação em nuvem

Figura 1. Diagrama simplificado de um modelo de computação em nuvem.

O usuário, de posse de um computador desktop, notebook, tablet ou smartphone, terá de forma transparente o acesso a uma variedade de aplicações e dados compartilhados. A “nuvem” esconde a origem da aplicação ou informação; para o utilizador, é como se estes estivessem disponíveis localmente no dispositivo.

Outra característica importante da computação em nuvem é que uma informação adicionada ou alterada em um dos dispositivos será, de forma transparente, compartilhada pelos demais. Ou seja, qualquer que seja a forma de acesso, as aplicações e os dados disponíveis ao usuário serão os mesmos.

A computação em nuvem é utilizada hoje em três modelos:

SaaS (Software as a Service): ou software como um serviço, neste esquema, os fornecedores do recurso em nuvem disponibilizam o acesso a aplicações completas aos clientes. É geralmente cobrada uma taxa de assinatura para o uso do serviço;

IaaS (Infrastructure as a Service): neste caso, as empresas fornecedoras disponibilizam infraestrutura física para o serviço em nuvem, como servidores dedicados ou virtuais, segurança por meio de firewalls e até mesmo redes de acesso completas;

PaaS (Platform as a Service): aqui, é fornecida uma plataforma para criação de aplicações em nuvem, que fica a disposição do desenvolvedor para criar seu aplicativo. Engloba geralmente uma linguagem de programação a ser utilizada para o desenvolvimento, APIs, acesso a banco de dados e um servidor Web. Este é o modelo adotado pelo Google App Engine, um serviço de aplicações em nuvem recentemente disponibilizado pelo Google.

Para o desenvolvimento de aplicações Java na nuvem, o Google App Engine é uma excelente opção: gratuito (desde que a aplicação seja mantida dentro de um limite máximo de acessos), eficiente e fácil de ser utilizado, com suporte a frameworks e tecnologias Java amplamente conhecidas como JSP, Servlets e JPA.

Conhecendo melhor e se inscrevendo no Google App Engine

O Google App Engine, ou somente GAE, é uma plataforma de desenvolvimento de aplicações em nuvem criada e disponibilizada pelo Google. É uma PaaS completa, que oferece não apenas uma, mas três linguagens de programação para criação dos aplicativos: Java, Python e Go.

No caso do desenvolvimento em Java, como mencionado anteriormente, a plataforma possui suporte completo a JSP e Servlets. Dados podem ser armazenados na própria plataforma (seu serviço datastore) facilmente utilizando a JPA (Java Persistence API). Além destes recursos, o desenvolvedor conta com toda a infraestrutura de datacenters e links redundantes do Google para dar suporte ao funcionamento do aplicativo. De acordo com o próprio Google, a estrutura destinada ao App Engine possui escalabilidade automática e cresce dinamicamente, à medida que for necessário à aplicação. Se o aplicativo precisa ter capacidade para mais usuários, ou necessita de mais armazenamento, o Google App Engine será escalonado proporcionalmente à demanda.

Apesar de tantos pontos positivos, existem algumas restrições no uso do App Engine, por exemplo:

• Aplicações não podem utilizar Threads;

• Componentes Swing e AWT não são suportados;

• Aplicações hospedadas no plano gratuito padrão têm um limite de 5 milhões de views.

Para utilizar o App Engine, o primeiro passo é possuir uma Conta Google. Se você já tem uma, basta acessar o endereço abaixo e se inscrever no App Engine:

...
Quer ler esse conteúdo completo? Tenha acesso completo