Você está na página 1de 42

CHRISTYANO WESLEY ROMANO

COMPUTAO EM NUVEM COM FERRAMENTAS DO GOOGLE

ASSIS
2011

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

COMPUTAO EM NUVEM COM FERRAMENTAS DO GOOGLE

Trabalho de Concluso de Curso apresentado ao Instituto


Municipal de Ensino Superior de Assis, como requisito do curso
de Bacharelado em Cincia da Computao - IMESA e a
Fundao Educacional do Municpio de Assis FEMA, como
requisito parcial a obteno do Certificado de Concluso.

Orientador: Prof. Dr. Alex Sandro Romeo de Souza Poletto


rea de Concentrao: Sistemas de Banco de Dados

ASSIS
2011

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

FICHA CATALOGRFICA
ROMANO, Christyano Wesley
Computao em Nuvem com ferramentas do Google /
Christyano Wesley Romano. Fundao Educacional do Municpio de
Assis FEMA Assis, 2011.
42p.
Orientador: Prof. Dr. Alex Sandro Romeo de Souza Poletto
Trabalho de Concluso de Curso Instituto Municipal de Ensino
Superior de Assis IMESA.
1.Computao em Nuvem. 2.Banco de Dados. 3.Novas
Tecnologias. 4.Google. 5.Internet. 6.Aplicaes Web
CDD:001.6
Biblioteca da FEMA.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

COMPUTAO EM NUVEM COM FERRAMENTAS DO GOOGLE

CHRISTYANO WESLEY ROMANO

Trabalho de Concluso de Curso apresentado ao


Instituto Municipal de Ensino Superior de Assis, como
requisito de Curso de Bacharelado em Cincia da
Computao,

analisado

pela

seguinte

examinadora:
.

Orientador: Dr. Alex Sandro Romeo de Souza Poletto


Analisador: Dr. Almir Rogrio Camolesi

ASSIS
2011

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

comisso

DEDICATRIO

Dedico este trabalho em primeiro lugar a Deus, aos


meus pais Marcos e Eliane, e uma pessoa muito
especial Rafaela que me deu muita fora foras
nesses ltimos quatro anos da minha vida, e aos
amigos e professores e meu orientador que
puderam compartilhar momentos de tristeza e
alegria, sempre mostrando que posso ser um grande
sonhador.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

RESUMO
O conceito de Computao em Nuvem vem crescendo muito em grandes e
pequenas empresas, e tambm em usurios comuns. Esse crescimento vem
acontecendo pelo fato de facilitar na questo de utilizar determinados servios de
qualquer lugar e independente da plataforma, com apenas o acesso a Internet sem
que as aplicaes estejam instaladas em seus computadores. Como essa nova
tecnologia vem crescendo, a Google disponibilizou ferramentas gratuitas de
desenvolvimento de aplicaes para Web, com isso os objetivos do trabalho ser
mostrar conceitos de Computao em Nuvem, e realizar uma pesquisa sobre as
ferramentas disponibilizadas pelo Google, com o intuito de realizar um estudo de
caso, desenvolvendo assim uma aplicao.

Palavras-chaves: Computao em Nuvem, Novas Tecnologias, Google, Internet,


Aplicaes Web.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

ABSTRACT
The concept of Computation in Cloud comes very growing in great and small
companies, and also in common users. These growths comes happening for the fact
to facilitate in the question to use definitive services of any independent place and of
the platform, with only the access the Internet without the applications are installed
in its computers. As this new technology comes growing, the Google available
gratuitous tools of development of applications for Web, with this the objectives of
the work will be to show concepts of Computation in Cloud, and to carry through a
research on the tools available for the Google, with intention to carry through a case
study, thus developing an application.

Keywords: Computation in Cloud, New Technologies, Google, Internet, Web

Applications.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

LISTA DE ILUSTRAES
Figura 1. Viso de uma nuvem computacional (Rushel; Zanotto; Da Mota, 2010)
melhorada................................................................................................................. 12
Figura 2. Modelos de servios (Sousa; Moreira; Machado, 2010). ........................... 16
Figura 3. Tipos de Nuvens (Sousa; Moreira; Machado, 2010) ................................. 19
Figura 4. Papis de Computao em Nuvem (Sousa; Moreira; Machado, 2010). .... 21
Figura 5. Instalao da ferramenta SDK. ................................................................. 28
Figura 6. Criao do Projeto Aplicao. ................................................................... 29
Figura 7. Servlet Usurio. ......................................................................................... 30
Figura 8. Desenvolvedor autenticado no Google dentro do Eclipse. ........................ 39
Figura 9. Representao de um projeto em nuvem. ................................................. 40

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

LISTA DE SIGLAS E ABREVIATURAS

TI

Tecnologia da Informao.

SDK

Software Development Kit.

JDO

Java Data Objects.

JPA

Java Persistence API.

JSP

Java Server Pages.

APP

Application.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

SUMRIO
1.

INTRODUO ............................................................................................... 12

1.1 OBJETIVO .......................................................................................................... 13


1.2. JUSTIFICATIVA ................................................................................................ 13
1.4. ESTRUTURAS DO TRABALHO ........................................................................ 14
2.

COMPUTAO EM NUVEM ......................................................................... 15

2.1 SaaS - SOFTWARE COMO SERVIO. ............................................................. 16


2.2 PaaS - PLATAFORMA COMO SERVIO .......................................................... 17
2.3 IaaS (INFRAESTRUTURA COMO UM SERVIO) ............................................ 17
2.4 MODELOS DE IMPLEMENTAO DE UMA NUVEM ....................................... 18
2.4.1 Nuvem Pblica. ............................................................................................... 19
2.4.3 Nuvem Hibrida. ................................................................................................ 20
2.5 Papeis da Computao em Nuvem .................................................................... 20
3.

GOOGLE APPLICATION ENGINE ................................................................ 23

3.1. GOOGLE APP ENGINE E JAVA ..................................................................... 24


3.1.1. Sistema de Armazenamento ....................................................................... 25
3.1.2. JDO (Java Data Objects) ............................................................................. 25
3.1.3. Sandbox. ....................................................................................................... 26
4.

ESTUDO DE CASO ....................................................................................... 27

4.1. Aplicao .......................................................................................................... 27


4.2. Criando o Projeto. .............................................................................................. 28
4.3. Trabalhando com Servlet................................................................................... 29
4.4. Armazenando Dados Com JDO. ....................................................................... 31
4.5. Criando a pgina em Java Server Pages .......................................................... 35
4.6. Enviando o Aplicativo. ....................................................................................... 38
4.7. Dificuldade Encontrada...................................................................................... 39

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

CONCLUSO .......................................................................................................... 40
REFERENCIAS ........................................................................................................ 42

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

12

1. INTRODUO
Hoje em dia com o desenvolvimento da sociedade humana, somos muito
dependentes de servios de utilidades pblicas como luz, gua, telefone, gs dentre
outros, que facilitam nossas vidas. Para a utilizao desses servios necessrio
pag-los, e a mesma ideia vem sendo utilizada na rea da Informtica. Com o
avano da tecnologia a ideia de vender recursos computacionais esta se tornando
cada vez mais comum, hoje vem se falando muito em Computao em Nuvem, um
tipo de servio na rea da Informtica com esse mesmo conceito, pagar para ser
utilizado.
Segundo Taurion (2009),
pode-se dizer que a Computao em nuvem um termo para
descrever um ambiente da computao baseado em uma imensa
rede de servidores, sejam virtuais ou fsicos. Uma definio simples
pode ser ento, o conjunto de recursos como capacidade de
processamento, armazenamento, conectividade, plataformas,
aplicaes e servios disponibilizados na Internet.

A Figura 1 ilustra uma viso geral de uma nuvem computacional.

Figura 1. Viso de uma nuvem computacional (Rushel; Zanotto; Da Mota, 2010)


melhorada.
Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634
Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

13

Na Figura 1 so ilustrados vrios dispositivos que podero ter acesso a vrias


nuvens. Com esse acesso, os usurios podero enviar seus dados e aplicaes nas
nuvens, e acessar de qualquer dispositivo conectado Internet.
Outro fato importante que os usurios de Cloud Computing (Computao em
Nuvem) no s podero enviar dados e aplicaes, mais tambm utilizar aplicativos
e softwares em nuvem, ou seja, no ser necessrio ter nada instalado em seu
dispositivo, apenas o acesso internet.

1.1 OBJETIVO

O principal objetivo do trabalho de preparar um material, com exemplos prticos


sobre Computao em Nuvem, bem como obter um maior conhecimento sobre essa
nova tendncia. Para tal, ser feito um estudo dos conceitos gerais de Computao
em Nuvem, da Google APP, bem como o desenvolvimento de uma aplicao para
demonstrao prtica do uso dessa tecnologia.

1.2. JUSTIFICATIVA

A justificativa pela escolha deste assunto se d pelo fato de ser uma nova tendncia
para a rea de desenvolvimento de aplicaes, que est sendo implantada em
muitas empresas de grande e pequeno porte, alm de oferecer uma reduo nos
gastos de aplicaes e manutenes nas empresas.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

14

1.3. MOTIVAES

A motivao de realizar essa pesquisa vem da necessidade de obter conhecimentos


de novas tecnologias na rea da Computao, alm tambm, de ser uma tecnologia
muito utilizada atualmente, como os conceitos de computao em nuvem, bem como
de utilizar as ferramentas de desenvolvimento, oferecidas pelo Google.

1.4. ESTRUTURAS DO TRABALHO

Este trabalho est organizado em cinco captulos, sendo o primeiro, esta Introduo.
No segundo captulo, sero apresentadas as fundamentaes tericas sobre
Computao em Nuvem.
No terceiro captulo, ser apresentada a ferramenta Google APP ENGINE.
No quarto captulo, ser apresentado um estudo de caso sobre a tecnologia
realizando assim uma aplicao simples mostrando como funcionam as ferramentas.
No quinto captulo a concluso do estudo realizando uma analise da tecnologia
vantagens desvantagens.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

15

2. COMPUTAO EM NUVEM

A grande ideia do termo Cloud Computing ou Computao em Nuvem mudar a


forma de comercializao e desenvolvimento de softwares e aplicativos, porem isso
vem causando muitas divergncias por ser uma tecnologia nova no mercado.
Um dos motivos que a tecnologia gera divergncia que grandes aplicaes j
implantadas em empresas esto seguras, porem muitas empresas no mercado de
hoje tem receio da tecnologia, em questo da segurana de dados, outro fator muito
importante pelo fato da tecnologia de computao em nuvem ser muito
dependente da Internet.
A Computao na Nuvem ou Cloud Computing um novo modelo de Computao
que permite ao usurio final, acessar uma grande quantidade de aplicaes e
servios em qualquer lugar e independe da plataforma, bastando para isso ter um
terminal conectado nuvem. (PEDROSA; NOGUEIRA, 2011).
O principal conceito de computao em nuvem pagar para se utilizar, em melhores
palavras so servios e produtos de TI sobre demanda, tambm conhecida como
Utility Computing (SOUSA; MOREIRA; MACHADO, 2010).
A estrutura de Computao em nuvem dividida em trs classes ou modelos de
servios, cada classe ou modelo dependente da outra com isso formando a
estrutura da nuvem.
As trs classes de servios so nomeadas da seguinte forma: Infraestrutura como
Servio (IaaS), camada inferior; Plataforma como Servio (PaaS), camada
intermediaria e Software como Servio (SaaS), camada superior. (PEDROSA;
NOGUEIRA, 2011).
As classes citadas acima fazem parte da estrutura da Computao em Nuvem, j
que eles definem um padro arquitetural para solues de computao em nuvens.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

16

A Figura 2 mostrar as classes ou modelos de servios.

Figura 2. Modelos de servios (Sousa; Moreira; Machado, 2010).

2.1 SaaS - SOFTWARE COMO SERVIO.

SaaS a camada mais alta da arquitetura da Computao em Nuvem, um


software em forma de prestao de servio. O software como servio executado
em um servidor, ou seja, o usurio no precisa ter o mesmo instalado em seu
computador, basta estar na Internet, para utilizar o servio disponibilizado.
Como o SaaS so softwares prontos para serem executados, a maior vantagem
que mltiplos usurios podem utilizar o mesmo em vrios locais distintos.
Em melhores palavras, o SaaS destinado para o usurio final, que precisa do
aplicativo ou aplicao pronta para usar.
Esse tipo de servio executado e disponibilizado por servidores em Data Centers
de responsabilidade de uma empresa desenvolvedora, ou seja, o software
desenvolvido por uma empresa que ao invs de vend-lo ou usa-lo para beneficio
exclusivo, disponibiliza o mesmo a um custo baixo a uma grande quantidade de
usurios. (NOGUEIRA; PIEZZI, 2009).

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

17

Pode-se dizer, que o SaaS, representa os servios de mais alto nvel


disponibilizados em uma nuvem. Esses servios representam as aplicaes
completas que so oferecidas aos usurios (RUSHEL; ZANOTTO; DA MOTA, 2010).

2.2 PaaS - PLATAFORMA COMO SERVIO

PaaS a camada intermediria onde o servio de desenvolvimento de aplicaes


nas nuvens, assim como SaaS, tambm trabalha de forma de prestao de servio.
Este conceito associado a Cloud Computing e significa prover toda uma plataforma
de desenvolvimento de software como um servio. Ou seja, desenvolver, compilar,
debugar, deploy, test em uma aplicao (PACHECO, 2011).
Plataformas de desenvolvimento como Google EngineApp, trabalha com conceitos
PaaS.

2.3 IaaS (INFRAESTRUTURA COMO UM SERVIO)

O IaaS a camada primaria da estrutura da nuvem e traz os servios oferecidos na


camada de infraestrutura, nestes servios pode-se incluir servidores, roteadores,
sistemas de armazenamento e outros recursos de computao. Tambm
responsvel por prover toda a infraestrutura necessria para a SaaS e o PaaS.
(RUSHEL; ZANOTTO; DA MOTA, 2010).
Segundo Sousa (2010, pg.8),
O termo IaaS se refere a uma infraestrutura computacional baseada
em tcnicas de virtualizao de recursos de computao. Esta
infraestrutura pode escalar dinamicamente, aumentando ou
diminuindo os recursos de acordo com as necessidades das
aplicaes. Do ponto de vista de economia e aproveitamento do
legado, ao invs de comprar novos servidores e equipamentos de
rede para a ampliao de servios, pode-se aproveitar os recursos
disponveis e adicionar novos servidores virtuais infraestrutura
existente de forma dinmica.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

18

Como o termo IaaS oferece servios de infraestrutura para as camadas acima


da nuvem, como PaaS e SaaS, necessrio ter uma infraestrutura IaaS em
funcionamento, ou seja, as camadas PaaS e SaaS so totalmente
dependentes da IaaS. Existem vrios maneiras de se utilizar as camadas
citadas, formando assim tipos de implantaes diferentes em uma nuvem, no
prximo tpico sero apresentados os tipos de implantaes.

2.4 MODELOS DE IMPLEMENTAO DE UMA NUVEM

Um modelo de implementao trabalha sobre os padres de cada classe


apresentada nos captulos anteriores, tudo ir depender da necessidade da
aplicao que a nuvem vai fornecer.
A implementao da nuvem ir depender da necessidade da aplicao a ser
oferecida e do tipo de contrato de prestao de servio. Apesar da aparncia dos
servios serem disponibilidades de forma pblica, onde qualquer usurio tem acesso
a todo o contedo da nuvem, os modelos de negcios tem promovido o
desenvolvimento de modelos de implementao que garantem um adequado nvel
de controle da informao a ser disponibilizada (tipo e contedo) e visibilidade da
nuvem. (PEDROSA; NOGUEIRA, 2011).
Hoje esses modelos so divididos em trs categorias: nuvem pblica, nuvem privada
e nuvem hbrida.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

19

A Figura 3 apresenta os tipos de nuvens.

Figura 3. Tipos de Nuvens (Sousa; Moreira; Machado, 2010)

2.4.1 Nuvem Pblica.

A nuvem pblica pode ser utilizada por diversos usurios, basta o usurio conhecer
o local de acesso da nuvem para utilizar seus recursos. Porm, os usurios que
utilizam esse tipo de nuvem no tm acesso a infraestrutura do servio.
Para este modelo de implantao as restries de acessos no podem ser
aplicadas, quando ao gerenciamento de redes, a aplicao de tcnicas de
autenticao e autorizao tambm no ser possvel. (RUSHEL; ZANOTTO; DA
MOTA, 2010).

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

20

2.4.2 Nuvem Privada.

Nuvens privadas so utilizadas apenas por um nico usurio, em melhores palavras,


um rgo ou empresa. Porm, o usurio que utiliza esse tipo de nuvem tem acesso
total a infraestrutura, podendo assim implantar suas regras de negcio a nuvem.
Para esse modelo de implantao so empregados polticas de acesso aos servios,
tais como: Gerenciamento de Redes, Configuraes dos Provedores de Servios e a
utilizao de Tecnologias de Autenticaes e Autorizao, que so as principais
caractersticas deste modelo (RUSHEL; ZANOTTO; DA MOTA, 2010).

2.4.3 Nuvem Hibrida.

A nuvem hbrida apresenta conceitos de nuvem privada e nuvem publica, podendo


assim ter acesso Infraestrutura ou no, disponibilizando servios a vrios usurios
ou apenas um.
Nuvens hbridas uma combinao de nuvens pblicas e privadas. Essas nuvens
seriam geralmente criadas pela empresa e as responsabilidades de gerenciamento
seriam divididas entre a empresa e o provedor de nuvem pblica. A nuvem hbrida
usa servios que esto no espao pblico e no privado. (AMRHEIN; QUINT, 2009).

2.5 Papeis da Computao em Nuvem

Com os servios citados, os papeis so importantes para definir onde cada tipo de
usurio pode utilizar os modelos de servios.
Para entender melhor a computao em nuvem, preciso classificar os atores dos
modelos de acordo com os papis desempenhados (SOUSA; MOREIRA;
MACHADO, 2010).

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

21

A Figura 4 destaca estes papis.

Figura 4. Papis de Computao em Nuvem (Sousa; Moreira; Machado, 2010).

O provedor responsvel por disponibilizar, gerenciar e monitorar toda a estrutura


para a soluo de computao em nuvem, deixando o desenvolvedor e o usurio
final sem esse tipo de responsabilidade e fornecendo servios nos trs modelos de
servios. Os desenvolvedores utilizam os recursos fornecidos e disponibilizam
servios para os usurios finais. (SOUSA; MOREIRA; MACHADO, 2010).
Os atores podem assumir o papel de desenvolvedor ou usurio final, ocupando a
camada intermediria ou a alta da nuvem; j o provedor, ir fornecer os servios
para todos os nveis de camadas da nuvem, tanto de infraestrutura quanto de
desenvolvimentos, ou aplicaes, para opo e interesse de cada ator, ou usurio
final ou desenvolvedor, como apresentado na Figura 4.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

22

A prxima seo destaca a infraestrutura dos servidores da Google (Google App),


com o intuito de realizar um estudo de caso com as ferramentas disponveis para o
desenvolvimento. Foram escolhidas as ferramentas do Google pela facilidade que a
ferramenta trabalha com a linguagem Java, e por Google ser conhecida
mundialmente.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

23

3. GOOGLE APPLICATION ENGINE

Existem muitas ferramentas de desenvolvimento como o Google Application Engine.


A empresa Amazon fornece o mesmo tipo de servio de desenvolvimento que o
Google dentre ela existem outras como o Microsoft Azure, um servio totalmente
voltado a parte de banco de dados PL\SQL, todas utilizando conceitos de nuvem.
O Google Application Engine um conjunto de ferramentas para desenvolvimento e
servios disponibilizados pela Google.
Trata-se de um modelo de PaaS, que diferentemente de seu conceito original, em
que todo o ambiente responsvel pelas etapas de desenvolvimento e publicao do
software se d atravs de ferramentas disponibilizadas via Web, disponibiliza um
ambiente desktop completo e de fcil configurao para esta finalidade (MLLER,
2010).
Com a ferramenta, possvel criar aplicaes e envi-las para a nuvem da Google,
com isso utilizando tambm a plataforma de infraestrutura, ou seja, o desenvolvedor
no precisa ter servidor para desenvolver seus aplicativos, a Google fornecer. Com
o envio das aplicaes, o usurio final pode execut-las.
Para este propsito o Google Application Engine possui suporte a aplicativos criados
com o uso das linguagens de programao Python e Java, e atravs desta ltima,
vrias baseadas na mquina virtual Java (MLLER, 2010).
Como o Google Application Engine trabalha no conceito de computao em nuvem
tem um custo para o armazenamento, esse custo muito acessvel.
Para se utilizar gratuitamente a Google Application Engine basta no ultrapassar seu
limite de armazenamento. Todos os aplicativos podem usar at 500 MB de
armazenamento e CPU e largura de banda suficiente para suportar um aplicativo
eficiente que oferece cerca de cinco milhes de visualizaes de pgina por ms,
totalmente grtis. Ao ativar o faturamento para o seu aplicativo, os limites gratuitos
aumentam e voc paga somente pelos recursos que ultrapassam os nveis gratuitos
(GOOGLE, 2010).

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

24

Na prxima seo ser mostrado o funcionamento da Application Engine com Java.

3.1. GOOGLE APP ENGINE E JAVA

Com o avano da Internet, hoje em dia muito comum o desenvolvimento de


aplicativos via Web. Esses aplicativos so desenvolvidos em vrias linguagens,
como, JAVA, PHP, Asp.net dentre outras. Porm, todas utilizam o mesmo conceito
de programao em Web, ou seja, todas possuem um servidor de aplicaes onde
nele ter todas as informaes do aplicativo desejado. Com o GOOGLE APP
ENIGNE no muito diferente disso, por isso foi disponibilizado para trabalhar com
a linguagem Java.
Com a popularidade da linguagem JAVA, e do compilador Eclipse, por sua ampla
IDE

de

desenvolvimento,

Google

disponibilizou

ferramentas

para

desenvolvimento de aplicaes Web, com isso possvel criar aplicativos Web


utilizando as tecnologias Java padro e execut-los nas infraestruturas do Google.
Segundo Muller (2010, p. 81),
O ambiente Java do App Engine executa em uma JVM (Mquina
Virtual Java) da verso 6 do Java, com suporte a servlets, biblioteca
Java padro, armazenamento de dados e servio do App Engine.
Apesar de executar os programas usando a verso 6 do Java, podese usar classes compiladas utilizando qualquer verso anterior. O
suporte as bibliotecas padres facilita o desenvolvimento de
aplicaes j que no requer grandes mudanas no desenvolvimento
para o App Engine em relao aos servidores usuais.

A ferramenta Application Engine, tambm oferece para o compilador Eclipse uma


ferramenta de total integrao com sua IDE atravs de um plugin, contendo sua
SDK (Software Development Kit), ou seja, um kit de desenvolvimento para aplicao
com o nome de Google Application Engine. Com isso traz as ferramentas
necessrias para o desenvolvimento.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

25

3.1.1. Sistema de Armazenamento

Como Java utiliza padres de armazenamento e persistncia de dados, o Google


implementou, atravs de um software livre, padres para o armazenamento de
dados.
Os servios de armazenamento de dados suportado pela AppEngine so o JDO
(Java Data Objects) ou JPA (Java Persistence API).
O padro JDO o mais comum para as aplicaes desenvolvidas pelo AppEngine,
pelo fato da implementao do seu padro que conhecida como Data Nucleus.
Estes padres para o armazenamento de dados so implementados pelo Application
Engine com o uso do Data Nucleus Access Platform, a implementao de software
livre escolhida pelo AppEngine para dar suporte a estes padres (MLLER, 2010).

3.1.2. JDO (Java Data Objects)

JDO (Java Data Objects) uma interface padro para armazenar objetos que
contem dados em um banco de dados, ou seja, o JDO responsvel por gravar os
dados da aplicao.
Java Data Objects uma forma padro de acesso a dados persistente em banco de
dados. (JDO, 2011).
Como foi citado anteriormente, foi desenvolvido o Data Nucleus quando criada
uma aplicao com Application Engine o Data Nucleus responsvel pelo
armazenamento dos dados da aplicao.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

26

3.1.3. Sandbox.

Como a ferramenta trabalha sobre as camadas de computao em nuvem, onde os


processamentos e o armazenamento so distribudos em vrios servidores, a
Google fornece um ambiente virtual seguro, chamado de sandbox. Em melhores
palavras, como os aplicativos contem dados, necessrio ter segurana na
aplicao. A Sandbox responsvel pela mesma, ou seja, quando a aplicao
enviada para a nuvem, a mesma distribuda em vrios servidores, quando um
usurio acessa a aplicao a Sandbox entra em ao, responsvel por criar um
ambiente virtual onde armazena toda aplicao e durante sua execuo.
A Sandbox tem a finalidade de garantir que um aplicativo no interfira na execuo
de outro, alm de, por se tratar de um ambiente distribudo, servir como uma forma
de virtualizao de um sistema operacional (MLLER, 2010).

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

27

4. ESTUDO DE CASO

O intuito do trabalho pesquisar sobre as novas ferramentas de computao em


nuvem, disponibilizadas pelo Google para desenvolver sobre os padres Java.
Com isso a infraestrutura da aplicao ser de toda responsabilidade do Google, ou
seja, quando a aplicao enviada para os servidores do Google que esta nas
nuvens a aplicao no ira mais depender de um Servidor local para ser executada,
para us-la basta estar na Internet.
A aplicao ser um estudo de caso sobre as ferramentas citadas nas sees
anteriores. Utilizando as ferramentas do Google junto ao compilador Eclipse.
No prximo tpico ser apresentada uma aplicao onde, mostrara os cdigos
desenvolvidos focando na parte de persistncia dos dados e das configuraes
necessrias para o armazenamento nos servidores, com isso elaborando o estudo
de caso da nova tecnologia.

4.1. Aplicao
A aplicao que ser desenvolvida para o estudo de caso, apesar de simples,
demonstra o uso dessa nova tecnologia. uma aplicao em que o usurio poder
ou no fazer login e postar uma mensagem de saudao, com o objetivo de
apresentar a ferramenta Application Engine SDK, disponibilizada pela Google para
desenvolver em Java com o compilador Eclipse.
A ferramenta no vem instalada na verso do Eclipse que utilizado, porm
preciso instalar a mesma. A ferramenta pode ser instalada utilizando o recurso de
Software Update (Atualizao de Software), que esta na opo Help, do Eclipse. A
Figura 5 mostra o caminho para a atualizao.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

28

Figura 5. Instalao da ferramenta SDK.

Depois basta adicionar a url http://dl.google.com/eclipse/plugin/3.4 para o download


automtico da instalao. Quando terminar a instalao repare que na barra superior
do Eclipse adicionado o cone

onde possvel criar aplicao utilizando as

ferramentas para desenvolver.

4.2. Criando o Projeto.

Como toda a aplicao desenvolvida em Java, quando criado um projeto utilizando


o plugin do Google, cria-se um diretrio, para a aplicao a ser desenvolvida nome
do projeto ser Aplicacao/. Quando criado o projeto automaticamente criado
subdiretrios, como o src/ que contem cdigos fontes em Java e o war/ que contem
aplicativos que sero compilados. Alem da criao dos subdiretrios so
automaticamente importadas todas as configuraes necessrias da Application
Engine SDK. Na Figura 6 apresentado o projeto criado com os seguintes diretrios
citados.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

29

Figura 6. Criao do Projeto Aplicao.

4.3. Trabalhando com Servlet.

Como a aplicao segue os padres de programao em Java, trabalha com servlet.


Quando criada a aplicao dentro do diretrio src/ criado automaticamente um
servlet que responsvel por enviar respostas e requisies para o servidor, com
isso interagindo com o servidor.
Outro fato importante a manipulao do servlet que feito no diretrio WEB-INF,
que tambm foi criado automaticamente junto a aplicao, nele se encontra o
arquivo web.xml responsvel por mapear servlets no servidor.
Ser utilizado no servlet o servio de Usurio fornecido pela ferramenta do Google,
uma classe que permite o usurio utilizar contas do Google para operar no
aplicativo. Como mostra a Figura 7.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

30

Figura 7. Servlet Usurio.

O servio de usurio importado para o servlet podendo assim utilizar seus


recursos. Como mostrara no cdigo a seguir.

package aplicacao;
import java.io.IOException;
import javax.servlet.http.*;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
@SuppressWarnings("serial")
public class AplicacaoServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
UserService userService = UserServiceFactory.getUserService();
User usuario = userService.getCurrentUser();
if (usuario != null) {
resp.setContentType("text/plain");
resp.getWriter().println("Bem vindo, " + usuario.getNickname());
} else {
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

31

}
}
}

A finalidade do servlet criar um usurio, se o usurio for diferente de nulo, ele


armazena o nome que ser digitado na varivel usurio e manda para o servidor, e
se ele for nulo, ser redirecionado para URL informada, no caso a do Google.

4.4. Armazenando Dados Com JDO.


O principal objetivo do uso do JDO recuperar os dados e armazen-los na
aplicao, ou seja, funcionar como um banco de dados, com isso o Data Nucleus
fornece o uso da JDO para o armazenamento de dados nas aplicaes
desenvolvidas para Application Engine do Google. Quando o projeto criado
automaticamente o arquivo de configurao do armazenamento dos dados criado,
chamado de jdoconfig.xml encontrado dentro do diretrio WEB-INF. O cdigo abaixo
mostrar o contedo do arquivo jdoconfig.xml.

<?xml version="1.0" encoding="utf-8"?>


<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
<persistence-manager-factory name="transactions-optional">
<property name="javax.jdo.PersistenceManagerFactoryClass"
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFact
ory"/>
<property name="javax.jdo.option.ConnectionURL" value="appengine"/>
<property name="javax.jdo.option.NontransactionalRead" value="true"/>
<property name="javax.jdo.option.NontransactionalWrite" value="true"/>
<property name="javax.jdo.option.RetainValues" value="true"/>
<property name="datanucleus.appengine.autoCreateDatastoreTxns"
value="true"/>
</persistence-manager-factory>
</jdoconfig>

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

32

Com o arquivo de configurao criado, pode ser criada uma classe na aplicao
para fazer o armazenamento de dados. A classe que ser apresentada a seguir tem
o nome de Saudacao.jar, uma classe em Java que importara toda a persistncia de
dados utilizando JDO, para armazenar os objetos da classe em dados.

package aplicacao;
import java.util.Date;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.users.User;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Saudacao {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long codigo;
@Persistent
private User autor;
@Persistent
private String conteudo;
@Persistent
private Date data;
public Saudacao(User autor, String conteudo, Date data) {
this.autor = autor;
this.conteudo = conteudo;
this.data = data;
}
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public User getAutor() {
return autor;
}
public void setAutor(User autor) {
this.autor = autor;
}
public String getConteudo() {

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

33

return conteudo;
}
public void setConteudo(String conteudo) {
this.conteudo = conteudo;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
}

Na classe Saudao tem trs variveis: o autor, o contedo e a data. Nas trs
variveis tem a notao @Persistent, que serve para informar para o DataNucleus
que as variveis sero gravadas como dados da aplicao.
Outro fator importante no armazenamento dos dados a manipulao dos objetos
que sero gravados, para isso criado uma classe, chamada de Persistence
Manager Factory (PMF), ou seja, a cada vez que a aplicao transformar os objetos
em dados requisitado Manager Factory (MF). Com isso, a criao da classe facilita
de no ter mais que ficar requisitando MF, ou seja, construdo um mtodo na
classe PMF responsvel por toda vez que precisar de uma manipulao ser
utilizado sem precisar requisitar a cada persistncia feita. A implementao da
classe PMF :

package aplicacao;
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManagerFactory;
public final class PMF {
private static final PersistenceManagerFactory pmfInstance =
JDOHelper.getPersistenceManagerFactory("transactions-optional");
private PMF() {}
public static PersistenceManagerFactory get() {

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

34

return pmfInstance;
}
}

Com o acesso a dados e a Saudacao criada, criado um novo servlet para escrever
as mensagens postadas. Esse servlet ter o nome de EscreverAplicacaoServlet e
seu objetivo responder e requisitar os dados no servidor, pegando o usurio que
vai interagir com o sistema, e gravar os dados na aplicao. Segue o seguinte
cdigo do novo servlet.

package aplicacao;
import java.io.IOException;
import java.util.Date;
import java.util.logging.Logger;
import javax.jdo.PersistenceManager;
import javax.servlet.http.*;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import aplicacao.Saudacao;
import aplicacao.PMF;
public class EscreverAplicacaoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger log =
Logger.getLogger(EscreverAplicacaoServlet.class.getName());
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
String conteudo = req.getParameter("conteudo");

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

35

Date data = new Date();


Saudacao saudacao = new Saudacao(user, conteudo, data);
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.makePersistent(saudacao);
} finally {
pm.close();
}
resp.sendRedirect("aplicacao.jsp");
}
}

A ltima resposta (resp.sendRedirect("aplicacao.jsp");) tem como objetivo pegar toda


informao que contem no servlet e jogar na classe .jsp mostrando assim ao usurio
as mensagens postadas, a classe .jsp ser apresentada no seguinte tpico.

4.5. Criando a pgina em Java Server Pages


Para a interface da aplicao ser criada uma pgina .Jsp (Java Server Pages), a
Application Engine do Google suporta os recursos. Com isso todo o recurso visual
da pgina ser implementado na aplicao.jsp, que contem o seguinte cdigo:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<%@ page import="java.util.List" %>
<%@ page import="javax.jdo.PersistenceManager" %>
<%@ page import="com.google.appengine.api.users.User" %>
<%@ page import="com.google.appengine.api.users.UserService" %>
<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>
<%@ page import="aplicacao.Saudacao" %>
<%@ page import="aplicacao.PMF" %>
<%@page import="aplicacao.Saudacao"%>
<html>
<head>
<link type="text/css" rel="estilosPagina/" href="/estilosPagina/estiloPrincipal.css"

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

36

/>
</head>
<body>
<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
%>
<p>Ol, <%= user.getNickname() %>! (Voc quer
<a href="<%= userService.createLogoutURL(request.getRequestURI())
%>">Deslogar</a>.)</p>
<%
} else {
%>
<p>Ol!
<a href="<%= userService.createLoginURL(request.getRequestURI())
%>">Logue</a>
para incluir saudaes com seu nome.</p>
<%
}
%>
<%
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Saudacao.class.getName() + " order by data desc
range 0,5";
List<Saudacao> saudacoes = (List<Saudacao>) pm.newQuery(query).execute();
if (saudacoes.isEmpty()) {
%>
<p>O livro no possui saudaes.</p>
<%
} else {
for (Saudacao s : saudacoes) {
if (s.getAutor() == null) {
%>
<p>Pessoa anonima escreveu: </p>
<%
} else {
%>
<p><b><%= s.getAutor().getNickname() %></b> escreveu: </p>
<%
}
%>

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

37

<blockquote><%= s.getConteudo() %></blockquote>


<%
}
}
pm.close();
%>
<form action="/sign" method="post">
<div><textarea name="conteudo" rows="3" cols="60"></textarea></div>
<div><input type="submit" value="Postar Saudao" /></div>
</form>
<input type="submit" value="Pesquisar">
</body>
</html>

Na pgina .jsp pode importar o servio de usurio que foi utilizado no servlet, para
trabalhar com os dados do usurio do servlet. Mas para a pgina trabalhar com o
servlet necessrio mapear a mesma, no arquivo web.xml dentro do diretrio WEBINF, adicionando o seguinte cdigo.

<welcome-file-list>
<welcome-file>aplicacao.jsp</welcome-file>
</welcome-file-list>

O objetivo do mapeamento definir que a pgina criada .jsp ser a pgina principal,
ou seja, quando o aplicativo entrar em execuo ela ser exibida para o usurio.
Na pgina principal utilizado todos os recursos j implementado antes, como o
servios de usurio, para definir o usurio conectado ou no, o PMF que
responsvel para manipular os dados e consultas no banco, e a classe Saudao
utilizando assim os objetos como o autor e contedo, todas essas informaes sero
requisitadas na pgina aplicao.jsp.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

38

Toda a aplicao executada no servidor local, ou seja, a aplicao est apenas


funcionando na mquina local no tem nada nas nuvens ainda, no prximo tpico
ser apresentado como feito o envio da mesma.

4.6. Enviando o Aplicativo.


Para enviar o aplicativo para as nuvens necessrio utilizar uma conta do Google,
com isso poder enviar o mesmo utilizando o boto de deploy

encontrado na

barra superior do Eclipse, com isso enviando toda aplicao para os servidores do
google. Outro arquivo de configurao que criado junto com o projeto o
appengine-web.xml responsvel pelo nome da aplicao nos servidores do Google e
contem o seguinte cdigo:

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application></application>
<version>1</version>
<!-- Configure java.util.logging -->
<system-properties>
<property name="java.util.logging.config.file" value="WEBINF/logging.properties"/>
</system-properties>
</appengine-web-app>

Nas tags de <application> definido o nome da aplicao na Internet, mas


conhecido como ID no Google a cada conta conectada para aplicaes podem ser
utilizados at 10 IDs para desenvolvimento. Criando o nome definido o domnio
que padro, http://application-id.appspot.com/. No lugar de application-id, ser o
nome da aplicao criada. Com isso a aplicao encerrada determinando o fim do
estudo de caso.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

39

4.7. Dificuldade Encontrada.

Como a aplicao ainda esta sendo executada no servidor local, necessrio envila para os servidores da Google, essa foi a dificuldade encontrada na aplicao.
Para enviar basta esta autenticada no compilador eclipse que esteja com o email do
desenvolvedor ativado, como mostra na figura 8.

Figura 8. Desenvolvedor autenticado no Google dentro do Eclipse.


Depois de estar autenticado, basta clicar no cone

, para enviar o aplicativo para

os servidores do Google, com isso ele solicitara que informe um numero de telefone
celular para enviar um cdigo de segurana, porem o cdigo no foi enviado, sendo
assim a dificuldade encontrada no estudo.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

40

CONCLUSO

Por ser uma tecnologia considerada nova, a Computao em Nuvem ainda uma
questo muito polmica. Isso se deve pelo fato de as empresas no utilizarem por
insegurana. Muitos empresrios de TI acham que por no fazer parte da
infraestrutura da sua empresa, ou seja, utilizar servidores no conhecidos pode
ocorrer falhas de segurana. Outro fato que muito dependente da Internet
gerando assim gargalo de usurios deixando lento o acesso a dados, porm, poder
ser muito utilizada, em grandes e pequenas empresas, pelo fato de diminuir os
custos das empresas, principalmente na Infraestrutura que com o uso da nova
tecnologia no necessrio ter gastos.
A aplicao realizada no trabalho um bom exemplo de baixo custo apesar de ser
apenas um estudo de caso, mas quando enviada para os servidores da Google
no necessrio ter a aplicao na mquina basta apenas acessa-la via internet,
por intermdio de uma conta do Google. A tecnologia ser representada na Figura 8.

Figura 9. Representao de um projeto em nuvem.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

41

O Google o provedor que fornece toda a estrutura para o projeto, cada camada
fundamental para o resultado final da aplicao, ou seja, a camada 1 (IaaS), fornece
a infraestrutura so os servidores onde esta a aplicao, ou seja, o usurio no
precisara se preocupar com a parte fsica, a camada 2 (PaaS), de exclusividade do
desenvolvedor, ela fornecera toda a ferramenta para o desenvolvimento da
aplicao e a camada 3 a aplicao j enviada para nuvem, para o usurio utilizla.
Hoje em dia fcil afirmar que computao em nuvem cada vez mais ira crescer,
claro que muitas empresas adotam outros tipos de servio por serem seguros, mas
um campo muito amplo em TI que ira facilitar cada vez mais no s empresas
como usurios tambm.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

42

REFERENCIAS
AMRHEIN, Dustin; QUINT, Scott; Computao em Nuvem para Empresa: Parte 1:
Capturando a Nuvem. IBM, 2009.
GOOGLE. Google AppEngine. Disponvel em: http://code.google.com/intl/ptBR/appengine/. Acessado em: Junho de 2011.
JDO. Java Data Objects. Disponivel em: http://db.apache.org/jdo/ . Acessado em:
Outubro de 2011.
MLLER, Victor Daniel. Desenvolvimento de aplicaes sob o paradigma da
computao em nuvem com ferramentas Google. Santa Catarina. UFSC, 2010.
NOGUEIRA, Matheus Cadori.; PEZZI, Daniel da Cunha. A computao agora
nas Nuvens. Cruz Alta, Rio Grande do Sul. UNICRUZ, 2009.
PACHECO, Diego. PaaS, CloudComputing, Virtualizao eo Futuro. Parte 02.
Disponvel
em:
http://imasters.com.br/artigo/14228/cloud/paas_cloud_computing_virtualizacao_e_o_
futuro_parte_02/. Acessado em: Junho de 2011.
PEDROSA, Paulo H. C.; NOGUEIRA, Thiago. Computao em Nuvem. Campinas,
So Paulo. UNICAMP, 2011.

RUSHEL, Henrique.;ZANOTTO, Mariane Suzan.;


Computao em Nuvem. Paran. PUC, 2010.

DA

MOTA,

WeltonCosta.

SOUSA, Flvio R. C.; MOREIRA, Leonardo O.; MACHADO, Jevam C. Computao


em Nuvem: Conceitos, Tecnologias, Aplicaes e Desafios. UFC, 2010.
TAURION, Cezar. CloudComputing: computao em nuvem: transformando o
mundo da tecnologia da informao. Rio de Janeiro. Brasport, 2009.

Av. Getlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634


Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br

Você também pode gostar