Java. no Google App Engine. Escreva aplicações Java para o serviço de Cloud Computing da Google

Tamanho: px
Começar a partir da página:

Download "Java. no Google App Engine. Escreva aplicações Java para o serviço de Cloud Computing da Google"

Transcrição

1 Pedro Mariano é técnologo em Análise e Desenvolvimento de Software pela FIAP, possui a certificação SCJP 6. Trabalha como consultor e desenvolvedor pela Caelum com linguagens como Ruby e Java. Pedro Matiello trabalha como consultor e desenvolvedor pela Caelum e é aluno do curso de Bacharelado em Ciência da Computação no IME-USP. Java Escreva aplicações Java para o serviço de Cloud Computing da Google no Google App Engine Atualmente, o Cloud Computing é um dos assuntos mais comentados na área de TI. Assunto este que já é realidade no mercado: diversas empresas, como Amazon, RackSpace e Microsoft, já possuem soluções de infraestrutura em cloud. A Google também entrou neste mercado e já oferece um ambiente de Cloud Computing no qual os desenvolvedores podem colocar suas aplicações: o Google App Engine. Este artigo aborda exemplos práticos de uma aplicação Java com VRaptor 3 construída para o AppEngine. Cloud Computing normalmente traduzido para o português como Computação nas Nuvens está em grande ascendência. Esse crescimento é impulsionado pela necessidade de se ter sistemas escaláveis, com alta disponibilidade e altamente performáticos. Mas um fator que tem sido frequentemente destacado como motivação para adoção de soluções de cloud é a forte redução no custo de manutenção da parte de infraestrutura das aplicações. Como as tarefas de infraestrutura são realizadas pelo provedor do serviço, a equipe de desenvolvimento pode se focar apenas em criar a aplicação que, idealmente, irá escalar automaticamente, seguindo a demanda. Na maioria das vezes, a tarifação destes serviços é feita de forma a cobrar pela quantidade de recursos consumidos, tais como espaço de armazenamento e tempo de processamento. o Google AppEngine, com exemplos de uso dos recursos providos pelo serviço. 30

2 Google App Engine A Google também decidiu oferecer um serviço de Cloud Computing, denominado Google App Engine (GAE). Mesmo estando em fase beta, diversas empresas, como a BestBuy com o seu produto GiftTag, estão utilizando o GAE. Diferentemente de muitos de seus concorrentes, a Google oferece um plano inicial gratuito, que é suficiente para aplicações e sites de pequeno e talvez até de médio porte (permite-se, por exemplo, até requisições gratuitas ao banco, por dia). Aplicações consumindo recursos além dos estipulados neste plano são tarifadas de forma proporcional ao que foi consumido além dos limites da cota gratuita. Atualmente, o GAE suporta duas linguagens de programação: Java e Python, e ambas com algumas restrições quanto ao que se pode fazer no ambiente. Em grande parte dos casos, o próprio GAE oferece uma alternativa através de uma API proprietária, que é bastante concisa e fácil de trabalhar, mas que prende a aplicação ao serviço (o chamado vendor lock-in). App Engine além do Python e Java Apesar de o GAE oficialmente oferecer suporte apenas para Java e Python, é possível também criar aplicações Ruby, Scala e JavaScript. Com Ruby, é necessário que você utilize o JRuby e com JavaScript o Rhyno. De uma forma geral, o GAE oferece Devido à grande popularidade do framework Rails, correm rumores de que a Google estaria interessada em oferecer suporte nativo para a linguagem Ruby. Outro recurso muito útil do GAE é o sistema de versionamento das aplicações: é possível ter versões diferentes de sua aplicação instaladas e rodando concorrentemente. Desta forma, podemos testar novas versões do site no ambiente de produção sem comprometê-lo, e só fazer a troca quando estiver tudo como esperamos. Trata-se de uma estratégia de deploy contínuo [2] como a apresentada por Martin Fowler [3]. GAE e o VRaptor 3 Por causa da grande quantidade de componentes restritos, muitos fra- Ele oferece um download específico pronto para todos os desenvolvedores interessados em utilizar o framework no cloud da Google. Este é feito para ser usado como ponto de partida de novos projetos. Para começar, instale o plugin do App Engine [4] no Eclipse, baixe e importe o projeto vraptor-blank-project-gae, ajuste o classpath de acordo com a versão do SDK do GAE (que acompanha o plugin) e o nome da aplicação no appengine-web.xml. Feito isso, podemos começar a fazer deploy a qualquer momento clicando com o botão direito sobre o projeto no Eclipse e escolhendo Deploy to App Engine dentro do submenu Google. possui um método que disponibiliza a mensagem "olá mundo" para a view. Para Saber Mais Na edição 38 da Revista MundoJ você pode conferir um tuto- Esta API exclusiva do App Engine oferece acesso aos serviços do GAE disponíveis para realizar tarefas comuns e nem tão comuns, tais como envio de s, persistência de dados, execução assíncrona (tasks) e agendada (cron). Neste artigo são abordados alguns desses serviços, dando detalhes de seu uso e algumas dicas. Nossa experiência com o GAE Em 2009, completamos a migração do nosso site [1] para o App que oferece uma configuração específica para rodar no GAE, feita para contornar as restrições do ambiente de execução do serviço. Após todos estes meses, podemos dizer que a experiência é bastante satisfatória. Dentre as vantagens do serviço, destacamos sua escalabilidade, que nos permitiu aguentar picos de acesso ao site da Caelum sem comprometer o desempenho e a disponibilidade do site. A interface administrativa do App Engine também se mostrou muito conveniente, permitindo analisar os logs e relatórios de desempenho do site de forma bastante public class IndexController / ) public String index() { return ola mundo ;... <body> ${string </body>... Persistência O App Engine oferece como mecanismo de persistência um banco de dados (Datastore) orientado a documentos que tem como base o Big- Table. Trata-se de um banco proprietário e desenvolvido pela própria 31

3 32 Google, com foco em alto desempenho e escalabilidade. O Google App Engine oferece três formas diferentes de acessar o Datastore: uma API de baixo nível (não muito utilizada por ser complexa), o JDO (Java Data Objects) e a JPA (Java Persistence API). Estas duas últimas são APIs mais simples e familiares aos desenvolvedores Java, mas também não foram projetadas para o Datastore e suas características incomuns, mas sim para modelos mais tradicionais de persistência. Além disso, as entidades, sempre que criadas ou modificadas, precisam passar por um processo de pós-compilação um tanto inconveniente. Para contornar as dificuldades de usar o JDO ou a JPA no GAE, novos projetos open source surgiram com APIs alternativas de persistência levando em conta peculiaridades do Datastore. Dentre elas, destacamse o Twig, o SimpleDS e o Objectify. Nós optamos pelo Objectify por sua simplicidade e boa documentação. Esta API se define como uma camada fina sobre o Datastore, respeitando suas características estruturais, mas de uma forma mais usável pelos programadores.para começar, definimos uma entidade. No Objectify, as entidades são POJOs acrescidos de um identificador que deve ser um Long ou uma String anotado com. A Listagem 3 apresenta um exemplo simples de entidade. A Listagem 4 apresenta um DAO para esta classe, que a registra no Objectify e realiza operações de escrita e leitura. Listagem 3. Entidade Carro. private boolean licenciado; Listagem 4. DAO para entidade Carro como class CarroDAO { ObjectifyService datastore; static { ObjectifyService.register(Carro.class); public CarroDAO() { datastore = ObjectifyService.begin(); public void salva(carro carro) { datastore.put(carro); public Carro busca(long id) { return datastore.get(carro.class, id); public void deleta(carro carro) { datastore.delete(carro); Além destas três operações (get, put, delete), uma quarta é suportada pelo Objectify: query. Através de uma interface fluente, pode-se realizar consultas ao datastore em busca de entidades que satisfaçam determinados critérios. A Listagem 5 apresenta um método que devolve todas as entidades do tipo Carro armazenadas no banco da aplicação. Listagem 5. Método para buscar todos os public List<Carro> buscatodos() { return datastore.query(carro.class).list(); A Listagem 6 apresenta um método que devolve todos os carros de uma determinada cor, e a Listagem 7 apresenta um método que busca um Carro através de sua placa. Listagem 6. Método para buscar todos os carros de uma cor. public List<Carro> buscadacor(string cor){ return datastore.query(carro.class).filter( cor, cor).list(); Listagem 7. Método para buscar todos os carros de uma cor. public Carro buscacomplaca(string placa){ return datastore.query(carro.class).filter( placa, placa).get(); O Objectify ainda disponibiliza outros métodos para refinar as mais complexa na Listagem 8, que utiliza métodos combinados para gerar uma consulta mais refinada. Listagem 8. Método que busca os dois últimos carros cadastrados de determinada cor.. public List<Carro> ultimosdoiscarroscadastradosdacor(string cor){ //o método order por padrão é crescente caso você queira que seja // decrescente utilize //o carácter - na frente do atributo datastore.query(carro.class).filter( cor, cor).order( -id ).limit(2).list(); O Objectify também possibilita que você crie relacionamentos dos tipos One-to-Many e Many-to-One. Na Listagem 9 pode-se ver um exemplo no qual mapeamos a classe Carro com a classe Motorista, dizendo que um Carro possui um motorista.

4 Listagem 9. Entidade Carro com o atributo Motorista com o relacionamento Many-to-One. private String licenciado; Key<Motorista> motorista; Perceba que o atributo motorista é do tipo Key. Isso é necessário, pois o objectify não faz relacionamentos managed como a JPA ou o JDO, portanto, ele armazena os dados do relacionamento nessa classe genérica chamada Key. one-to-many em que um carro possui um ou mais motoristas. Perceba que a única diferença é que o atributo motoristas é um array de Keys. Listagem 10. Entidade Carro com o atributo Motoristas definindo um relacionamento One-To-Many. private String licenciado; Key<Motorista>[] motoristas; Quando estiver utilizando o Datastore tenha em mente que, por ele não ser um banco de dados relacional, possui algumas limitações. Relacionamentos many-to-many, consultas polimórficas e com agregações (sum, avg, max etc.) não são suportadas. Estas características são comuns em bancos não-relacionais, como o BigTable, que trocam parte das funcionalidades para obter maior desempenho e escalabilidade. Frameworks como o Twig oferecem uma forma mais natural de fazer relacionamentos sem a necessidade de se utilizar uma classe específica, que no caso do objectify é a Key. Porém, o Twig ainda possui alguns bugs e por isso não o escolhemos. Além disso, é bastante comum, e até indicado, que se tenham resultados do BigTable. Para isso, podemos usar o serviço de memcache do GAE. Além de aumentar a performance, é também uma questão de disponibilidade, já que o BigTable pode apresentar downtimes. Tasks Outro recurso importante do GAE é a possibilidade de criar tarefas (Tasks) e inseri-las em uma fila (criada por você ou então o padrão que o Google oferece). Esta fila é gerenciada pelo próprio App Engine, que irá detectar novas inserções e executá-las sempre que houver recursos disponíveis para tal. Trata-se de um mecanismo de execução assíncrona: embora uma carga de trabalho seja iniciada por uma requisição, sua execução ocorre fora desta requisição. A motivação natural para o uso deste mecanismo é a execução de tarefas que não exigem uma resposta imediata para o cliente ou que podem consumir excessivamente os recursos do sistema se realizadas de forma desordenada. Uma tarefa, aqui, é entendida como um método que realiza algum trabalho acrescido dos dados relevantes para sua execução. O método é endereçado por uma URL e os dados são passados como parâmetros de requisição. Quando uma tarefa é selecionada para a execução, o GAE realiza uma requisição HTTP para a URL especificada com os parâmetros dados. tor 3 com um método para verificar o licenciamento de uma placa. Esse método será chamado de forma assíncrona pela tasks API, como demonstrado no exemplo da Listagem 12. No nosso cenário vamos as- do governo que, ocasionalmente, pode não estar acessível. Caso o sistema esteja inacessível, a Tasks API irá tentar de novo até que o processo seja feito com sucesso. Esse exemplo ilustra uma das vantagens de se utilizar a API de Tasks, garantindo que seu processo será executado. ção é verificar se a placa passada está public class CarroController /verificaplaca/ ) public void verificaplaca(string placa) { boolean estalicenciado = new VerificadorDePlaca().verificaPlaca(placa); //atualiza localmente o status do carro. Carro carro = carrodao.buscacomplaca(placa); carro.setlicenciado(estalicenciado); carrodao.salva(carro) Listagem 12. Colocando na fila de tarefas a execução da verificação de determinada placa. Queue queue = QueueFactory.getDefaultQueue(); queue.add(url( /verificaplaca ).param( placa, ABC7887 )); A criação de tarefas corresponde, na prática, à inserção de URIs numa fila. A execução de uma tarefa, portanto, corresponde a realizar uma requisição para a URI associada. Esta requisição, por sua vez, deve ter como resposta um código de retorno HTTP 200 (OK) em caso de sucesso, e qualquer outro valor em caso de falha. Caso a resposta indique a ocorrência de um erro no processamento, a tarefa será reinserida na fila para ser processada novamente. É possível também limitar o número de tentativas através da criação de outra fila e da adição do header HTTP X-AppEngine- TaskRetryCount com o número máximo de tentativas. 33

5 Além da execução assíncrona e da persistência, o App Engine oferece outros serviços que podem ser úteis ou mesmo essenciais para algumas aplicações web. mente, usado para acelerar o acesso a objetos do Datastore. outros hosts na web. namento etc.). Ao utilizar qualquer serviço do GAE, informe-se a respeito do limite para uso gratuito do mesmo e das taxas aplicáveis para uso além deste limite. Além disso, alguns serviços estão em fase beta e o Google não garante total disponibilidade e/ou estabilidade do mesmo. Limitações e cuidados Para garantir a segurança e a escalabilidade do serviço, o App Engine impõe algumas restrições sobre as aplicações nele hospedadas. Para começar, dentre as classes do JRE, apenas um subconjunto é suportado [6]. Também não é permitida a criação de threads, arquivos ou sockets, mas estas restrições podem ser, em muitos casos, contornadas pela API de Tasks, pelo Datastore, e pelas APIs de e HTTP específicas do GAE. As views e JSP exigem um cuidado a mais: o suporte a Expression Language vem desativado por padrão e não pode ser habilitado globalmente. Neste caso, é preciso adicionar a linha abaixo em todo arquivo JSP que faz uso de EL: ferramentas e serviços que facilitam a vida do desenvolvedor e aumentam a produtividade da equipe. As limitações, contudo, são uma realidade, e adaptações tanto no modo de programar quanto na forma de estruturar sua aplicação deverão ser consideradas ao se desenvolver aplicações para o GAE. A situação em vista é, claramente, uma troca: disponibilidade, confiabilidade e segurança são obtidas a custo de alguma flexibilidade. Outras plataformas, como serviço (PaaS), estão aparecendo para a plataforma Java, e algumas com menos restrições: Force [7], que estará disponível em alguns meses. A Caelum, como anteriormente mencionado, utiliza o GAE em seu site. A experiência tem se mostrado cada vez mais compensadora e satisfatória. A curva inicial de aprendizado e de adaptação pode ser transposta sem maiores problemas e o investimento inicial é pago rapidamente com menores custos de administração do servidor e pela proteção contra picos de acesso. A Google melhora o App Engine constantemente e, mensalmente, novas versões do kit de desenvolvimento são lançadas. Se você é um programador interessado em criar aplicações escaláveis gastando pouco ou nada com infraestrutura, realmente vale a pena App Engine for Business Recentemente, a Google anunciou uma nova versão do GAE com o foco em aplicações enterprise. De acordo com a Google, a intenção é continuar oferecendo serviços do nível do Google App Engine, acrescido de suporte e de alguns serviços como o suporte a incluindo um banco de dados relacional e SSL. O App Engine for Business [8] é oferecido a um preço de 8 dólares por usuário além das taxas de consumo. page iselignored="false" %> Por fim, outro detalhe que merece bastante atenção é o tempo de inicialização das instâncias (conhecido como cold start). Quando sua aplicação é chamada pela primeira vez, uma instância é criada e executada por um dos servidores da nuvem. Este processo é lento, podendo consumir vários segundos, dependendo tanto da disponibilidade de recursos no GAE naquele momento como do tamanho da aplicação e das bibliotecas e frameworks usados. Os acessos seguintes são respondidos com baixa latência, mas, após um período de inatividade, as instâncias são destruídas, exigindo que todo o lento processo de inicialização seja refeito pelo serviço em um próximo acesso. Para evitar isso, a prática mais comum tem sido usar o agendador de tarefas do próprio App Engine para visitar alguma página do site a cada minuto, mantendo assim uma instância da aplicação sempre ativa. A Google diz estar estudando outra forma de contornar o problema. Referências Considerações finais A solução de Cloud Computing da Google certamente tem atraído grande atenção. Por um baixo custo, é possível obter, com este serviço, um alto nível de segurança e escalabilidade, além de 34

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

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com Google App Engine Natal, 24 de maio de 2012 andregustavoo@gmail.com Sumário Introdução Instalação Aplicação Exemplo Implantação Conclusão Introdução Google App Engine developers.google.com/appaengine Permite

Leia mais

Uma introdução ao Google App Engine com GWT

Uma introdução ao Google App Engine com GWT : : www.mundoj.com.br : : Uma introdução ao Google App Engine com GWT Desenvolvendo Java em Cloud Computing. Luiz Felipe Gomes Teixera É desenvolvedor Java na IPNET Soluções com ênfase em aplicações em

Leia mais

para persistência de objetos na Google App Engine

para persistência de objetos na Google App Engine capa_ Usando JSON para persistência de objetos na Google App Engine A criação de aplicações de larga escala com dados distribuídos exige que repensemos nossos modelos de persistência de objetos. Ambientes

Leia mais

Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE. Elias Adriano - UFSCar Daniel Lucrédio - UFSCar

Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE. Elias Adriano - UFSCar Daniel Lucrédio - UFSCar Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE Elias Adriano - UFSCar Daniel Lucrédio - UFSCar III Workshop Brasileiro de Desenvolvimento de Software Dirigido por Modelos

Leia mais

Criando uma plataforma mundial para engajamento de usuários para a Copa do Mundo 2014 na nuvem da Google

Criando uma plataforma mundial para engajamento de usuários para a Copa do Mundo 2014 na nuvem da Google Criando uma plataforma mundial para engajamento de usuários para a Copa do Mundo 2014 na nuvem da Google Daniel Viveiros - Head of Technology Twitter: @dviveiros Site: http://www.ciandt.com/u/viveiros

Leia mais

Alexandre Malveira, Wolflan Camilo

Alexandre Malveira, Wolflan Camilo Alexandre Malveira, Wolflan Camilo Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

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

Heroku. Implantando Aplicações Java no. heroku_. Descubra como é fácil ter sua aplicação rodando em Cloud Computing 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

Leia mais

Ricardo R. Lecheta. Novatec

Ricardo R. Lecheta. Novatec Ricardo R. Lecheta Novatec Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7 Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação: Habilitação Técnica de Nível Médio Técnico em Informática Programação Android na IDE Eclipse PROGRAMANDO ANDROID

Leia mais

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. EDSON GONÇALVES Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. AGRADECIMENTOS Primeiramente gostaria de agradecer

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

Leia mais

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 CLOUD COMPUTING PEDRO MORHY BORGES LEAL MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 0 CLOUD COMPUTING 1 1. Introdução Com o grande avanço da tecnologia de processadores,

Leia mais

Integrando Eclipse e Websphere Application Server Community Edition

Integrando Eclipse e Websphere Application Server Community Edition 1 Integrando Eclipse e Websphere Application Server Community Edition Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento

Leia mais

Evolução do Design através de Testes e o TDD

Evolução do Design através de Testes e o TDD c a p a Lucas Souza (lucas.souza@caelum.com.br): é bacharel em Engenharia da Computação pela Universidade de Ribeirão Preto, possui a certificação SCJP e trabalha com Java há 4 anos. Atualmente é desenvolvedor

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift Prof. Charles Christian Miers e-mail: charles.miers@udesc.br OpenShift Solução livre de PaaS da RedHat Aquisição da Makara em 2010 Principais concorrentes:

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 5 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM DEZEMBRO / 2014 2 de 5 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Levantamento sobre Computação em Nuvens

Levantamento sobre Computação em Nuvens Levantamento sobre Computação em Nuvens Mozart Lemos de Siqueira Doutor em Ciência da Computação Centro Universitário Ritter dos Reis Sistemas de Informação: Ciência e Tecnologia Aplicadas mozarts@uniritter.edu.br

Leia mais

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

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa _capa Integrando Aplicações Java com o Facebook Descubra como é fácil criar uma aplicação para rodar no Facebook Desde o lançamento oficial do Facebook, em 2004, o número de usuários vem aumentando a cada

Leia mais

Práticas de Desenvolvimento de Software

Práticas de Desenvolvimento de Software Aula 8. 13/04/2015. Práticas de Desenvolvimento de Software Aula 8 - Arquitetura e infraestrutura de aplicações Web. Oferecimento Modelo cliente-servidor (1) Cliente Rede scheme://domain:port/path?query_string#fragment_id

Leia mais

CS-14. Algoritmos e Estrutura de Dados em Java

CS-14. Algoritmos e Estrutura de Dados em Java CS-14 Algoritmos e Estrutura de Dados em Java A Caelum atua no mercado com consultoria, desenvolvimento e ensino em computação. Sua equipe participou do desenvolvimento de projetos em vários clientes e,

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Manual de Integração WebService

Manual de Integração WebService Manual de Integração WebService Sumário 1. O que é a Integração WebService? 2. Envio Simples 3. Consultar Status da Mensagem 3.1 Consultar Mensagens Recebidas 4. Tecnologia do WebService Facilita 1. O

Leia mais

APLICATIVO PARA OFERTA E OBTENÇÃO DE CARONAS NA PLATAFORMA ANDROID

APLICATIVO PARA OFERTA E OBTENÇÃO DE CARONAS NA PLATAFORMA ANDROID UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO APLICATIVO PARA OFERTA E OBTENÇÃO DE CARONAS NA PLATAFORMA ANDROID João Paulo Conceição Prof. Jacques Robert Heckmann, Orientador

Leia mais

Arquitetura da Aplicação Web (Comunicação Cliente/Servidor)

Arquitetura da Aplicação Web (Comunicação Cliente/Servidor) Desenvolvimento de Sistemas Web Arquitetura da Aplicação Web (Comunicação Cliente/Servidor) Prof. Mauro Lopes 1-31 25 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

Persistência de Dados em Java com JPA e Toplink

Persistência de Dados em Java com JPA e Toplink Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida

Leia mais

Java Server Pages: Apresentação e Instalação

Java Server Pages: Apresentação e Instalação 1 Java Server Pages: Apresentação e Instalação Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Apresentar a tecnologia Java Server Pages; Instalar e configurar

Leia mais

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br Fatos e Mitos do Java EE Fernando Lozano Consultor 4Linux lozano@4linux.com.br O Que É o Java EE? É um padrão de bibliotecas e componentes (APIs) para a criação de aplicações corporativas Também é um padrão

Leia mais

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

AJAX no GASweb. Mas e afinal, para que usamos o AJAX? Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

AVG Admin 2012 SQL Server 2005 Express

AVG Admin 2012 SQL Server 2005 Express AVG Admin 2012 SQL Server 2005 Express Conteúdo: 1. INSTALAÇÃO DO SQL SERVER 2005 EXPRESS... 3 1.1. Microsoft.Net Framework 2.0... 3 1.2. Microsoft SQL Server 2005 Express... 3 2. INSTALAÇÃO E CONFIGURAÇÃO

Leia mais

Java EE 6. A revolução do. Um overview sobre as novidades da JSR 316. a r t i g o

Java EE 6. A revolução do. Um overview sobre as novidades da JSR 316. a r t i g o a r t i g o Pedro Henrique S. Mariano (pedro.mariano@caelum.com.br) técnologo em Análise e Desenvolvimento de Sofware pela FIAP, possui as certificações SCJP 6 e SCRUM master.trabalha como consultor e

Leia mais

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS WWW.DESAFIO3MINUTOS.COM.

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS WWW.DESAFIO3MINUTOS.COM. 11/2015 UM SITE SITE EM EM UM 3 APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS MINUTOS V1.1 WWW.DESAFIO3MINUTOS.COM.BR ELIELBARONE RUBY ON RAILS O que é? Ruby on Rails é um framework,

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

IDictionary

IDictionary<String, Object> 3 1OWIN E KATANA Durante anos, a plataforma ASP.NET dependeu sempre do IIS (Internet Information Server) para efetuar o hosting de aplicações Web. Com o lançamento de novas plataformas de alto nível como,

Leia mais

Parte I. Demoiselle Vaadin

Parte I. Demoiselle Vaadin Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características

Leia mais

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS.

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. A computação em nuvem é uma mudança de paradigma no gerenciamento de TI e de datacenters, além de representar a capacidade da TI

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Como sobreviver com Java 2? Saulo Arruda

Como sobreviver com Java 2? Saulo Arruda Como sobreviver com Java 2? Saulo Arruda Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões Apresentação Saulo Arruda (http://sauloarruda.eti.br) Trabalha com

Leia mais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação alyssonfm@lcc.ufcg.edu.br Maio - 2010 Agenda GWT Vantagens Desvantagens Exemplificação de códigos GWT

Leia mais

otimizando níveis de serviço em implantações na nuvem pública

otimizando níveis de serviço em implantações na nuvem pública DOCUMENTAÇÃO TÉCNICA otimizando níveis de serviço em implantações na nuvem pública chaves para o gerenciamento de serviços efetivo agility made possible sumário resumo executivo 3 Introdução: modelos de

Leia mais

Soluções IBM SmartCloud. 2014 IBM Corporation

Soluções IBM SmartCloud. 2014 IBM Corporation Soluções IBM SmartCloud Estratégia de Cloud Computing da IBM Business Process as a Service Software as a Service Platform as a Service Infrastructure as a Service Design Deploy Consume Tecnologias para

Leia mais

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Sumep Julho/2006 PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Objetivo

Leia mais

Tuning Apache/MySQL/PHP para Desenvolvedores. By Douglas V. Pasqua Zend Certified Engineer / LPI / SCJP douglas.pasqua@gmail.com

Tuning Apache/MySQL/PHP para Desenvolvedores. By Douglas V. Pasqua Zend Certified Engineer / LPI / SCJP douglas.pasqua@gmail.com Tuning Apache/MySQL/PHP para Desenvolvedores By Douglas V. Pasqua Zend Certified Engineer / LPI / SCJP douglas.pasqua@gmail.com Objetivos Dicas de Tuning para Apache/MySQL e PHP. Parâmetros de configuração

Leia mais

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 4 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) A sabedoria não se transmite, é preciso que nós a descubramos fazendo uma caminhada que ninguém

Leia mais

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

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

Minicurso Computação em Nuvem Prática: AWS

Minicurso Computação em Nuvem Prática: AWS Grupo de Pesquisa em Software e Hardware Livre Glauber Cassiano Batista Membro Colméia glauber@colmeia.udesc.br Joinville Minicurso Computação em Nuvem Prática: AWS Roteiro Definições Virtualização Data

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS FOZ DO IGUAÇU 2013 SUMÁRIO 1. PERSISTÊNCIA

Leia mais

EMBRATEL ENTREVISTA: Pietro Delai IDC Brasil DATA CENTER VIRTUAL - DCV

EMBRATEL ENTREVISTA: Pietro Delai IDC Brasil DATA CENTER VIRTUAL - DCV EMBRATEL ENTREVISTA: Pietro Delai IDC Brasil DATA CENTER VIRTUAL - DCV DATA CENTER VIRTUAL - DCV Em entrevista, Pietro Delai, Gerente de Pesquisa e Consultoria da IDC Brasil relata os principais avanços

Leia mais

DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT

DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT Prof. Marcos Vinicius Fidelis Universidade Tecnológica Federal do Paraná Campus Ponta Grossa Universidade Estadual de Ponta Grossa ROTEIRO O Legado Vitórias

Leia mais

Gerenciamento de desempenho de aplicativos seguro, confiável e comprovado para empresas. Whitepaper

Gerenciamento de desempenho de aplicativos seguro, confiável e comprovado para empresas. Whitepaper Gerenciamento de desempenho de aplicativos seguro, confiável e comprovado para empresas Whitepaper O DESEMPENHO NA WEB É IMPORTANTE PARA OS NEGÓCIOS Sua companhia depende de seus aplicativos da Web para

Leia mais

Guia de administração. BlackBerry Professional Software para Microsoft Exchange. Versão: 4.1 Service pack: 4B

Guia de administração. BlackBerry Professional Software para Microsoft Exchange. Versão: 4.1 Service pack: 4B BlackBerry Professional Software para Microsoft Exchange Versão: 4.1 Service pack: 4B SWD-313211-0911044452-012 Conteúdo 1 Gerenciando contas de usuários... 7 Adicionar uma conta de usuário... 7 Adicionar

Leia mais

Weather Search System

Weather Search System Weather Search System PROJECTO DE COMPUTAÇÃO EM NUVEM RELATÓRIO Grupo 2 Gonçalo Carito - Nº57701 Bernardo Simões - Nº63503 Guilherme Vale - Nº64029 Índice Weather Search System...1 1. A Solução Implementada...3

Leia mais

Millennium ECO 2.0 (beta)

Millennium ECO 2.0 (beta) MILLENNIUM NETWORK Millennium ECO 2.0 (beta) Documentação Técnica (draft) 10/2013 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS

MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS MONITOR E PREDITOR DE CONECTIVIDADE WIRELESS BASEADA EM LOCALIZAÇÃO GPS Aluna: Eleonora Cominato Weiner Orientador: Markus Endler Introdução A palavra mobilidade ganha mais importância a cada instante,

Leia mais

JPA Java Persistence API. Prof. Ramon Chiara

JPA Java Persistence API. Prof. Ramon Chiara JPA Java Persistence API Prof. Ramon Chiara JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados JDBC Aplicação JDBC Driver Banco de Dados JDBC Java DataBase Connectivity

Leia mais

Fábio Magalhães RA015998

Fábio Magalhães RA015998 Fábio Magalhães RA015998 Exercício-7 (Track: Big Data) Considere os pontos tratados nos caps. 5 a 7. a. Escreva um texto (1 página) sobre pontos em comum e distintos entre Standards e Specifications. Cite

Leia mais

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec Construindo Aplicações Web com PHPe MySQL André Milani Novatec Capítulo 1 Bem-vindo ao PHP Seja bem-vindo ao PHP! O primeiro capítulo deste livro aborda como obter, instalar e configurar corretamente o

Leia mais

Instalação do Java SDK (Software Development Kit)

Instalação do Java SDK (Software Development Kit) ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos PMR 2300 Computação para Automação 1 o Semestre 2005 Instalação do Java SDK (Software Development

Leia mais

Computação nas Nuvens

Computação nas Nuvens Computação nas Nuvens TÓPICOS Introdução Internet: O fundamento principal O que é Computação em Nuvens Vantagens Dúvidas Corrida pela tecnologia Trabalhos Futuros Conclusão Referências 2 TÓPICOS Introdução

Leia mais

Agenda CLOUD COMPUTING I

Agenda CLOUD COMPUTING I Agenda O que é Cloud Computing? Atributos do Cloud Computing Marcos do Cloud Computing Tipos do Cloud Computing Camadas do Cloud computing Cloud Computing Tendências O Cloud Computing do Futuro Pros &

Leia mais

Análise de Sistemas I: Programação em Nuvem. Luiz Filipe Licidonio. Faculdade de Tecnologia Pastor Dohms. Porto Alegre, Rio Grande do Sul

Análise de Sistemas I: Programação em Nuvem. Luiz Filipe Licidonio. Faculdade de Tecnologia Pastor Dohms. Porto Alegre, Rio Grande do Sul 1 Análise de Sistemas I: Programação em Nuvem Luiz Filipe Licidonio Faculdade de Tecnologia Pastor Dohms Porto Alegre, Rio Grande do Sul luiz_np_poa@hotmail.com 2 Análise de Sistemas I: Programação em

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

Ricardo R. Lecheta. Novatec

Ricardo R. Lecheta. Novatec Ricardo R. Lecheta Novatec Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer

Leia mais

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos.

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos. Criando Frameworks Inteligentes com PHP Uma abordagem prática: vantagens, aplicações e procedimentos. Apresentação Equipes ao redor do mundo utilizam diferentes padrões de projeto, de acordo com suas necessidades

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Auditoria Avançada de Persistência com Hibernate, JPA e Envers

Auditoria Avançada de Persistência com Hibernate, JPA e Envers a r t i g o José Yoshiriro Ajisaka Ramos (jyoshiriro@gmail.com): bacharel em Sistema de Informação (IESAM). Mestrando em Ciência da Computação (UFPA). Instrutor na Equilibrium Web e na UAB. Engenheiro

Leia mais

CA Nimsoft Monitor. Guia do Probe Monitoramento de conectividade de rede. net_connect série 3.0

CA Nimsoft Monitor. Guia do Probe Monitoramento de conectividade de rede. net_connect série 3.0 CA Nimsoft Monitor Guia do Probe Monitoramento de conectividade de rede net_connect série 3.0 Aviso de copyright do CA Nimsoft Monitor Este sistema de ajuda online (o Sistema ) destina-se somente para

Leia mais