Heroku. Implantando Aplicações Java no. heroku_. Descubra como é fácil ter sua aplicação rodando em Cloud Computing



Documentos relacionados
Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Procedimentos para Instalação do SISLOC

Criação de um novo projeto no Eclipse utilizando Maven

Procedimentos de Implantação ireport x Protheus

Manual de configuração do sistema

Manual Captura S_Line

Usando o Google Code como repositório para projetos no Eclipse com SubClipse.

Treinamento. Módulo. Escritório Virtual. Sistema Office. Instruções para configuração e utilização do módulo Escritório Virtual do sistema Office

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

CONFIGURAÇÃO MINIMA EXIGIDA:

Autoridade Certificadora Notarial CONFIGURAÇÃO DA MÁQUINA DA AR COM WINDOWS VISTA E WINDOWS 7 AC NOTARIAL. Página 1 de 14

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Procedimentos para Instalação do Sisloc

1. Escritório Virtual Atualização do sistema Instalação e ativação do sistema de Conexão...5

PROCEDIMENTOS PARA UTILIZAÇÃO DE NOVA VERSÃO DO JAVA

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Google Drive. Passos. Configurando o Google Drive

Procedimentos para Reinstalação do Sisloc

MANUAL PORTAL CLIENTE AVANÇO

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

02 - Usando o SiteMaster - Informações importantes

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

Manual de Instalação

Manual para inserir documentos no sistema Projudi

AVG Admin 2012 SQL Server 2005 Express

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Manual do Google agenda. criação e compartilhamento de agendas

Manual do usuário. Softcall Java. versão 1.0.5

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

GUIA INTEGRA SERVICES E STATUS MONITOR

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY

Escritório Virtual Administrativo

Processo de Envio de

Manual das funcionalidades Webmail AASP

SSE 3.0 Servidor de Notificação por . Cadastrando

Controle de Almoxarifado

Ricardo R. Lecheta. Novatec

DarkStat para BrazilFW

Manual de Utilização ZENDESK. Instruções Básicas

Manual do Almoxarifado SIGA-ADM

Integrando Eclipse e Websphere Application Server Community Edition

EAI Manual do Administrador

CONSTRUÇÃO DE BLOG COM O BLOGGER

Guia rápido do usuário. Cliente de Web

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Configuração de assinatura de

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

COMO INSTALAR O CATÁLOGO

atube Catcher versão 3.8 Manual de instalação do software atube Catcher

NFe Nota Fiscal Eletronica

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Manual Comunica S_Line

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

Aula 03 - Projeto Java Web

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

MANUAL DE CONFIGURAÇÃO DO COMPUTADOR PARA ACESSAR O SISTEMA PJE-JT

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

TUTORIAL DO OFFICE 100% CORRETOR

Manual de operação. BS Ponto Versão 5.1

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Portal Sindical. Manual Operacional Empresas/Escritórios

Manual de Integração Magento TrayCheckout Transparente

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Sistema de Registro de Contratos e Financiamentos

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão SECRETARIA DE ESTADO DA FAZENDA

Manual de Utilização do GLPI

Manual Do Usuário ClinicaBR

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

ANDROID APPLICATION PROJECT

Elaborado por SIGA-EPT. Projeto SIGA-EPT: Manual do Usuário Almoxarifado

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Manual do Visualizador NF e KEY BEST

Portal do Documento Eletrônico Seguro


O que é um token? Identificando seu token

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Cadastramento de Computadores. Manual do Usuário

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Nova Central de Atendimento Logicorp

Nome N Série: Ferramentas

Procedimentos para configurar o Motion Detection no D-ViewCam 1 Para configurar o Motion Detection no D-ViewCam, é necessário que a câmera IP esteja

Para a correta instalação e funcionamento de seu certificado digital, certifique-se de ter os seguintes requisitos:

OneDrive: saiba como usar a nuvem da Microsoft

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com

Transcrição:

heroku_ Implantando Aplicações Java no Heroku Descubra como é fácil ter sua aplicação rodando em Cloud Computing O que é o Heroku? Heroku é uma plataforma de cloud computing que foi criada para facilitar a implantação de aplicações, utiliza o modelo de cloud computing chamado de PaaS (Platform as a Service), que oferece ferramentas para o desenvolvimento e implantação de aplicações de forma que os custos e a complexidade de implantação sejam reduzidos. Inicialmente o Heroku foi criado para rodar aplicações escritas na linguagem Ruby, mas a medida que a plataforma foi evoluindo, outras linguagens foram sendo incorporadas à lista de linguagens suportadas. Atualmente, são suportadas seis linguagens: Ruby, Java, Python, Clojure, Scala e Node.js. Além de suportar diversas linguagens, a plataforma do Heroku possibilita a integração com diversas ferramentas para facilitar o desenvolvimento, e essas ferramentas são conhecidas como add-ons. Existem add-ons para integração com banco de dados, para monitoramento das aplicações, para implementações de fila, entre outros. A lista completa de add-ons pode ser encontrada no endereço addons.heroku.com. Juntamente com os add-ons, o Heroku fornece uma API para controle de seus serviços que pode ser acessada por uma interface de linha de comando ou por interface REST, facilitando a manutenção e monitoramento dos recursos e serviços. A parte mais importante de toda a plataforma do Heroku são as unidades de processamento, conhecidas como Dynos. Os dynos são elásticos, ou seja, a qualquer momento novos dynos podem ser ligados e desligados de acordo com a necessidade. O Heroku possui controle para distribuir a carga das requisições entre os dynos ativos, garantindo um bom aproveitamento dos recursos disponíveis. Juntamente com uma infraestrutura muito bem organizada, o Heroku utiliza um fluxo de implantação baseado no GIT. Para implantar aplicações no Heroku, basta apenas um simples push para o repositório do Heroku e a aplicação será atualizada automaticamente de maneira transparente para o usuário. O objetivo deste artigo é mostrar como tirar proveito de algumas funcionalidades oferecidas pelo Heroku de maneira fácil. Rodando Java no Heroku O Heroku pode rodar qualquer aplicação Java que rode sobre o OpenJDK6 e utiliza o Maven para construir as aplicações e instalá-las nos dynos. Para facilitar a vida de quem quer ver algo rodando no Heroku, a equipe do Heroku disponibilizou algumas aplicações de exemplo para serem usadas como base durante o desenvolvimento. Atualmente, estão disponíveis quatro modelos de aplicação de exemplo: Web app with Spring and Tomcat: aplicação que utiliza Spring MVC e Hibernate e roda em um Tomcat. Containerless web app with Embedded Jetty: aplicação baseada em servlets rodando em um Jetty embutido. / 28

João Paulo Gomes dos Santos jpjcjbr@gmail.com Formado em Engenharia da Computação na ETEP Faculdades. Atua como desenvolvedor Java na VPSA. Possui as certificações SCJP, SCWCD, SCBCD e SCEA Com o grande crescimento das oportunidades para negócios na web, as empresas estão cada vez mais em busca de alternativas para oferecer seus produtos com qualidade e com custos reduzidos, tornando-os assim competitivos. Para conseguir colocar um sistema em produção, um dos custos que deve ser levado em consideração é o custo referente à infraestrutura para execução da aplicação. Uma das opções é o uso de infraestrutura própria, que é mais custosa inicialmente e muitas vezes inviável para startups. Cloud Computing pode ajudar na redução dos custos durante a implantação de soluções web. Este artigo mostra como criar uma aplicação Java e implantá-la no Heroku de forma simples e rápida. Web app with Play! Framework: aplicação baseada no framework Play! RESTful API with JAx-RS: aplicação que exemplifica o uso de REST rodando em um Jetty embutido. As aplicações de exemplo já possuem uma arquitetura básica definida, mas isso não significa que elas estejam limitadas a essas arquiteturas predefinidas. O desenvolvedor tem total liberdade para adicionar novas dependências ao projeto, para isso o desenvolvedor deve modificar o arquivo pom.xml do projeto incluindo as novas dependências necessárias. Neste artigo, é utilizada a primeira opção para exemplificar a implantação de uma aplicação Java com Spring MvC e Hibernate no Heroku. O primeiro passo consiste na realização do cadastro no Heroku, e para isso, deve-se acessar o link https://api.heroku.com/signup. e, em seguida, concluir o cadastro. Logo após a conclusão do cadastro, deve-se acessar a página com informações específicas para aplicações Java no Heroku: http://java.heroku.com. Nesta página, estão disponíveis algumas opções, conforme a figura 1. Em seguida, deve-se clicar no botão Create App da primeira opção (Web app with Spring and Tomcat) para iniciar a criação da aplicação. Lembre-se que, para realizar a criação da aplicação, o usuário deve se autenticar no Heroku. Quando a criação da aplicação for finalizada, o usuário será redirecionado para a aplicação recém-criada que já está rodando no Heroku, como representado na figura 2. Um nome aleatório é criado para cada aplicação que é feita no Heroku. Para este exemplo, foi criada uma aplicação e o nome gerado pelo Heroku foi radiante- -window-2008 e o link para acesso é http://radiant- -window-2008.herokuapp.com. Figura 2. Aplicação criada. Figura 1. Aplicações de exemplo disponíveis no Heroku. A partir deste momento, pode-se acessar um CRUD que vem implementado como exemplo através do seguinte endereço: http://radiant-window-2008. herokuapp.com/people/. A figura 3 representa o CRUD de exemplo. 29 \

Figura 3. CRUD de exemplo. Configurando o ambiente para desenvolvimento Depois de finalizada a criação da aplicação de exemplo, o próximo passo é mostrar como configurar um ambiente de desenvolvimento utilizando o Eclipse como IDE e alguns plugins do Eclipse para integração com o Git e com o Maven. Para a confecção deste artigo, foi utilizado um plugin para o Eclipse chamado EGit, que é utilizado para facilitar a integração entre o Eclipse e o Git e, diante disto, deve-se assegurar que o Eclipse a ser utilizado possua o plugin do EGit instalado. Mais detalhes sobre a instalação e configuração do EGit podem ser encontrados em http://unicase.blogspot. com.br/2011/01/egit-tutorial-for-beginners.html. Além do plugin para integração com o Git, também será necessário instalar o plugin para integração com o Maven (http://www.eclipse.org/m2e). Depois de concluir a instalação dos plugins necessários, é hora de configurar o Eclipse para acessar o código gerado para a aplicação. Primeiramente, deve-se abrir o Eclipse e acessar o menu Window -> Preferences -> General -> Network Connections -> SSH2, como pode ser observado na figura 4. Figura 5. Tela de configuração de SSH do Heroku. Neste momento, o ambiente de desenvolvimento já está pronto para se comunicar com o Heroku. O próximo passo é copiar e executar o código no Eclipse. Para importar o projeto do Heroku, deve-se ir ao menu File -> Import -> Git -> Projects From Git e clicar em Next, como mostra a figura 6. Figura 4. Configuração SSH para acesso ao código. Ainda na figura 4, na aba Key Management, deve- -se clicar no botão Generate RSA Key para gerar a chave criptográfica que será usada na comunicação entre o Eclipse e o repositório de código do Heroku. Depois de gerar a chave, deve-se associar essa chave à conta do usuário no Heroku através do endereço https://api.heroku.com/account/ssh, conforme a figura 5. Figura 6. Tela de importação de projeto. Na próxima tela, selecione a opção URI e clique em Next, como mostra a figura 7. Figura 7. Seleção da fonte de repositórios. / 30

Em seguida, é exibida a tela para configurar o endereço do repositório do projeto. O campo URI deve ser configurado com o endereço do repositório que pode ser obtido através da listagem de aplicativos do Heroku (https://api.heroku.com/myapps). O campo Host deve ser preenchido com heroku.com, o campo Repository Path deve ser configurado com o nome da aplicação (que neste caso é radiante-window-2008) com a extensão.git e os outros campos não devem ser alterados para este exemplo. As configurações do repositório utilizadas neste artigo estão representadas na figura 8. Figura 10. Importando o projeto para o Eclipse. Depois de importar o projeto no Eclipse, tem-se a seguinte estrutura, conforme a figura 11. Figura 8. Configuração do repositório. Depois de ter configurado o repositório, deve- -se escolher o branch master e clicar em Next, como mostra a figura 9. Figura 9. Seleção do branch a ser importado. Depois de selecionado o branch, deve-se escolher o diretório de destino para o código. Para este artigo, foram escolhidas as opções que já vêm configuradas por padrão e em seguida deve-se clicar em Next. Neste momento será iniciado o processo de importação do projeto do Heroku, e quando este processo de importação terminar, deve-se selecionar a maneira pela qual o projeto será incluído no Eclipse. Deve-se selecionar a opção Import as general Project e em seguida clicar em Next e Finish, como mostra a figura 10. Figura 11. Estrutura de diretórios da aplicação no Eclipse. Atualizando a aplicação no Heroku Para finalizar, algumas alterações serão feitas na aplicação e em seguida ela será implantada novamente no Heroku. Para isso, o arquivo src/main/ webapp/web-inf/jsp/people.jsp será modificado de acordo com a Listagem 1. <div class= container > <div class= row > <div class= span8 offset2 > <div class= page-header > <h1>listagem de Pessoas MundoJ</h1> <form:form method= post action= add commandname= person class= form-vertical > <form:label path= firstname >Nome </ form:label> <form:input path= firstname /> <form:label path= lastname > Sobrenome</form:label> <form:input path= lastname /> 31 \

<input type= submit value= Adicionar class= btn /> </form:form> <c:if test= ${!empty peoplelist} > <h3>pessoas</h3> <table class= table table-bordered tablestriped > <thead> <tr> <th>nome</th> <th> </th> </tr> </thead> <tbody> <c:foreach items= ${peoplelist} var= person > <tr> <td>${person.lastname}, ${person. firstname} </td> <td> <form action= delete/${person.id} method= post > <input type= submit class= btn btn-danger btn-mini value= Delete /> </form> </td> </tr> </c:foreach> </tbody> </table> </c:if> Depois de modificar o código, deve-se atualizar o ambiente do Heroku com as modificações que foram feitas. Para isso, deve-se clicar com o botão direito sobre o projeto e selecionar a opção Team -> Commit e, em seguida, deve-se clicar novamente com o botão direito sobre o projeto e selecionar a opção Team -> Push to Upstream. Pode-se observar na figura 12 que a mensagem http://radiant-window-2008.herokuapp.com deployed to Heroku mostra que a implantação da aplicação com as modificações foi efetuada com sucesso. Para garantir que tudo funcionou como era esperado, pode-se acessar o link http://radiant-window-2008.herokuapp.com/people/ novamente e verificar que as alterações que foram feitas estão presentes na versão atual, como mostra a figura 13. Figura 13. Aplicação atualizada rodando no Heroku. /para saber mais Para saber mais sobre Java em Cloud Computing, a leitura dos artigos Java Google App Engine da edição 43 e Google App Engine com GWT da edição 47 da revista MundoJ são recomendadas. O exemplo apresentado neste artigo, apesar de ser bem simples, serve como base para aplicações reais sem problemas. Considerações finais Este artigo mostra como é simples e fácil implantar aplicações Java no Heroku. Essa facilidade é obtida com o uso das aplicações de exemplo disponíveis no Heroku e da integração entre o Heroku e o Git para controlar o fluxo de implantação das aplicações. A execução de aplicações em Cloud Computing é uma abordagem que vem conquistando muito espaço nas empresas pela facilidade e redução de custos que é possível se obter com ela. /referências > http://java.heroku.com/ > https://devcenter.heroku.com/categories/platform-basics > https://devcenter.heroku.com/categories/addon-overview > https://devcenter.heroku.com/articles/git Figura 12. Resultado da implantação das modificações. / 32