Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre Novidades.
Começando no Cloud Foundry
Este artigo apresenta o desenvolvimento de um aplicativo, baseado em Java e Spring, para a plataforma Cloud Foundry, passando pela preparação do ambiente, pelo desenvolvimento de um Hello World e de uma aplicação completa com o uso de Spring MVC, JPA com banco de dados MySQL, até a efetiva implantação da aplicação no CloudFoundry.com.

Em que situação o tema é útil
O conteúdo abordado neste artigo é útil ao facilitar os primeiros passos no ambiente de nuvem Cloud Foundry da VMware, baseado no modelo PaaS, pois apresenta a plataforma e o seu ecossistema visando auxiliar na análise e escolha de um serviço desse tipo.

Atualmente, é possível a contratação de serviços de infraestrutura computacional como armazenamento, processamento, e também de plataformas e softwares como serviços de forma dinâmica, conforme a demanda do contratante. Este modelo de fornecimento de serviços caracteriza o que chamamos de Cloud Computing.

Com o auxílio das soluções de Cloud Computing, os profissionais podem atender a uma demanda que em um passado recente exigiria um grande investimento em infraestrutura, o que dificultava e até inviabilizava o acesso a estes recursos por parte de muitos desenvolvedores.

Com a grande gama de soluções disponíveis e acessíveis, é de suma importância que o conhecimento destas soluções faça parte do cinto de utilidades de todo desenvolvedor. Dentre as diversas soluções, este artigo apresentará um passo a passo introdutório à Cloud Foundry, plataforma na nuvem mantida pela VMware.

A Cloud Foundry é uma plataforma como serviço (PaaS – ver BOX 1) aberta e que disponibiliza diversos frameworks e serviços em sua estrutura extensível. O fato de a plataforma ser open source viabiliza a escolha do seu ambiente de execução, não se limitando ao CloudFoundry.com, visto que a mesma está disponível em clouds privadas e diversas clouds públicas.

No momento da escrita deste artigo, além do CloudFoundry.com, outros provedores como o NTT Communications, appfog, Tier 3 e Uhuru disponibilizam o ambiente de execução do Cloud Foundry. O endereço com a lista completa e atualizada dos provedores do Cloud Foundry pode ser encontrado na seção Links.

BOX 1. PaaS

PaaS (do inglês Platform as a Service) consiste no serviço de hospedagem e implementação de hardware e software que elimina a necessidade de instalação e preparação do ambiente no qual o aplicativo será executado.

O ambiente de execução da plataforma suporta os frameworks Spring, Ruby on Rails, Sinatra, Scala e node.js, e também os seguintes serviços: bancos de dados relacionais com vFabric Postgres e MySQL, banco de dados NoSQL orientado a documentos com MongoDB, banco de dados NoSQL orientado ao modelo chave-valor com Redis, e middleware de mensageria vFabric com RabbitMQ. Visto que a plataforma é aberta, outros provedores implementam serviços além dos citados. Como exemplo, podemos citar o NTT Communications, que implementa o Memcached. Os serviços disponíveis por cada provedor pode ser encontrado em um endereço na seção Links.

Como dito anteriormente, a plataforma Cloud Foundry é aberta e o CloudFoundry.org é o projeto open source, sob licença Apache 2, no qual a evolução da plataforma é mantida por meio da contribuição de desenvolvedores e membros da comunidade.

O ecossistema da plataforma também é composto pela Micro Cloud Foundry, que é uma instância da plataforma que pode ser baixada e executada em uma máquina virtual da VMware, permitindo que aplicações implantadas neste ambiente possam ser executadas com modificações mínimas em qualquer nuvem pública ou privada que disponibilize o ambiente de execução do Cloud Foundry. Na seção Links pode ser encontrado o endereço que auxilia na instalação e configuração da Micro Cloud Foundry.

Dentre as ferramentas disponíveis para a implementação de aplicativos baseados na plataforma Cloud Foundry, o VMC (ver BOX 2) permite realizar a implantação e gerenciamento de aplicativos por meio de uma interface de linha de comando. Também podem ser utilizados o Spring Tool Suite (STS), IDE baseada no Eclipse, além do próprio Eclipse. Na seção “Preparando o terreno” será apresentada a instalação e configuração do STS para trabalhar de modo integrado ao CloudFoundry.com.

BOX 2. VMC

VMC é uma interface de linha de comando que permite interação com a plataforma Cloud Foundry. Por meio desta ferramenta é possível realizar o gerenciamento de serviços e aplicativos da plataforma, como parar, iniciar e remover uma aplicação, criar uma nova instância de um serviço e conectar o serviço à aplicação.

Além das ferramentas, também está disponível para o desenvolvedor uma ampla documentação sobre a plataforma. Na seção Links está disponível o endereço com informações que facilitam o primeiro contato com os frameworks, serviços e ferramentas disponíveis (Getting Started). Neste endereço também é apresentado um overview do Cloud Foundry.

Para saber mais sobre Cloud Computing, veja o artigo Computação Java nas Nuvens, publicado na Edição 108 da Java Magazine, que explora a origem e conceitos envolvidos, e o artigo Cloud Computing em evidência com Eclipse, publicado na Java Magazine 111, que traz uma síntese comparativa entre diversas plataformas disponibilizadas como serviços (PaaS), como: Jelastic, CloudBees e o próprio Cloud Foundry.

Preparando o terreno

O primeiro passo é realizar o registro gratuito no site da plataforma Cloud Foundry (ver Links). A inscrição é rápida e simples, como pode ser visto na Figura 1. Basta informar o e-mail e aceitar os termos de serviços. Depois do cadastramento, uma senha provisória será enviada para o e-mail registrado e após o primeiro acesso e definição da senha definitiva, o ambiente já estará disponível para o desenvolvedor.

Criação
de conta no CloudFoundry.com

abrir imagem em nova janela

Figura 1. Criação de conta no CloudFoundry.com.

Com o ambiente disponível, será possível implementar o sistema de exemplo que será desenvolvido com Java e Spring. A forma mais fácil e produtiva de desenvolver nosso aplicativo é por meio do uso do Spring Tool Suite, ambiente integrado de desenvolvimento mantido pela VMware, baseado no Eclipse, que possui diversos plugins que facilitam o desenvolvimento em Java com Spring Framework e seu ecossistema.

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