Compweek

29
Java nas Nuvens: Uma abordagem de Cloud Computing com Java Thiago Gonzaga Java Noroeste

Transcript of Compweek

Page 1: Compweek

Java nas Nuvens:Uma abordagem de Cloud Computing com Java

Thiago GonzagaJava Noroeste

Page 2: Compweek

Agenda

Quem?!

Java?! Que saci é esse?

Cloud Computing?! Que saci é esse, parte 2?

Google App Engine

Por quê Java?

Por onde começo?

JSP

Servlets

Banco de Dados NoSQL (Big Table)

Mapeamento Objeto-Relacional e Persistência

Java Noroeste

Page 3: Compweek

Quem é esse LOKO?!

Estudante de computação

Trabalhou na Sun Microsystems (hoje, Oracle) por 2 anos.

Programador Java há +5 anos.

Palestrante em vários eventos: Campus Party, Just Java, etc

Coordenador do Java Noroeste

Membro fundador e organizador do projeto Java Day

E Professor de Inglês!!!

Page 4: Compweek

JAVA?! QUE SACI É ESSE?!

Page 5: Compweek

O que é Java?

Linguagem de programação + Plataforma

Page 6: Compweek

Linguagem

Alto nível Híbrida Compilada para bytecodes Orientada a objetos Sintáxe semelhante ao C++ Robusta e altamente escalável Multiplataforma

Page 7: Compweek

Plataforma

Java Virtual Machine Responsável por tornar Java multiplataforma Interpreta bytecodes e tranforma em linguagem

de máquina JIT (Just-in-Time Compiler) Sandbox Garbage Collector

Page 8: Compweek

Processo do Código

Page 9: Compweek

Ou seja...

Page 10: Compweek

QUE DIFERENÇA ISSO FAZ?!

Page 11: Compweek

Essa...

Page 12: Compweek

CLOUD COMPUTING?! QUE SACI É ESSE? PARTE 2

Page 13: Compweek

Cloud Computing

informações são processadas e armazenadas em diversos servidores (centenas, muitas vezes milhares deles) espalhados pela Internet.

Transparência Internet = Nuvem (Cloud) Serviço Pague pelo que usar Melhor aproveitamento dos recursos

Page 14: Compweek

Cloud Computing

Serviços na Cloud: IaaS (Infrastructure as a Service, ou

Infraestrutura como Serviço) PaaS (Platform as a Service, ou Plataforma

como Serviço) SaaS (Software as a Service, ou Software

como Serviço)

Page 15: Compweek

Google App Engine

PaaS Conjunto de tecnologias para criar e hospedar

aplicativos da web Java Python BigTable (NoSQL) Alta disponibilidade Gratuito até certo ponto

Page 16: Compweek

Por Quê Java?

Plataforma JVM JIT Sandbox Escalabilidade Scala, PHP, Ruby, Python, ...

Page 17: Compweek

Por onde começo?

Baixe o Eclipse Baixe o SDK

Page 18: Compweek

Problema

Cadastro de participantes do evento

Page 19: Compweek

Vamos por partes...

Módulos: Cadastro Edição Remoção de registros Busca de um registro

Page 20: Compweek

JSP

Java Server Pages Integração Cliente/Servidor Utiliza 2 padrões de codificação: Java e JSP

tags O conteúdo é gerado no servidor e

transformado em HTML. Similar ao PHP e ASP.

Page 21: Compweek

Exemplo

Tags:<%@ page contentType="text/html;charset=UTF-8" language="java" %> (obrigatória no topo de toda página JSP antes de qualquer html)

<%@ page import="java.util.List" %> (imports da página)

Java: <% out.println(”Hello World!”) %> - Todo código java vai

entre ”<% %>”

Page 22: Compweek

Servlets

Miniservidores Recursos disponiveis na parte do servidor Acesso via GET ou POST Acesso direto ao Banco de Dados

Page 23: Compweek

NoSQL

Sistema simples Geralmente arquivo de texto plano Sem relacionamentos Mais rápido Problema de consistência de dados Pode ser resolvido via código

Page 24: Compweek

Mapeamento Objeto/Relacional

Define a tabela do banco em um POJO (Plan Old Java Object)

Persistentes JPA (Java Persistence API) Simples de usar Pode trabalhar em conjunto com outros

frameworks, como Hibernate ou TopLink

Page 25: Compweek

Exemplo@Entitypublic class Participante {

@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String nome;private String email;

public Long getId() {return id;}

public String getNome() {return nome;}

public void setNome(String nome) {this.nome = nome;}

public String getEmail() {return email;}

public void setEmail(String email) {this.email = email;}

}

Page 26: Compweek

Prática

Page 27: Compweek

Java Noroeste

Grupo de usuários Java Lista de e-mails Mais de 1000 usuários cadastrados Um dos maiores grupos do Brasil Dúvidas Eventos Região de Rio Preto Site: www.javanoroeste.com.br

Page 28: Compweek

DÚVIDAS

?!

Page 29: Compweek

OBRIGADO!Java nas Nuvens:Uma abordagem de Cloud Computing com Java

Thiago GonzagaTwitter: @thiago_javaboyFacebook: http://www.facebook.com/thiago.gonzaga