0711270454

42
Av. Getúlio Vargas, 1200 Vila Nova Santana Assis SP 19807-634 Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br CHRISTYANO WESLEY ROMANO COMPUTAÇÃO EM NUVEM COM FERRAMENTAS DO GOOGLE ASSIS 2011

description

Computação em Nuvem

Transcript of 0711270454

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

    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 comisso

    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

    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

  • 12

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

    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.

  • 13

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

    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.

  • 14

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

    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.

  • 15

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

    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.

  • 16

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

    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).

  • 17

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

    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.

  • 18

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

    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.

  • 19

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

    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).

  • 20

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

    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).

  • 21

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

    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.

  • 22

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

    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.

  • 23

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

    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).

  • 24

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

    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, o Google disponibilizou ferramentas para o

    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, pode-se 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.

  • 25

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

    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.

  • 26

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

    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).

  • 27

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

    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.

  • 28

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

    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.

  • 29

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

    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.

  • 30

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

    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()));

  • 31

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

    } } }

    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.

  • 32

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

    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() {

  • 33

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

    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() {

  • 34

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

    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");

  • 35

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

    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:

  • 36

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

    /> Ol, ! (Voc quer

    Deslogar.)

    Ol! Logue

    para incluir saudaes com seu nome. O livro no possui saudaes. Pessoa anonima escreveu: escreveu:

  • 37

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

    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 WEB-

    INF, adicionando o seguinte cdigo.

    aplicacao.jsp

    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.

  • 38

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

    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:

    1

    Nas tags de 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.

  • 39

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

    4.7. Dificuldade Encontrada.

    Como a aplicao ainda esta sendo executada no servidor local, necessrio envi-

    la 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.

  • 40

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

    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.

  • 41

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

    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 utiliz-

    la.

    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.

  • 42

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

    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/pt-BR/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.; DA MOTA, WeltonCosta. Computao em Nuvem. Paran. PUC, 2010.

    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.

    http://code.google.com/intl/pt-BR/appengine/http://code.google.com/intl/pt-BR/appengine/http://db.apache.org/jdo/http://imasters.com.br/artigo/14228/cloud/paas_cloud_computing_virtualizacao_e_o_futuro_parte_02/http://imasters.com.br/artigo/14228/cloud/paas_cloud_computing_virtualizacao_e_o_futuro_parte_02/